Other features
Table of contents
Transcoding
Profiles
UPnP Search
Extended metadata [NEW]
User interface translation
Searching for artist roles
Numeric sorting
HTTP server port
UPnP service port
UPnP subnet
Custom tag settings
Custom UPnP settings
Delaying startup
All tags summary
Tag update
Tag update file
Server options
Index artwork
Language
Show all discs
Resource information
Flow control
Custom MIME types
Transcoding
Transcoding for MinimServer is provided by the optional MinimStreamer package. See the MinimStreamer website for details.
Note: This feature requires a MinimServer full license.
Profiles
MinimServer 2 supports configuration profiles. A profile is a named combination of configuration settings. You can use the MinimServer 2 configuration web page (see the Configuration web page section) to create profiles for different combinations of configuration settings and change your active profile.
When you first start MinimServer, the default profile is active. Any changes you make to your configuration settings are stored in the default profile.
To create a new profile, select the Profiles tab on the configuration web page to show the Profiles page. From the Profiles page, select Create. Enter the name for your new profile and click the Create Profile button. The newly created profile will have the same settings as your current active profile (a clone) and will become your active profile. Any further changes you make to configuration settings will be stored in the new profile.
You can create any number of profiles, each with a different name. To select a profile, use the Select tab from the Profiles page. The configuration settings from the selected profile will be applied to MinimServer and the selected profile will becaome your active profile.
From the Profiles page, you can also view the contents of a profile, rename or delete a profile, reset a profile to the MinimServer default settings, export (download) a profile or import (upload) a profile. Exporting a profile provides a backup record of your MinimServer configuration settings, which can be important if you lose your MinimServer configuration settings for any reason.
Profiles are also useful for experimenting with new configuration settings. Start by creating a test profile, then apply your experimental changes to the test profile. If you decide you want to go back to the settings you had previously, select your original profile.
Note: Creating, renaming, exporting, importing or deleting a profile requires a MinimServer full license.
UPnP Search
MinimServer supports UPnP Search. If your control point supports UPnP Search, you can use your control point to do full-text searches of the contents of your MinimServer library.
User interface translation
From version 2.0.12 onwards, MinimServer 2 supports translation (localization) of all user interface elements that can be displayed in a UPnP control point (menu selections). Other aspects of the user interface such as MinimWatch and the configuration web pages are in English only.
At present, MinimServer 2 has built-in translations for the following languages:
- English
- French
- German
- Japanese
- Simplified Chinese
- Traditional Chinese
You can customize MinimServer's translations for these languages and you can add your own translations for other languages.
By default, the user interface language used by MinimServer
is the language setting of the device you are using to run MinimServer.
You can use the language
option of the serverOptions
property to
change the user interface language to a different language
(see the Language section).
To view the built-in translations, do the following:
-
Find the translation defaults file for the language that you want to use.
This file is named ServerBundle_xxx.defaults where xxx is one of the following
language identifiers:
These files are located in ande
(German) en
(English) fr
(French) ja
(Japanese) zh_Hans
(Simplified Chinese) zh_Hant
(Traditional Chinese) etc
folder whose location depends on the device you are using to run MinimServer, described below. -
On a Synology NAS or QNAP NAS, the
etc
folder is in theMinimServer
shared folder. On Windows, theetc
folder is in theC:\Users\your-user-name\AppData\Roaming\MinimServer
folder. On a Mac, theetc
folder is in the/Users/your-user-name/Library/MinimServer
folder. On a Melco N1Z or N1A (not EX series), theetc
folder is in theMinimServer
subfolder of the 'share' shared folder. On other Melco models, theetc
folder is in theMinimServer
subfolder of the 'Logs' shared folder. - Use a text editor to view the contents of this file. Values that contain non-ASCII characters are encoded as UTF-8.
To customize one of the built-in translations, do the following:
-
Find the
etc
folder and the translation defaults file for the language that you want to customize (see above). -
Create a new file in the same folder for your customized translations.
This file must be named ServerBundle_xxx.properties where xxx is
one of the language identifiers listed above
(
de
,en
,fr
,ja
,zh_Hans
orzh_Hant
). -
The new file should contain only the keys and values that you want to change from
the values provided in the translation defaults file. For example, the
ServerBundle_fr.defaults
file contains the linetext.folder_view = [Répertoires]
To change the displayed text from[Répertoires]
to[vue par dossier]
, yourServerBundle_fr.properties
file should contain the linetext.folder_view = [vue par dossier]
All thetext.
settings in the translation defaults file can be customized in this way. Values that contain non-ASCII characters must be encoded as UTF-8. -
The lines in the translation defaults file starting with
tag.
provide translations for tag names in the MinimServer index. The translation defaults file contains some sample tag names with translations. You can change the translations for these tag names and you can also add new tag names with translations. For example, theServerBundle_de.defaults
file contains the linetag.artist = Interpret
To change the text displayed fromInterpret
toKünstler
, yourServerBundle_de.properties
file should contain the linetag.artist = Künstler
You could also add the linetag.comment = Kommentar
to yourServerBundle_de.properties
file to provide a translation for the Comment tag. - The settings in your properties file are applied automatically when you restart MinimServer 2 with a user interface language setting that matches the language code of the properties file. You might need to restart your control point to see the new translations.
To add a translation for a new language, do the following:
-
Find the
etc
folder as described above. -
Copy one of the translation defaults files in the
etc
folder to a new file in theetc
folder. This new file must be named ServerBundle_xxx.properties where xxx is an ISO 639-1 or ISO 639-2 language code as listed on this page. For languages that have both a two-letter ISO 639-1 code and a three-letter ISO 639-2 code, the two-letter code must be used. For example, Italian has the two-letter code 'it' and the three-letter code 'ita', so you need to specify 'it'. - Edit the copied file to provide the translations that you want to use. Values that contain non-ASCII characters must be encoded as UTF-8.
- The settings in your properties file are applied automatically when you restart MinimServer 2 with a user interface language setting that matches the language code of the properties file. You might need to restart your control point to see the new translations.
Please consider contributing your new or improved translations so that they can become part of MinimServer 2. To do this, post to the MinimServer forum. Many thanks!
Searching for artist roles
MinimServer supports UPnP Search queries for artist roles. If your control point supports this capability, you can search your library for matches based on artist roles such as Composer or Conductor. For example, a control point could send MinimServer any of the following search queries:
- A query for albums or items that match "Tallis" as either an artist or a composer, returning a list of albums or items with the artist "The Tallis Scholars" or the composer "Thomas Tallis"
- A query for albums or items that match "Tallis" as an artist, returning a list of albums or items with the artist "The Tallis Scholars" but not any additional albums or items with the composer "Thomas Tallis"
- A query for albums or items that match "Tallis" as a composer, returning a list of albums or items with the composer "Thomas Tallis" but not any additional albums or items with the artist "The Tallis Scholars"
The dCS Mosaic control point supports UPnP Search queries for artist roles.
As a further enhancement, MinimServer supports grouping search results by artist roles. For example, a control point could send MinimServer a search query for composers that match "Gabrieli" with results grouped by composer name. This query would find all items with the composer "Andrea Gabrieli" or "Giovanni Gabrieli" but would not find any additional items with the artist "Gabrieli Consort". The search results would be a list of matching composer names and selecting any of these composer names would show all matching albums, items and index tags for the selected composer.
Extended metadata [NEW]
The UPnP specification defines a number of standard metadata properties that a UPnP server can send to a UPnP control point in response to a Browse or Search request.
From MinimServer update 246, a control point can request additional metadata that is not available
in these standard properties. The control point requests this additional metadata using a
Filter string in a UPnP Browse or Search request.
This additional metadata is sent using the upnp:userAnnotation
property
and is available for items with the UPnP class object.item.audioItem.musicTrack
.
For example, a control point that wants to obtain Work information using this feature
would send the Filter string upnp:userAnnotation[tag.Work]
on a Browse or
Search request. The DIDL-Lite metadata returned by MinimServer for a file with the Work tag
Mass
in
B
Minor
would include
<upnp:userAnnotation>tag.Work=Mass
in
B
Minor</upnp:userAnnotation>
.
This feature can be used to obtain metadata tagged as Group, DiscNumber, DiscSubtitle or any
tag listed in the MinimServer indexTags
or itemTags
properties that
does not correspond to a standard UPnP metadata property.
The JPLAY control point uses this feature to obtain Work metadata from a MinimServer library.
Note: This feature requires a MinimServer full license.
Numeric sorting
MinimServer uses a combination of alphabetic and numeric sorting. Positive integers in tag values are sorted in numeric order, so "Symphony 2" is sorted before "Symphony 10". Adding a leading zero to a number produces a smaller sort value, so "02" is sorted before "2" and after "1".
HTTP server port
MinimServer includes an HTTP server for use by music browsers
and music players to retrieve audio files and image data. By default,
this HTTP server listens on port 9790. If you want to change this
port number to some other value (for example, to avoid a conflict with another
application that's using the same port), you can set the http.port
property
to any available port number.
This port is also used for viewing the MinimServer configuration page in a web browser. For details, see the Configuration web page section.
UPnP service port
MinimServer uses the value of the ohnet.port
property
as the preferred port number for UPnP service communication
that will be advertised to control points using the standard
mechanisms in the UPnP discovery protocol.
If the specified port number is not available, MinimServer
allocates a port number dynamically. The default value for the ohnet.port
property is 9791.
It's important to set the ohnet.port
property to a different port number
than the http.port
property. Also, after changing the ohnet.port
setting, you need to do a complete restart of the MinimServer application,
not just a media server restart from the minim icon. For example, if you're running
MinimServer on a QNAP NAS, you need to disable and enable MinimServer from the QNAP
administrator console. This is because a restart from the minim icon
doesn't restart the ohNet UPnP stack.
UPnP subnet
MinimWatch communicates with MinimServer using a single subnet only. If you have multiple
active network adapters (real or virtual) on the machine running MinimWatch and these adapters
are configured to use different subnets, it is unpredictable which adapter and subnet will be
chosen by MinimWatch. If the wrong adapter and subnet is chosen, MinimWatch might not be able
to discover and communicate with MinimServer. You can solve this problem by setting the
ohnet.subnet
property on the MinimWatch properties page (not the MinimServer properties
page) to the subnet you want MinimWatch to use. To display the MinimWatch properties page,
select Options
followed by Properties
(watch)
from the minim icon.
By default, the MinimServer media server communicates with control points and media renderers
on all available subnets except for the loopback subnet. In some situations, you might want to
configure the MinimServer media server with access to a single specific subnet, which could be
the loopback subnet. You can do this by setting the ohnet.subnet
property on
the MinimServer properties page to the specific subnet you want MinimServer to use.
To display the MinimServer properties page, select Properties
from the minim icon.
The ohnet.subnet
property value must be a valid IPv4 address (n.n.n.n with 0 ≤ n ≤ 255).
This value is compared with the masked addresses of all available subnets.
The first available subnet that produces a match is used.
If there is no matching available subnet, an error is raised.
As an example, if the devices you want to access from MinimWatch or MinimServer are
are in the range between 192.168.1.1 and 192.168.1.254, the ohnet.subnet
property
should be set to 192.168.1.0.
Custom tag settings
The tagCustom
property has been removed in MinimServer 2 and
replaced with the new upnpCustom
property. The upnpCustom
property works in a
different way than tagCustom
and only needs to be set in some very unusual cases. For
more information about the upnpCustom
property, see the Custom UPnP settings section.
The remainder of this section describes the tagCustom
property (used by MinimServer 0.8)..
There are variations in how different control points interpret the XML metadata that MinimServer sends to the control point. To accommodate these differences, MinimServer provides settings that allow you to customize some aspects of this XML metadata.
The settings described in this section control the format of the XML metadata for tracks and albums that MinimServer sends to the control point. For most control points, this metadata is used to display track and album information on the Now Playing screen and for playlists and album contents.
These settings don't affect the contents of the index lists that MinimServer creates and sends to the control point when you are browsing your library. However, some control points (for example, the LUMIN app) create their own index lists using XML metadata information and these index lists might be affected by these settings.
You can use the tagCustom
property to specify a comma-separated list
of settings for special handling of XML metadata sent to the control point. Each setting consists of
the audio tag name to which it applies (such as Composer or AlbumArtist) followed by the setting name.
If the setting requires a value, the setting name is followed by an equals sign and
curly braces enclosing the value.
For example, Composer.displayRole={artist}
specifies the value
'artist
' for the
'displayRole
' setting for the Composer tag.
For settings that don't have a value, the setting can optionally be preceded by '+
'
to enable the setting or '-
'
to disable it. If neither of these is specified, '+
' is assumed.
For example,
-AlbumArtist.display.multiTag
disables the
'display.multiTag
' setting for the AlbumArtist tag.
A setting can be applied to all audio file tags by using the special value 'all
' or '[all]
'
as the audio tag name. For example,
all.display.multiTag
enables the 'display.multiTag
' setting for all audio tags.
This 'all
' setting can be overriden for individual audio tags. For example,
all.display.multiTag,
-Genre.display.multiTag
enables the 'display.multiTag
' setting for all audio tags except Genre.
The following settings are available:
display.multiTag |
If this setting is disabled (the default value) and there are multiple values for the same
audio file tag
(such as Artist or Genre), these values
are combined and sent to the control point as a single XML tag. The contents of this
XML tag can be customized using the displayFormat
setting of the tagFormat property (see the
Tag formatting section).
If this setting is enabled and there are multiple values for the same audio file tag (such as Artist or Genre),
these values are sent to the control point as separate XML tags. This setting is useful for control points
that can handle multiple XML tags of the same type, such as the LUMIN app.
In this case, the |
displayRole |
This setting requires a value. The value is a string containing
'artist ' or 'author or both of these
separated by a comma. MinimServer sets an initial
default value of 'artist ' for AlbumArtist and also sets an initial
default value of 'artist ' for Composer if this appears in the
indexTags or itemTags property.
You can change or remove these settings if necessary.
If ' artist ', you can change the setting
to 'author '. (This setting is needed for ChorusDS.)
If you're using multiple control points that expect this information
to be sent in different formats, you can use the setting 'artist, author '
to send both XML tags.
|
Custom UPnP settings
The tagCustom
property has been removed in MinimServer 2 and
replaced with the new upnpCustom
property.
The upnpCustom
property can be used to enable MinimServer to work correctly with some control
points that don't implement the UPnP protocol according to commonly accepted industry standards.
At the time of writing (February 2020) there are very few such control points still in use.
This means that only a very small number of users will need to set this property.
If MinimServer is displaying unexpected information in your control point, please post to the MinimServer forum for advice. It is possible that you might be asked to set this property to a suggested value to see if this solves the problem. In all other cases, you should not set this property,
Delaying startup
You can use the delayStart
property to delay MinimServer or MinimWatch
by a specified number of seconds during the startup phase.
For example, this can be useful when a MinimServer content directory is on an external or networked disk
which isn't yet mounted when MinimServer is started (for example, when resuming
or restarting a Mac).
All tags summary
You can see a summary of all the tags in your audio files by
setting the writeAllTags
property to the name of an "all tags" file into which
MinimServer will write a sorted list of all tag names and values in your audio files.
By default, the "all tags" file will be written in the log file default location (see
this section).
For example, specifying the filename alltags.txt
will cause MinimServer to write
the file alltags.txt
in the log file default location.
To write the file in a different location, you can specify a fully qualified filesystem path
for some other location on the computer or NAS where MinimServer is running.
For example, specifying the path /Users/myuser/alltags.txt
will cause MinimServer to write
the file alltags.txt
in the folder /Users/myuser
.
The data written doesn't include
any tag changes made by the aliasTags
and tagUpdate
properties.
This file is written or rewritten every time MinimServer rescans the library.
You can initiate a rescan by selecting Rescan from the minim icon
(see this section)
or by using the rescan
command from the console interface
(see this section).
MinimServer also does a rescan on startup if the startupScan
property
is set to true
or full
.
Note: Restarting MinimServer by selecting Restart from the minim icon
or by using the restart
command from the console interface does not perform a rescan.
Similarly, relaunching MinimServer by selecting Relaunch from the Packages tab or by
using the relaunch
command from the console interface does not perform a rescan.
The contents of the "all tags" file can be useful as a template for copying the correct format of tag values into a tag update file.
Tag update
When MinimServer reads tag data from your audio files, you can apply tag updates (changes, additions and deletions) to the tag data that MinimServer uses internally. This is similar to performing a global search and replacement operation on all the tag data in all your music files, expect that the changes are made internally within MinimServer and don't affect the contents of your audio files on disk.
The tag update facility can be useful for making experimental changes to your tags without changing your audio files. For example, if you're considering reorganizing some aspects of the way you index your library, you might find it helpful to try out the effect of these changes before you apply them permanently to your audio files.
To use the tag update facility, you need to
set the tagUpdate
property to the name of a tag update file.
By default, MinimServer will look for this file in the log file default location
(see this section).
For example, specifying the filename tagupdate.txt
will cause MinimServer to use
the file tagupdate.txt
in the log file default location.
You can use a different location for this file by specifying a fully qualified filesystem path
for some other location on the computer or NAS where MinimServer is running.
For example, specifying the path /Users/myuser/tagupdate.txt
will cause MinimServer to use
the file tagupdate.txt
in the folder /Users/myuser
.
The tag update file contains one or more groups of search and replacement operations. For example, to replace all Composer tags for 'J. S. Bach' with the value 'Johann Sebastian Bach', your tag update file would contain the following lines:
@COMPOSER=J. S. Bach
=COMPOSER=Johann Sebastian Bach
This performs a simple one-for-one replacement of one tag
value by another. You can also add tag values. For example, if you want to replace the single tag
ARTIST=John Eliot Gardiner, The Monteverdi Choir
with separate tags for Artist and Conductor, you can put the following in your
tag update file:
@ARTIST=John Eliot Gardiner, The Monteverdi Choir
=ARTIST=The Monteverdi Choir
+CONDUCTOR=John Eliot Gardiner
We've seen how to replace a single tag value. In some cases,
you need to be able to look for a combination of tags. For example, to invert the above change
by replacing the pair of tags
CONDUCTOR=John Eliot Gardiner
ARTIST=The Monteverdi Choir
with the single tag
ARTIST=John Eliot Gardiner, The Monteverdi Choir
in all your audio files that have both these tags, you can use the following lines in your tag update file:
@ARTIST=The Monteverdi Choir
&CONDUCTOR=John Eliot Gardiner
=ARTIST=John Eliot Gardiner, The Monteverdi Choir
@CONDUCTOR=John Eliot Gardiner
&ARTIST=The Monteverdi Choir
-CONDUCTOR=John Eliot Gardiner
This file contains two groups of update instructions. The first update group looks
for the combination of ARTIST=The Monteverdi Choir
and CONDUCTOR=John Eliot Gardiner
and replaces ARTIST=The Monteverdi Choir
with ARTIST=John Eliot Gardiner, The Monteverdi Choir
.
The second update group looks for the same combination and removes the tag
CONDUCTOR=John Eliot Gardiner
. You need two update groups to do this because tag changes and removals
can only be applied to the tag name specified in the '@
' line.
You might want to apply the same changes for multiple values of a tag. For example, you might want to replace alternative spellings
of a composer name with a single consistent name. You can do this by repeating the '@
' line, as in the following example:
@COMPOSER=J. S. Bach
@COMPOSER=Bach, Johann Sebastian
@COMPOSER=J. S. Bach (1685-1750)
=COMPOSER=Johann Sebastian Bach
If you'd like to see a detailed list of tag changes made by the tag update file,
you can set the writeTagChanges
property to the name of a "tag changes" file
into which MinimServer will write a list of tag changes. This file will be written
every time MinimServer is started.
By default, the "tag changes" file will be written in the log file default location (see
this section).
For example, specifying the filename tagchanges.txt
will cause MinimServer to write
the file tagchanges.txt
in the log file default location.
To write the file in a different location, you can specify a fully qualified filesystem path
for some other location on the computer or NAS where MinimServer is running.
For example, specifying the path /Users/myuser/tagchanges.txt
will cause MinimServer to write
the file tagchanges.txt
in the folder /Users/myuser
.
IMPORTANT: MinimServer makes these tag changes internally when it reads your audio files. You'll see the changes in your control point, but MinimServer doesn't write any tag changes to your audio files. To do this, you need to use a separate tagging program such as Mp3tag.
In this section, we've given some examples of the changes you can make to your tags using the tag update facility. For a formal description of how the tag update file works, see the following section.
Tag update file
To enable tag updating in MinimServer, you need to set thetagUpdate
property
to the name of a tag update file.
This file can be in any folder on the computer or NAS that's running MinimServer.
The tag update file consists of a sequence of text lines, where the first
text character of each line identifies the line as a match instruction, filter instruction or update instruction, using
the syntax:
<instruction-type><tag-name>=<tag-value>
The tag update file is encoded using the UTF-8 character set. The tag match values in this
file must match tag values in your audio files using an exact case-sensitive comparison.
You might find it helpful to use the writeAllTags
property to see the correct format for the
entries in this file.
In MinimServer 2, you can use special tags such as #AudioData
and #AudioChannels as match and filter values in @
and &
instructions.
You can't update special tags using =
, -
or +
instructions.
Match instructions, filter instructions and update instructions are combined into update groups. Each update group starts with one or more match instructions. The update group can be either a simple update group or a filter update group (see below).
A simple update group has one or more update instructions after the match instructions. These update instructions are applied to all files that match any of the match instructions.
A filter update group has both filter instructions and update instructions after the match instructions. It consists of a sequence of one of more filter sections, where each filter section contains one or more filter instructions followed by one or more update instructions.
For each filter section, all its filter instructions are checked to see if they match the file. If all these filter instructions match, the update instructions in the filter section are applied to the file. If any of these filter instructions doesn't match, the next filter section is checked until a match is found or all filter sections have been checked.
For example, this update group:
@ALBUM=Greatest Hits
=ALBUM=Great Hits
is a simple update group with a single match instruction followed by a single update instruction. For each file with an ALBUM tag of "Greatest Hits", this tag will be changed to "Great Hits".
This update group:
@ALBUM=Greatest Hits
&ALBUMARTIST=Lenny Kravitz
=ALBUM=Greatest Hits - Lenny Kravitz
&ALBUMARTIST=Robbie Williams
=ALBUM=Greatest Hits - Robbie Williams
is a filter update group with a single match instruction followed by two filter sections. The first filter section matches all files with an ALBUM tag of "Greatest Hits" and an ALBUMARTIST tag of "Lenny Kravitz" and changes the ALBUM tag in each of these files to "Greatest Hits - Lenny Kravitz". The second filter section matches all files with an ALBUM tag of "Greatest Hits" and an ALBUMARTIST tag of "Robbie Williams" and changes the ALBUM tag in each of these files to "Greatest Hits - Robbie Williams".
The following instruction types are supported:
@
|
This line is a match instruction and starts a new update group that
applies to all audio files containing a tag matching this line. If other '@ ' lines
immediately follow this instruction, they must all have the same tag name as the first '@ ' line and are used to
provide alternative matches for the value of this tag. Tag values are matched using an exact case-sensitive comparison.
Repeating the same '@ ' line elsewhere in the tag update file is not allowed.
|
&
|
This line is a filter instruction and can optionally appear after an '@ ' line to specify a filter condition
for the update instructions that follow it in the same filter section (see above).
If this line is present, the update group is an filter update group (see above).
Any number of '& ' lines can appear after an
'@ ' line and these can be followed by one or more update instructions. This combination of
filter instructions and update instructions is known as a filter section. The update instructions in a
filter section are applied only to files that match the filter instructions.
There can be any number of filter sections in a filter update group.
|
=
|
This line is an update instruction to replace the value of a tag.
It must be the first update instruction in an update group or filter section (that is, directly
following an '@ ' line or an '& ' line).
The rest of the line specifies the tag name (which must be the same
tag name used in the '@ ' line or lines in the update group) and the replacement value for this tag,
using the syntax:
= <tag-name>= <new-tag-value>
|
-
|
This line is an update instruction to remove a tag.
It must be the first update instruction in an update group or filter section (that is, directly
following an '@ ' line or an '& ' line).
If the '- ' line specifies a tag value:
- <tag-name>= <tag-value>
the update group must have s single ' @ ' line and the tag value in the '- ' line
must exactly match the tag value in the '@ ' line.
If the '- ' line does not specify a tag value:
- <tag-name>
the update group can have one or more ' @ ' lines and the tag name in the '- ' line
must exactly match the tag name in the '@ ' line or lines.
|
+
|
This line is an update instruction to add a new tag. The rest of the line specifies the new tag name and its value.
This instruction can be the first update instruction in an update group or filter section or
it can follow an '= ' line, a '- ' line, or another '+ ' line.
|
Any lines that don't start with one of the above characters (including blank lines) cause the current update group to be ended and are otherwise ignored.
Server options
You can use the serverOptions
property to specify additional options for controlling various
aspects of MinimServer operation. The value of the serverOptions
property is a comma-separated
list of option settings, where each option setting has the format name=value.
The following options can be specified in this property:
indexArtwork
artworkFolder
language
recentAdded
recentPlayed
showAllDiscs
resourceInfo
flowControl
mimeType.dsf
mimeType.dff
See the sections below for descriptions of these options.
Index artwork
Note: This feature requires a MinimServer full license.
MinimServer displays artwork for albums, tracks, groups, playlists and folders where available (see the Artwork section). If you have a MinimServer full license, you can display artwork images for all index selection entries (for example, artist and composer names). These images can be selected automatically by MinimServer or customised by the user.
To configure how index artwork is displayed, use the indexArtwork
option of the
serverOptions
property. This option has the following settings:
auto
| Select index artwork automatically from the contents of your library |
folder
| Select index artwork from custom images in a special folder |
all
|
Use folder artwork if available and fall back to auto artwork otherwise
|
none
| Disable the index artwork feature |
If you set the indexArtwork
option to auto
,
each index selection entry will have an artwork image chosen automatically from its selection contents.
For example, the Artist index entry for Pink Floyd will show an artwork image
from one of the Pink Floyd albums in your library. Similarly, the Composer
index entry for William Byrd will show an artwork image from an item or album with
William Byrd tagged as composer. As far as possible, the search for an image follows the order
in which items or albums in the selection for the index entry are presented to the user.
If you want to customise the image that is shown, you can set
the indexArtwork
option to folder
. With this setting,
MinimServer looks in a designated artwork folder for a custom image file whose name matches
the index entry. For example, the index entry for the composer Anton Bruckner shows
the image Anton Bruckner.jpg
or Anton Bruckner.png
if either of these files
is available in the designated artwork folder. Similarly, the index entry for Composer
shows the image Composer.jpg
or Composer.png
. For index entries starting with
'>>
', the '>>
' is omitted from the artwork filename. For example, to provide an image
for the >> Show All index entry, you would use
a Show
All.jpg
or Show
All.png
file.
See the Illegal filename characters section
for details of how to handle names containing characters that can't be used in a filename.
For index entries that are translated
(see the User interface translation section),
the translated name is used. For example, if the user interface language is set to German,
the [Ordneransicht] index entry (folder view) would show artwork from the file
[Ordneransicht].jpg
, not the file [folder
view].jpg
.
The auto
and folder
options can be used to show artwork for
almost all menu choices you see when browsing your library, including
the "letter" index entries provided by the alphaGroup property.
When browsing using [folder view], the auto
option looks for artwork in the
folder referenced by each index entry and also in any folders below that folder.
For example, if your Pink Floyd folder contains subfolders for your Pink Floyd albums
and no other files, an artwork image from one of these album folders will be used.
If you want to use a combination of custom images and automatic image selection,
you can set the indexArtwork
option to all
. This setting looks
for a custom image first and falls back to an automatic image if no custom image is available.
Enabling index artwork images (either automatic or custom) is likely to make it slower to
browse your library. This is because each browsing selection requires the control point
to load these images from the server across your local network and then
render and display them. If your artwork images are very large, the performance impact will be greater.
To disable the index artwork feature, you can set the indexArtwork
option to none
.
Folder artwork image files
By default, the folder
option searches a folder named indexArtwork
located at the top level of your music library, immediately under the
content directory. For example, if your content directory is /share/Music
,
the default artwork folder is /share/Music/indexArtwork
.
You can change this name and location by setting the artworkFolder
option
of the serverOptions
property
to a folder path. For example, if you set the artworkFolder
option to images/myArtwork
, the artwork folder is changed to
/share/Music/images/myArtwork
.
The artwork folder must be within your content directory so that it can be scanned by MinimServer. If you have more than one content directory, the artwork folder can be within any of these content directories. If more than one content directory contains a folder whose path matches the artwork folder path, images in all matching artwork folders will be found by MinimServer.
[NEW] In some cases you might need to have different artwork images for the same tag value in different tag indexes. For example, BIS is a record label (Label tag) and also a band (Artist tag), so the same artwork image can't be used for both of these. In MinimServer 2 update 219 and later, you can handle this situation by creating tag-specific subfolders under the artwork folder (for example, a Label folder and an Artist folder). When searching for an artwork image file, MinimServer looks in the tag-specific subfolder (if there is one) before looking in the top-level artwork folder. This enables you to place different image files (both named BIS.jpg) in the Label folder and the Artist folder and see the correct images in the Label and Artist indexes.
Note: If the same person has multiple roles (for example, Paul McCartney as artist and Paul McCartney as composer), the recommended approach is to place a single image file in the top-level artwork folder to cover both roles instead of duplicating the same image file in different tag-specific subfolders.
If you are using tag-specific subfolders, images for the Artist index, AlbumArtist index and All Artists index are treated specially.
- For selections in the Artist index, the Artist subfolder is searched first for an image, followed by the AlbumArtist subfolder.
- For selections in the AlbumArtist index, the AlbumArtist subfolder is searched first for an image, followed by the Artist subfolder.
- For selections in the All Artists index, the Artist subfolder is searched for an image.
- In all cases, if no image is found in the subfolders described above, the top-level folder is searched.
This enables you to either place all artist images in the Artist subfolder and see the same image in all indexes (the simplest approach) or use the AlbumArtist and Artist subfolders to show different images for the same artist in the AlbumArtist and Artist indexes.
Language
You can use the language
option of the serverOptions
property to
change the user interface language used by MinimServer. By default, the user interface language
is the language setting of the device you are using to run MinimServer.
The value of this property is an ISO 639-1 or ISO 639-2 language code as listed on this page. For languages that have both a two-letter ISO 639-1 code and a three-letter ISO 639-2 code, the two-letter code must be used. For example, Italian has the two-letter code 'it' and the three-letter code 'ita', so you need to specify 'it'.
For Chinese (zh), the two-letter code isn't sufficient to uniquely identify the language, so you also need to specify the script. The setting for simplified Chinese is zh-Hans and the setting for traditional Chinese is zh-Hant.
The language setting is used by MinimServer to control user interface translation (see the User interface translation section). For Danish, Norwegian and Swedish, the language setting also changes the collation sort order and the alphabetical groupings used by the alphaGroup property.
Note: Using this option to override the default system language selection requires a MinimServer full license.
Recently added/played settings
When using the Recently Added and Recently Played features (see the Recently Added and Recently Played page),
the number of recently added files and recently played files (audio files and playlists) saved by MinimServer is set to 300 by default.
You can change this value by setting the recentAdded
and/or recentPlayed
options of the serverOptions
property.
The maximum value is 1000.
Note: This feature requires a MinimServer full license.
Show all discs
You can use the showAllDiscs
option of the serverOptions
property to
prevent the merging of tracks from multiple discs of the same album into a single combined list.
If the showAllDiscs option is set to true
,
all multidisc albums in your library are shown as separate discs with no disc merging.
If the showAllDiscs
option is set to false
or omitted,
disc merging is applied to selected albums as described in the
Multidisc albums section.
Note: This feature requires a MinimServer full license.
Resource information
You can use the resourceInfo
option of the serverOptions
property to control whether resource usage information
will be displayed in the log.
The value of this property is a number that specifies how frequently resource information
will be displayed in the log during MinimServer startup. For example, if the value is
500, resource information will be displayed at intervals of scanning 500 files.
If the resourceInfo
property is used to display resource information
during MinimServer startup, resource usage will be monitored while MinimServer is running,
and resource information updates will be displayed at regular intervals during MinimServer activity.
Note: This feature requires a MinimServer full license.
Flow control
You can use the flowControl
option of the serverOptions
property to set a
maximum data rate for streaming audio data from MinimServer to the renderer (player). This can be useful
to work around problems with some renderers that don't function correctly if audio data is sent to
the renderer at a higher rate than the renderer is able to process correctly. Most renderers don't have this
problem and you shouldn't use this option unless you are experiencing problems without it. An example
of such a problem is a small gap in audio playback between tracks when using a renderer that claims to
support gapless playback.
The value of this option is a positive integer followed by the letter 'x
'. The integer
value is a multiplier that specifies the maximum streaming data rate as a multiple of the playback data rate of
the audio stream. For example, a lossless WAV audio stream with 2 channels, a sample rate of 44100 Hz
and a bit depth of 16 bits has a playback data rate of 2 x 44100 x 16 = 1411200 bits per second
(176400 bytes per second). The setting flowControl=2x
specifies a multiplier of 2, so
the maximum streaming data rate for this stream would be 2 x 176400 bytes per second (352800 bytes per second). A lossy MP3
audio stream with a bit rate of 128 kbps has a playback rate of 128000 bits per second (16000 bytes per second),
so the same 2x
setting would give a maximum streaming data rate for this stream of 32000 bytes per second.
The minimum value for the flowControl
option is 2x
. If this setting causes dropouts on some tracks,
try increasing it to 3x
or 4x
. There is no maximum value but using too large a value will make flow control ineffective.
If the flowControl
option isn't specified, no maximum streaming data rate is applied by MinimServer and
audio data is streamed to the renderer as fast as MinimServer can read it and the renderer can receive it.
Note: This feature requires a MinimServer full license.
Custom MIME types
You can use the mimeType.dsf
and mimeType.dff
options of the serverOptions
property to set custom
MIME types for streaming DSF and DFF files in native format (i.e., without DoP/WAV transcoding).
This customization is required to play DSF and DFF files on some Sony and Onkyo renderers that don't support the industry standard MIME types
(audio/x-dsf
and audio/x-dff
) for these streams.
For each of these options, the value is the custom MIME type that you want MinimServer to send.
For example, to make MinimServer send the MIME type audio/x-dsd
for all native DSF streams, you can specify
mimeType.dsf=audio/x-dsd
in the serverOptions property. You can specify any value to be used as the MIME type
and MinimServer will send the exact value that you specify.
You should only set these options if you are having problems playing DSF and DFF files on your renderer. It's a good idea to ask on the MinimServer forum for advice about whether you should set these options and what values you should specify for the custom MIME types.
Note: This feature requires a MinimServer full license.