1032 lines
52 KiB
XML
1032 lines
52 KiB
XML
<?xml version="1.0" ?>
|
|
<!-- The MME configuration element -->
|
|
|
|
<!-- DO NOT FORGET TO MAKE CHANGES IN mme_without_gracenote.conf TOO -->
|
|
|
|
<Configuration>
|
|
|
|
<!-- Control Context configuration
|
|
The 'PathPrefix' attribute is the root of the path of all the
|
|
control contexts created and is optional;
|
|
its default is "/dev/mme" if not provided. -->
|
|
<ControlContext PathPrefix="/dev/mme">
|
|
|
|
<!-- The maximum number of control contexts. In future,
|
|
this element may be removed. -->
|
|
<!--<Maximum>10</Maximum>-->
|
|
|
|
<!-- Enable/disable early unblock in the MME when requested. This must
|
|
be enabled to use the mme_api_timeout functions. This will also
|
|
cause a MME call to unblock a caller early if the caller is hit by
|
|
a signal. -->
|
|
<!-- NBT Specific -->
|
|
<Unblock enabled="true"/>
|
|
|
|
<!-- Stop playing when the last client connected to a control context closes the
|
|
connection. Note that if a client dies or is killed, that is perceived as a close
|
|
by the MME -->
|
|
<!--<StopOnLastClose enabled="false"/>-->
|
|
</ControlContext>
|
|
|
|
<CorePlugins>
|
|
<!-- Currently the CURL core plugin is only used by MusicBrainz.
|
|
Enable this plug-in if loading the MusicBrainz MDP DLL. -->
|
|
<!--<dll name="coreplugins-curl.so"/>-->
|
|
</CorePlugins>
|
|
|
|
<!-- The initial locale to use; can be changed via the API.
|
|
May be a 5 character string, but only the 2-character
|
|
language code is used. -->
|
|
<!--<Locale>en</Locale>-->
|
|
|
|
<!-- Database control elements -->
|
|
<Database>
|
|
|
|
<!-- Path to the MME's database -->
|
|
<!--<Mountpath>/dev/qdb/mme</Mountpath>-->
|
|
|
|
<!-- Automatically adjust internal timebase for the MME.
|
|
For systems that don't have a stable real-time clock, enabling
|
|
this option causes the MME to run a routine that adjusts its
|
|
internal timebase so that all time values used in the datbase
|
|
remain monotonically increasing.
|
|
If enabled, the adjustment routine is run before the MME's path is
|
|
created. -->
|
|
<!--<TimebaseSet enabled="false"/>-->
|
|
|
|
<!--
|
|
Timeout setting for the database in milliseconds. A value of 0
|
|
indicates no timeout. Note that values other than 0 can create errors
|
|
because of operations that take longer than the specified timeout.
|
|
-->
|
|
<!--<Timeout>0</Timeout>-->
|
|
|
|
<!-- Enable/disable vacuuming of database in MME. This should be
|
|
disabled when auto_vacuuming is being used. -->
|
|
<Vacuum enabled="false"/>
|
|
|
|
<!--
|
|
External Character Conversion
|
|
The character encoding conversion can be overridden by your own DLL.
|
|
If you have your own DLL that implements this functionality then specify
|
|
that DLL name here -->
|
|
<!-- NBT Specific -->
|
|
<CharacterEncodingConverter dll="libmm_icu46_qdb.so"/>
|
|
|
|
|
|
<!-- Synchronization control elements -->
|
|
<Synchronization>
|
|
|
|
<!-- Controls whether syncing is automatic or not. (Not
|
|
means synchronization must be done manually.)
|
|
The default is automatic synchronization.
|
|
If synchronization is automatic, what it does may be
|
|
controlled by the use of the 'options' attribute.
|
|
The 'options' attribute consists of a comma-separated
|
|
list of words:
|
|
'files' means the file (first) pass is done,
|
|
'metadata' means the metadata (second) pass is done,
|
|
'playlists' means the playlist (third) pass is done,
|
|
'ext_db_sync' means the external database synchronization
|
|
pass is done,
|
|
'all' means do all passes, and
|
|
'recursive' means all folders on the mediastore (beyond
|
|
the root folder) are done.
|
|
If 'options' is not specified, the assumption is that all
|
|
passes are done on all folders. -->
|
|
<!-- NBT Specific -->
|
|
<Automatic enabled="false" options="all,recursive"/>
|
|
|
|
<!-- Set the synchronization thread's priorities;
|
|
0 means no change from default. Non-zero values are
|
|
absolute priority values. -->
|
|
<!--<Priority>0</Priority>-->
|
|
|
|
<!-- Set the synchronization merge thread's priority adjustement;
|
|
this value is added to the synchronization thread priority to
|
|
derive the merge thread priority. Default is one higher than
|
|
the sync thread priority. -->
|
|
<!--<MergePriorityAdjust>1</MergePriorityAdjust>-->
|
|
|
|
<!-- Controls whether or not devices are automatically detected
|
|
by the MME. This is independent of synchronization. -->
|
|
<!-- NBT Specific, currently DeviceDetection flag is set to FALSE -->
|
|
<DeviceDetection enabled="false"/>
|
|
|
|
<!-- Sets the priority of the thread that monitors the
|
|
device paths. 0 means no change from default. Non-zero
|
|
values are absolute priority values. -->
|
|
<!--<MonitorPriority>0</MonitorPriority>-->
|
|
|
|
<!-- The maximum depth number of foreground synchronization
|
|
threads that are permitted to run at one time. -->
|
|
<!--<MaxThreads>8</MaxThreads>-->
|
|
|
|
<!-- The maximum depth to recurse when synchronizing a media
|
|
store. -->
|
|
<!-- NBT Specific -->
|
|
<MaxRecursionDepth>9</MaxRecursionDepth>
|
|
|
|
<!-- The maximum number of synchronization records
|
|
in the buffers between the foreground and background
|
|
synchronization threads. (TODO: Describe customer effect.)
|
|
-->
|
|
<!-- NBT Specific -->
|
|
<MaxSyncBuffers>100</MaxSyncBuffers>
|
|
|
|
<!-- Files that match this POSIX regex pattern will not be synced.
|
|
Only a single SyncFileMask can be specified. The first setting
|
|
below is the default (i.e. empty mask), the second can be used
|
|
to skip files that begin with ".". The third can be used to
|
|
skip files that match "Recycle Bin" or that start with a .
|
|
Please note that complex regex patterns will slow down
|
|
firstpass sync-->
|
|
<!-- <SyncFileMask></SyncFileMask> -->
|
|
<!-- <SyncFileMask>^\.</SyncFileMask> -->
|
|
<!-- NBT Specific -->
|
|
<SyncFileMask>(^\.)|(^\$RECYCLE\.BIN$)|(^\$Recycle\.Bin$)|(^System Volume Information$)|(^Recycled$)|(^Recycler$)|(^BMWData$)|(^RRData$)|(^MINIData$)</SyncFileMask>
|
|
|
|
<!-- If on, the accurate column will be assigned 1 after a
|
|
full synchronization of all media on a media store.
|
|
(TODO: What happens otherwise? -->
|
|
<!--<ForceAccurateAfterFullSync enabled="off"/>-->
|
|
|
|
<!-- If enabled, it means that files (both multimedia and playlist)
|
|
that have a changed size or modification date will keep the
|
|
same ID value in the database (fid for library table items
|
|
and plid for playlists table items). This causes slower
|
|
times for the files (first) pass resynchronization when there
|
|
are changes. When this happens, the library and playlists
|
|
tables entries for the changes items have their accurate
|
|
column cleared; there is no other indication that these items
|
|
have changed.
|
|
-->
|
|
<!--<ChangedFilesHaveConstantId enabled="off"/>-->
|
|
|
|
<!-- NBT Specific: From D35 CAREFUL since not present in the latest mme.conf??-->
|
|
<!-- Update the last_sync column during the synchronization metadata pass -->
|
|
<!-- PassTwoSetsLastSync enabled="true"/> -->
|
|
|
|
<!-- Update the library with metadata found during playback -->
|
|
<UpdateLibraryFromNowplaying enabled="on"/>
|
|
|
|
<!-- Controls if titles that are not definitely known are stored
|
|
in the database as NULL strings, or a best guess or derived
|
|
name is used. -->
|
|
<!-- <UnknownTitlesNull enabled="true"/>-->
|
|
|
|
<!-- Controls what optional synchronization events are emitted.
|
|
The attribute's value determines if they're enabled or not.
|
|
Only folder events are currently controllable.
|
|
|
|
For the "folder" attribute, acceptable values are "on", "off',
|
|
and "trimonly". "trimonly" will send folder events when
|
|
a folder object (file, folder, playlist) is deleted.
|
|
-->
|
|
<!-- <Events folder="trimonly"/>-->
|
|
|
|
<!-- Controls how much time is delayed after a sync merge is completed -->
|
|
<!-- <DelayAfterMerge>0</DelayAfterMerge> -->
|
|
|
|
<!-- Controls the media-search pre-scan on a per-folder basis.
|
|
The MME can be configured to allow no-more than MaxItems non-media
|
|
items in a given folder. When MaxItems non-media items are encountered
|
|
the folder is treated as if it is empty and does not contain any
|
|
media items. When MaxItems is 0 this feature is disabled.
|
|
By default the MaxItems limit is a total limit in a folder.
|
|
This limit can be configured as a consecutive file limit. Note
|
|
that the file order is generally not guaranteed and as such
|
|
using a consecutive limit could yield non-deterministic results.
|
|
This feature is implemented as a pre-scan on a per-folder basis.
|
|
When PrescanLimit is 0 the entire directory is scanned (no limit).
|
|
-->
|
|
<!--
|
|
<NonMediaItems>
|
|
<MaxItems consecutive="false">0</MaxItems>
|
|
<PrescanLimit>0</PrescanLimit>
|
|
</NonMediaItems>
|
|
-->
|
|
<!-- Controls the maximum number of items that are read from folders.
|
|
The limit value includes any filtered items in the folder
|
|
except for "." and "..".
|
|
If 0, no limit is used. -->
|
|
<!-- <MaxFolderItems>0</MaxFolderItems>-->
|
|
|
|
<!-- Controls whether sync stops when a database limit has been
|
|
reached or not. -->
|
|
<!-- NBT Specific -->
|
|
<StopOnDbLimit enabled="true"/>
|
|
|
|
<!-- Specifies which file extensions are used. If the <playlists>
|
|
or <library> element is specified, all extensions pertaining to
|
|
that element must be explicitly specified. -->
|
|
<extensions>
|
|
|
|
<!-- Playlist extensions don't need any attributes -->
|
|
<playlists>
|
|
<extension value="m3u"/>
|
|
<extension value="m3u8"/>
|
|
<extension value="pls"/>
|
|
<extension value="wpl"/>
|
|
<extension value="asx"/>
|
|
<extension value="wvx"/>
|
|
<extension value="wax"/>
|
|
</playlists>
|
|
|
|
<!-- Library extensions need an ftype attribute specifying the
|
|
ftype field in the library. ftype should be one of "audio", "audiovideo",
|
|
"photo" or "video". An optional "storagetype" field can
|
|
specify this extension applies only to a given
|
|
mediastore's storage type.
|
|
|
|
If the extension value is "*" it will be used as a default
|
|
ftype for all file extensions not defined. This can be
|
|
configured globally or on a per-storagetype basis.
|
|
NOTE: You probably don't want to turn this on globally but
|
|
rather only for mediastores with a storage type known to
|
|
only contain valid media files. -->
|
|
|
|
<library>
|
|
<!-- Audio types -->
|
|
<extension value="3g2" ftype="audio"/>
|
|
<extension value="aac" ftype="audio"/>
|
|
<extension value="amr" ftype="audio"/>
|
|
<!-- extension value="asf" ftype="audio"/ -->
|
|
<extension value="cda" ftype="audio"/>
|
|
<extension value="m4a" ftype="audio"/>
|
|
<extension value="m4b" ftype="audio"/>
|
|
<extension value="mp2" ftype="audio"/>
|
|
<extension value="mp3" ftype="audio"/>
|
|
<extension value="wav" ftype="audio"/>
|
|
<extension value="wma" ftype="audio"/>
|
|
<!-- extension value="ogg" ftype="audio"/ -->
|
|
<extension value="ac3" ftype="audio"/>
|
|
<extension value="flac" ftype="audio"/>
|
|
<extension value="aif" ftype="audio"/>
|
|
<extension value="aiff" ftype="audio"/>
|
|
<extension value="oga" ftype="audio"/>
|
|
<extension value="acp" ftype="audio"/>
|
|
<extension value="awb" ftype="audio"/>
|
|
<!-- extension value="ogv" ftype="audio"/ -->
|
|
|
|
<!-- <extension value="*" ftype="audio" storagetype="12"/> -->
|
|
|
|
<!-- Photo types -->
|
|
<!-- extension value="bmp" ftype="photo"/ -->
|
|
<!-- extension value="gif" ftype="photo"/ -->
|
|
<!-- extension value="jpeg" ftype="photo"/ -->
|
|
<!-- extension value="jpg" ftype="photo"/ -->
|
|
<!-- extension value="png" ftype="photo"/ -->
|
|
|
|
<!-- Video types -->
|
|
<!-- <extension value="asf" ftype="video"/> -->
|
|
<extension value="avi" ftype="video"/>
|
|
<extension value="divx" ftype="video"/>
|
|
<extension value="m4v" ftype="video"/>
|
|
<extension value="mkv" ftype="video"/>
|
|
<extension value="mov" ftype="video"/>
|
|
<extension value="mp4" ftype="video"/>
|
|
<extension value="mpeg" ftype="video"/>
|
|
<extension value="mpeg4" ftype="video"/>
|
|
<extension value="mpg" ftype="video"/>
|
|
<extension value="wmv" ftype="video"/>
|
|
<extension value="xvid" ftype="video"/>
|
|
<extension value="3gp" ftype="video"/>
|
|
</library>
|
|
</extensions>
|
|
|
|
<!-- Metadata string maximums. Size is number
|
|
of multibyte characters -->
|
|
<MetadataStringMaximums>
|
|
<metadatastring field="artist" maximum="64"/>
|
|
<metadatastring field="album" maximum="64"/>
|
|
<metadatastring field="genre" maximum="64"/>
|
|
<metadatastring field="category" maximum="0"/>
|
|
<metadatastring field="title" maximum="64"/>
|
|
<metadatastring field="language" maximum="0"/>
|
|
<metadatastring field="description" maximum="0"/>
|
|
<!--metadatastring field="composer" maximum="64"/> -->
|
|
|
|
</MetadataStringMaximums>
|
|
|
|
<!-- Extended metadata fields. These fields are used for syncing
|
|
io-media's "extra" fields into the database. The fields can
|
|
reference external tables for common strings. -->
|
|
<ExtendedMetadata>
|
|
<!-- NBT Specific -->
|
|
<metadata field="album_artist" maximum="64" table="library_albumartists" library_column="album_artist_id" nowplaying="true" />
|
|
<!--<metadata field="mood" maximum="256" table="library_moods" library_column="mood_id" nowplaying="true" /> -->
|
|
<!--<metadata field="keywords" maximum="256" nowplaying="true" /> -->
|
|
<!--<metadata field="bpm" maximum="256" nowplaying="true" /> -->
|
|
<!--<metadata field="compilation" maximum="256" nowplaying="true" /> -->
|
|
<!--<metadata field="media_type" maximum="256" nowplaying="true" /> -->
|
|
<!-- NBT Specific : Composer, conductor, soloist, ensemble, opus -->
|
|
<metadata field="composer" maximum="64" table="library_composers" library_column="composer_id" nowplaying="true" />
|
|
<!-- <metadata field="conductor" maximum="256" table="library_conductors" library_column="conductor_id" nowplaying="true" /> -->
|
|
<!-- <metadata field="soloist" maximum="256" table="library_soloists" library_column="soloist_id" nowplaying="true" /> -->
|
|
<!-- <metadata field="ensemble" maximum="256" table="library_ensembles" library_column="ensemble_id" nowplaying="true" /> -->
|
|
<!-- <metadata field="opus" maximum="256" table="library_opus" library_column="opus_id" nowplaying="true" /> -->
|
|
<metadata field="genitemid" maximum="256" nowplaying="false"/>
|
|
<!-- Secret fields only relevant for japan, for not japan not used by mme because of gracenote config -->
|
|
<metadata field="album_secret" maximum="256" table="library_albums_secret" library_column="album_secret_id" />
|
|
<metadata field="artist_secret" maximum="256" table="library_artists_secret" library_column="artist_secret_id" />
|
|
<metadata field="title_secret" maximum="256" />
|
|
</ExtendedMetadata>
|
|
|
|
<!-- Configuration options for any 3rd party metadata servers such as
|
|
Gracenote or Rovi. The mountpath specified will be used by all
|
|
subsequent external DB dlls. -->
|
|
<!--
|
|
<ExternalDB>
|
|
<server mountpath="/dev/gracenote"/>
|
|
<fetch_id field="fetch_id"/>
|
|
<album_id field="id"/>
|
|
</ExternalDB>
|
|
-->
|
|
|
|
<!-- Media Data Plugin elements.
|
|
MDP plugins can find their configuration under the
|
|
"Configuration/Synchronization/MDP/<name>" path. -->
|
|
<MDP>
|
|
|
|
<!-- configuration for the dvdifo MDP plugin.
|
|
The "skipdurationzero" attribute controls whether or not
|
|
entries with duration of 0 msec are registered in the
|
|
database. -->
|
|
<dvdifo skipdurationzero="true">
|
|
|
|
<!-- DVD Audio synchronization control elements -->
|
|
<dvdaudio>
|
|
|
|
<!-- Controls whether or not a device file ID for the
|
|
entire device is added to the library during
|
|
synchronization. -->
|
|
<!-- NBT Specific -->
|
|
<devicefid create="false"/>
|
|
|
|
<!-- Controls whether or not the IFO parser is enabled;
|
|
if not, then individual tracks on the DVD will not
|
|
be found during synchronization. -->
|
|
<!--<chapterfids create="true"/>-->
|
|
|
|
</dvdaudio>
|
|
|
|
<!-- DVD Video synchronization control elements -->
|
|
<dvdvideo>
|
|
|
|
<!-- Controls whether or not a device file ID for the
|
|
entire device is added to the library during
|
|
synchronization. -->
|
|
<devicefid create="true"/>
|
|
|
|
<!-- Controls whether or not the IFO parser is enabled;
|
|
if not, then individual tracks on the DVD will not
|
|
be found during synchronization. -->
|
|
<!-- NBT Specific -->
|
|
<chapterfids create="false"/>
|
|
|
|
</dvdvideo>
|
|
|
|
</dvdifo>
|
|
|
|
<!-- MediaFS MDP
|
|
Some MediaFS devices support getting the protected status
|
|
of a file; on some of these devices it can be an expensive
|
|
operation. My default this is disabled; you can enable
|
|
getting the protected status by setting getprotected="true".
|
|
-->
|
|
<!--<mediafs getprotected="false"/>-->
|
|
|
|
<!-- Music Brainz Embedded MDP for Audio CD's
|
|
This MDP will use a QDB database with MusicBrainz data to perform
|
|
local lookups.
|
|
-->
|
|
<!--
|
|
<musicbrainz_embedded rating="71">
|
|
<databasepath>/dev/qdb/musicbrainz</databasepath>
|
|
</musicbrainz_embedded>
|
|
-->
|
|
|
|
<!-- MusicBrainz requires the CURL core plugin. Enable the
|
|
CURL core plugin in the CorePlugin section above. -->
|
|
<!--<dll name="mdp-musicbrainz.so"/>-->
|
|
|
|
<!-- Music Brainz MDP for Audio CD's
|
|
This MDP will do internet HTTP queries to MusicBrainz web services.
|
|
-->
|
|
<!--
|
|
<musicbrainz rating="70"/>
|
|
-->
|
|
|
|
<!-- DVD-Text MDP configuration, internally gets the same rating than the CDText-default (which is "80") -->
|
|
<dll name="/opt/mm/lib/mdp-dvdtext.so"/>
|
|
|
|
<!-- External DB MDP plugin for Audio CD's. Set how high this plugin
|
|
rates against other MDP plugins by modifying the rating.
|
|
-->
|
|
<externaldb_metadata rating="71"/>
|
|
|
|
<dll name="mdp-gnmdp.so"/>
|
|
|
|
|
|
<!-- External DB MDP plugin for Cover Art. Set how high this plugin
|
|
rates against other MDP plugins by modifying the rating.
|
|
-->
|
|
<!-- NBT Specific: D35 Coverart rating?? -->
|
|
<!-- USE RATEING OF 10 COVERART IS ONLY WORKING WITH VALUE <50, FIX WHEN GRACENOTE IS AVAILABLE -->
|
|
<externaldb_coverart rating="10"/>
|
|
<!-- NBT Specific : Currently using default-->
|
|
|
|
<dll name="mdp-gncap.so"/>
|
|
|
|
|
|
<!-- CD-TEXT MDP plugin configuration. You can set how high it
|
|
ranks against other MDP plugins by modifying the rating. -->
|
|
<!-- NBT Specific , lower rating than GN -->
|
|
<cdtext rating="60"/>
|
|
|
|
<!-- Lasso MDP Plugin configuration -->
|
|
<!--
|
|
<dll name="mdp-lasso.so"/>
|
|
<lasso rating="80"
|
|
url=""
|
|
key=""
|
|
/>
|
|
-->
|
|
|
|
<!-- External artwork plugin configuration. You can set how high it
|
|
ranks against other MDP plugins by modifying the rating. -->
|
|
<extart rating="49"/>
|
|
</MDP>
|
|
|
|
<!-- MediaStore Synchronization elements.
|
|
MSS plugins can find their configuration under the
|
|
"Configuration/Synchronization/MSS/<name>" path. -->
|
|
<MSS>
|
|
|
|
<!-- The nosync plugin is used to prevent the MME from
|
|
synchronizing a mediastore. -->
|
|
|
|
<nosync>
|
|
|
|
<!-- maxrootentries defines how many entries we check in
|
|
the root folder before giving up. Default 100
|
|
<maxrootentries>100</maxrootentries> -->
|
|
|
|
<!-- series of case sensitive "path" elements with
|
|
"storagetype" attributes. If any of the files specified
|
|
below exist in the first maxrootentries entries of the root
|
|
folder of the mediastore, no scanning is done and a new
|
|
entry with the specified storage type is inserted into the
|
|
mediastores table. The only valid storage types that can be
|
|
specified here are MME_STORAGETYPE_NAVIGATION (17),
|
|
MME_STORAGETYPE_UPGRADE (18) or
|
|
custom storage types (i.e. >= 100) -->
|
|
|
|
<!-- If the mediastore contains a NAV/MAP0001 folder
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_NAVIGATION into the mediastores table -->
|
|
<path storagetype="17">NAV/MAP0001</path>
|
|
|
|
<!-- If the mediastore contains a acios_db.ini file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_NAVIGATION into the mediastores table -->
|
|
<path storagetype="17">acios_db.ini</path>
|
|
|
|
<!-- If the mediastore contains a config/create_cd file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_NAVIGATION into the mediastores table -->
|
|
<path storagetype="17">config/create_cd</path>
|
|
|
|
<!-- If the mediastore contains a swupdate01.dat file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_UPGRADE into the mediastores table -->
|
|
<path storagetype="18">swupdate01.dat</path>
|
|
|
|
<!-- If the mediastore contains a HBUPDATE.DEF file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_UPGRADE into the mediastores table -->
|
|
<path storagetype="18">HBUPDATE.DEF</path>
|
|
|
|
<!-- If the mediastore contains a CONFIG.CDI file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_UPGRADE into the mediastores table -->
|
|
<path storagetype="18">CONFIG.CDI</path>
|
|
|
|
<!-- If the mediastore contains a metainfo2.txt file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_UPGRADE into the mediastores table -->
|
|
<path storagetype="18">metainfo2.txt</path>
|
|
|
|
<!-- If the mediastore contains a UPDATE/DATA01.DAT file
|
|
the MME will insert it with type
|
|
MME_STORAGETYPE_UPGRADE into the mediastores table -->
|
|
<path storagetype="18">UPDATE/DATA01.DAT</path>
|
|
|
|
</nosync>
|
|
|
|
<!-- Elements to control the operation of iPod media store
|
|
synchronization. -->
|
|
<ipod>
|
|
|
|
<!-- A note on iPod synchronization. For a number of reasons,
|
|
the preferred handling of iPods is not via the
|
|
synchronization processs, but instead through the
|
|
explorer API. -->
|
|
|
|
<!-- The maximum number of synchronized folders permitted
|
|
in the library from an ipod. If 0, means no restrictions.
|
|
This affects only folders found in previous
|
|
synchronizations; the current synchronization may exceed
|
|
this limit. -->
|
|
<!--<synced_folders limit="32"/>-->
|
|
|
|
<!-- This option overrides the normal iPod synchronization
|
|
behaviour of not being automatically synchronized when
|
|
automatic synchronization is on. -->
|
|
<!--<auto_sync permitted="false"/>-->
|
|
|
|
<!-- This option overrides the normal iPod synchronization
|
|
behaviour carefully synchronizing only certain paths
|
|
on a full sync. -->
|
|
<!--<full_sync everything="false"/>-->
|
|
|
|
</ipod>
|
|
|
|
<!-- NBT Specific ,needed by DMB/DMP -->
|
|
<dll name="mss-custom.so"/>
|
|
<custom>
|
|
<mapping slottype="100" storagetype="100"/>
|
|
<!-- <mapping slottype="106" storagetype="106"/> -->
|
|
</custom>
|
|
|
|
</MSS>
|
|
|
|
<!-- Playlist synchronization elements. -->
|
|
<PLSS>
|
|
<!-- The maximum number of lines in a playlist before ending
|
|
synchronization. -->
|
|
<MaxLines>16000</MaxLines>
|
|
<!-- Maximum number of bytes to allocate during processing of a playlist -->
|
|
<MaxBytes>1500000</MaxBytes>
|
|
|
|
<!-- Specify a dll to handle playlist generation requests -->
|
|
|
|
<dll name="plss-gnplp.so"/>
|
|
|
|
<!-- Playlist entries that cannot be resolved but match this
|
|
POSIX regex pattern will be synced to the playlistdata table.
|
|
Only a single UnresolvedEntrymask can be specified. The
|
|
first setting below is the default (i.e. empty mask),
|
|
the second can be used to add http(s) and ftp URLs to
|
|
the playlistdata table if they cannot be resolved.-->
|
|
<!-- <UnresolvedEntryMask></UnresolvedEntryMask> -->
|
|
<!-- <UnresolvedEntryMask>^(http(s?)|ftp)://</UnresolvedEntryMask> -->
|
|
<!-- NBT Specific -->
|
|
<UnresolvedEntryMask>^(http(s?)|ftp|mms|udp|slave)://</UnresolvedEntryMask>
|
|
</PLSS>
|
|
<!-- Database synchronization elements. -->
|
|
<DBS>
|
|
<!-- Specify a dll to handle external DB synchronization -->
|
|
An optional DLL used for external database synchronizations. It synchronizes mediastores with Gracenote, giving the MME
|
|
the ability to store track and album data in Gracenote MLDB collections for playlisting, and to retrieve normalized metadata
|
|
via text ID and music ID lookups. -->
|
|
<dll name="dbs-gndbp.so"/>
|
|
<!-- The gndbp plugin stores up a list of fids before performing
|
|
a lookup and passing off the normalized metadata to the sync buffers.
|
|
Increasing these values may result in speed increases as less databases
|
|
accesses are necessary but doing so will increase the size of the fid
|
|
buffers for the lifespan of the plugin and require more temporary memory
|
|
to perform the qdb lookups. -->
|
|
<gndbp>
|
|
<added_queue size="50"/>
|
|
<changed_queue size="50"/>
|
|
<removed_queue size="50"/>
|
|
</gndbp>
|
|
</DBS>
|
|
|
|
</Synchronization>
|
|
|
|
<!-- Database pruning control elements -->
|
|
<Prune>
|
|
|
|
<!-- The high water mark of the database size. If the
|
|
database exceeds this size then the prune managers
|
|
will attempt to prune the database.
|
|
If this is set to 0 then this type of prune management
|
|
is disabled. Value is in kB
|
|
>0 starts limiting -->
|
|
<MaxDatabaseSize>35840</MaxDatabaseSize>
|
|
|
|
<!-- After this many synced files the MME will check to
|
|
see how big the database is. The bigger the number
|
|
the faster the sync, with a low number it is
|
|
possible to go over the highsize by a larger amount.
|
|
If set to 0 then it will not check in the middle of
|
|
a sync.
|
|
>0 starts limiting -->
|
|
<SyncInterval>500</SyncInterval>
|
|
|
|
<!-- Controls the delay between subsequent calls to purge library_*
|
|
tableis, which opens larger windows during which the database isn't
|
|
locked. This is something that occurs when pruning a large size DB.
|
|
Value is in milliseconds. -->
|
|
<!-- <LibraryOrphanedMetadataPurgeDelay>0</LibraryOrphanedMetadataPurgeDelay> -->
|
|
|
|
<!-- The WhenUnavailable element is used to control what happens
|
|
and what is permitted to happen with respect to media store
|
|
pruning when media stores are unavailable.
|
|
The 'OnEject' attribute controls whether or not the mediastore
|
|
is pruned when the media store becomes unavailable (on
|
|
ejection).
|
|
For all pruning (except those those needed for database usage
|
|
limitations) media stores that are pruned must match the
|
|
criteria configured in this element. -->
|
|
|
|
<!-- Devices of type AudioCD,FS/DEVB, DVDAudio,DVDVideo,IPOD,UPNP and
|
|
DMB,BT,PFS are added below to prune from mediastores by explicitly
|
|
sending request from presentation controller to MME. -->
|
|
<WhenUnavailable OnEject="false">
|
|
<MediastoreMatching storagetype="1"/>
|
|
<MediastoreMatching storagetype="2"/>
|
|
<MediastoreMatching storagetype="3"/>
|
|
<MediastoreMatching storagetype="6"/>
|
|
<MediastoreMatching storagetype="8"/>
|
|
<MediastoreMatching storagetype="12"/>
|
|
<MediastoreMatching storagetype="20"/>
|
|
<MediastoreMatching storagetype="21"/>
|
|
<MediastoreMatching storagetype="24"/>
|
|
</WhenUnavailable>
|
|
|
|
</Prune>
|
|
|
|
</Database>
|
|
|
|
<!-- Explore API control elements -->
|
|
<Explore>
|
|
|
|
<!-- Media Store eXplorer control elements -->
|
|
<MSX>
|
|
|
|
<!-- iPod MSX control element.
|
|
The attribute 'show_all' is used to control whether or
|
|
the .FS_info. folder and its contents are visible when
|
|
an iPod is explored. If the attribute value is one of the
|
|
positive boolean strings, it will be seen. The default
|
|
behaviour is to hide this folder and its contents. -->
|
|
<!-- <ipod show_all="false"/> -->
|
|
|
|
</MSX>
|
|
|
|
</Explore>
|
|
|
|
<!-- Copying control elements -->
|
|
<Copying>
|
|
<!-- Set the ripping mode:
|
|
'background' = Background Ripping (playback has priority)
|
|
'priority' = Priority Background Ripping (ripping has priority) -->
|
|
<!--<Mode>background</Mode>-->
|
|
|
|
<!-- Default operation is to not delete copyqueue entries when errors occur
|
|
- nonrecoverable errors include errors due to authorization failure or file corruption -->
|
|
<!--<DeleteOnError type="any"/> - new functionality: delete on any error -->
|
|
<!--<DeleteOnError type="nonrecoverable"/> - replaces DeleteOnNonRecoverableError -->
|
|
<!--<DeleteOnError type="none"/> - default: no automatic deletion -->
|
|
|
|
<!-- Make source and destination metadata accurate
|
|
If the source fid is marked as inaccurate (metadata isn't accurate)
|
|
then with this option enabled the source will be synced before the
|
|
copy begins so that both source and destination are accurate -->
|
|
<!--<UpdateMetadata enabled="true"/> -->
|
|
<!-- Perform an external database synchronization on the
|
|
newly ripped file after it has been added to the library -->
|
|
<ExternalDBSync enabled="false"/>
|
|
<!-- Default copying destination assignment -->
|
|
<Destination>
|
|
|
|
<!-- Default destination mediastore for ripping -->
|
|
<!--<MediastoreMountpath>/media/drive</MediastoreMountpath>-->
|
|
|
|
<!-- Default destination folder for ripping -->
|
|
<!--<Folder>/ripped/$ARTIST/$ALBUM/</Folder>-->
|
|
<!-- NBT Specific -->
|
|
<Folder>/ripped/$ALBUM($ARTIST)/</Folder>
|
|
<!-- Default destination filename for ripping -->
|
|
<!--<Filename>$0TRACK-$TITLE(date=$DATESTAMP,time=$TIMESTAMP,srcfid=$SRCFID)</Filename>-->
|
|
<!-- NBT Specific -->
|
|
<Filename>!CDA-Track00$0TRACK</Filename>
|
|
<!-- Element to control override requested filename with default filename if metadata is non-accurate -->
|
|
<!-- <IgnoreNonAccurate enabled="false"/> -->
|
|
|
|
<!-- Element to control if folder paths to the copied file is preserved -->
|
|
<!-- NBT Specific -->
|
|
<PreservePath enabled="true"/>
|
|
|
|
<!-- Element to control overwrite dest file if dest file exist -->
|
|
<!-- NBT Specific -->
|
|
<FileOverwrite enabled="true"/>
|
|
|
|
<!-- Element to control the creation of a duplicate file if the file was already
|
|
copied but the file size is not the same as the previous copy. The new file will
|
|
have the following format: <filename>_#.<ext> where '#' is a number that will make
|
|
the filename usnique. If one of the created files has the same size as the source
|
|
file, then no new file is created and the other copying configuration is applied,
|
|
either overwrite the file or throw an error. -->
|
|
<!-- <DuplicateFile enabled="false"/> -->
|
|
<!-- Element to control if video subtitle is to be copied. Only copy video subtitle files in
|
|
the same folder and the subtitle files will have the exact same name with a different
|
|
extension as the video file -->
|
|
<!-- <CopyVideoSubtitle enabled="false"/> -->
|
|
<VideoSubtileExt>
|
|
<!-- Element to control if video subtitle with extension ".srt" to be copied -->
|
|
<!-- <CopySrt enabled="false"/> -->
|
|
</VideoSubtileExt>
|
|
</Destination>
|
|
|
|
<!-- Default copying encoding -->
|
|
<Encoding>
|
|
<!-- Default encoder format id -->
|
|
<!--<ENCODEFORMATID>2</ENCODEFORMATID>-->
|
|
</Encoding>
|
|
</Copying>
|
|
|
|
<!-- Playback control elements
|
|
The optional 'played_count' attribute may be set to "off", "start"
|
|
or "end" (default) to affect when during track playback the
|
|
'fullplay_count' column for the track is incremented. -->
|
|
<Playback played_count="end">
|
|
|
|
<!-- How many rows are written or deleted from the trksessionview at a
|
|
time. Larger numbers yield higher performance, but lock the
|
|
trksessionview for longer periods of time. -->
|
|
<TrksessionViewWriteSize>1000</TrksessionViewWriteSize>
|
|
|
|
<!-- If set to true, the trksessionview is automatically be written
|
|
out to the DB. If set to false, it will only be written out when
|
|
mme_trksessionview_flush() gets called. -->
|
|
<!-- NBT Specific -->
|
|
<TrksessionViewAutoWrite enabled="false"/>
|
|
|
|
<!-- Controls how much time is delayed after a trksessionview write is completed -->
|
|
<!-- <TrksessionViewDelayAfterWrite>0</TrksessionViewDelayAfterWrite> -->
|
|
|
|
<!-- Behaviour at end of seek; Note that devices that support their own
|
|
tracksessions may not honour this setting (i.e. an iPod always uses the
|
|
'play' setting:
|
|
'play' means to play forward,
|
|
'seek' keep seeking (same direction) -->
|
|
<!--<AtEndOfSeek>seek</AtEndOfSeek>-->
|
|
|
|
<!-- The number of consecutive play errors that can occur before the track session
|
|
is stopped prematurely. The event MME_EVENT_FINISHED_WITH_ERRORS will be delivered
|
|
in this case.
|
|
The consecutive play error count is reset under the following conditions:
|
|
-Playback of a tracksession is started at any given offset by a client.
|
|
-Playback of a tracksession is resumed by a client.
|
|
-Playback is stopped by the client.
|
|
-Playback is forced to the next/previous track by a client.
|
|
The consecutive play error count is incremented under the following conditions:
|
|
-Playback cannot be started on a track.
|
|
-An error prevents playback of the track to complete.
|
|
-->
|
|
<!-- NBT Specific -->
|
|
<ConsecutivePlayErrorsBeforeStop>1</ConsecutivePlayErrorsBeforeStop>
|
|
|
|
<!-- If enabled, the MME will automatically save the trksession state
|
|
when a device is removed during playback (i.e. when an
|
|
MME_PLAY_ERROR_DEVICEREMOVED event is received, and this option is
|
|
enabled, there is no need to call mme_trksession_save_state() -->
|
|
<!-- NBT Specific -->
|
|
<DeviceRemovalSavesState enabled="false"/>
|
|
|
|
<!-- Enable Gapless playback -->
|
|
<PreQueuing enabled="on"/>
|
|
|
|
<!-- Control if non-playable files should be skipped automatically -->
|
|
<!-- <SkipUnplayable enabled="false"/> -->
|
|
|
|
<!-- If disabled, the MME will not ask io-media to send metadata for currently playing
|
|
track. As a result, the nowplaying table will not contain metadata for the
|
|
current track unless the metadata is already in the library table before playback
|
|
begins. -->
|
|
<!-- <NowPlayingMetadata enabled="true"/> -->
|
|
</Playback>
|
|
|
|
<!-- Device control elements -->
|
|
<Devices>
|
|
|
|
<!-- Media Content Detector configuration
|
|
The MME monitors three file descriptors provided by MCD
|
|
for device (media store) insertion (active or available) and removal (ejection).
|
|
The root path to these devices may also be specified, but
|
|
in all cases both must have the same root path. -->
|
|
<!-- NBT Specific -->
|
|
<MCD root="/dev/mcd/"
|
|
insert_active="INSERTED"
|
|
insert_available="AVAILABLE"
|
|
ejection="MMEMediumEjected"
|
|
hostpath=""/>
|
|
|
|
<!-- Element to control internal CD changer support.
|
|
The optional 'priority' attribute indicates the absolute priority
|
|
of the device driver monitor thread (if non-zero). -->
|
|
<!--<InternalChanger enabled="false" priority="0"/>-->
|
|
|
|
<!-- Element to control external CD changer support. -->
|
|
<!--<ExternalChanger enabled="false"/>-->
|
|
|
|
</Devices>
|
|
|
|
<!-- Metadata Interface -->
|
|
<MetadataInterface>
|
|
<ImageExtraction>
|
|
<!-- The Metadata Interface needs access to temporary storage when extracting
|
|
images from files. The configuration is as follows:
|
|
|
|
"path" Is a temporary location that only needs to persist
|
|
for the duration of the MME life span. MME must have read/write
|
|
access to this location.
|
|
-->
|
|
<!-- NBT Specific -->
|
|
<TemporaryLocation path="/ramdisk/mm"/>
|
|
<!-- The Meatadata Interface can be configured to cache loaded images. The PersistentLocation
|
|
element configures the cache.
|
|
"path" Is a persistent location that persists over MME restarts and power
|
|
cycles. MME must have read/write access to this location.
|
|
"enabled" Boolean enabling or disabling the image cache.
|
|
"max_size" The maximum number of image bytes to cache before older cache entries
|
|
are pruned from the cache.
|
|
"prune_algorithm" The cache pruning algorithm to use when the maximum size is hit. Default is 0.
|
|
0 = Oldest Hit Files, Remove cached with the oldest hit times first.
|
|
1 = Least Hit Files, Remove cached entries with the least amount of hits first.
|
|
2 = Least Hit/FIFO, Remove cached entries, oldest inserted and least hits first.
|
|
"cache_original" Boolean allowing the original extracted imaged be cached or discarded.
|
|
"delay_validation" If true, the cache validation will wait for the path to become available before starting the validation
|
|
-->
|
|
<!-- NBT Specific -->
|
|
<PersistentLocation enabled="true" path="/mnt/quota/mm/PVCache/hu" max_size="2147483648" prune_algorithm="0" cache_original="true" delay_validation="false"/>
|
|
|
|
|
|
<!-- The ImageExtension element will append a user defined extension to the generated image URL that is
|
|
returned when loading images. The default value is to have no extension appended to the image URL.
|
|
-->
|
|
<!--<ImageExtension value="IMG"/>-->
|
|
</ImageExtraction>
|
|
<ImageProcessing>
|
|
<!--
|
|
The "ConversionThreadOptions" element sets attributes associated to the image conversion thread that is
|
|
run when a image loading occurs, with a profile. The attributes are as follows:
|
|
"priority" An absolute priority for the conversion thread to run at. 0 indicates the same priority
|
|
as the MME. Default is 0.
|
|
-->
|
|
<!--<ConversionThreadOptions priority="0"/>-->
|
|
|
|
<!-- Custom image processing modules can be added to the system by adding the "ImageProcessing/Libraries"
|
|
XML element.
|
|
More than one DLL can be loaded, each representing a image processing modules, that will be rated.
|
|
The "dll" element denotes a module that will be loaded at startup. The arguments are as follows:
|
|
"name" The name of the DLL to load. DLL must be in LD_LIBRARY_PATH, and must conform to the
|
|
image processing module API.
|
|
-->
|
|
|
|
<!-- DO NOT COMMENT LIB ITS NECESSARY FOR COVERART !!! -->
|
|
<Libraries>
|
|
<dll name="mme-imgprc-gf.so"/>
|
|
</Libraries>
|
|
|
|
|
|
<!--
|
|
When loading images using the metadata interface one can specify profiles to perform image transformations
|
|
and transcoding. The following section defines the image profiles.
|
|
|
|
The "Profile" element begins a profile.
|
|
"index" This is required and is the profile number that will be given to the metadata interface API.
|
|
"maxpixels" If the image contains more pixels than this value, image processing will be aborted.
|
|
"enablecache" Optional element to enable or disable caching for a given profile, if omitted,
|
|
enablecache="true" is assumed.
|
|
|
|
Within a "Profile" the following elements can be present:
|
|
"Transform" Element begins the transformation definition, all sub transformation elements are processed in
|
|
order.
|
|
Within a "Transform" element the following elements can be present:
|
|
|
|
"Scale" The scale element allows you to scale the image and has the following arguments:
|
|
"method" Value can be "fill" (default) or "uniform". Uniform will keep aspect ratio.
|
|
If "uniform" then width and height properties will be used as a maximum.
|
|
"width" The width of the image in pixels. Must be a positive value.
|
|
"height" The height of the image in pixels. Must be a positive value.
|
|
"percentage" Value can be "false" or "true", indicates the width and height are
|
|
actually a percentage of the current image size.
|
|
If only one of the width/height arguments are present, then the image will be scaled
|
|
to fit the argument keeping the aspect ratio.
|
|
|
|
"Rotate" The rotate element allows you to rotate the image. Arguments are the following:
|
|
"method" The rotation required can be one of the following:
|
|
"90cw" 90 degree rotation clockwise.
|
|
"90ccw" 90 degrees rotation counter clockwise.
|
|
"180" 189 degree rotation.
|
|
"Transcode" Element begins the transcoding definition, if present it must be the last element. If not
|
|
present, no transcoding will be performed, and the image we be encode back to it's source
|
|
format.
|
|
|
|
Within the "Transcode" element the following elements can be present:
|
|
"Output" This element defines the output transcoding definition. Arguments are as follows:
|
|
"encoding" The output image coding, one of the following:
|
|
"jpeg" JPEG image format.
|
|
"bmp" BMP image format.
|
|
"gif" GIF image format.
|
|
"png" PNG image format.
|
|
"tiff" TIFF image format.
|
|
"ppm" PPM image format.
|
|
"format" The output image format, one of the following:
|
|
"mono" Monochromatic bitmap with 1 bit/pixel, packing 8 pixels per byte.
|
|
"grey" 8-bits/pixel graymap.
|
|
"rgb24" 24-bits/pixel RGB with 8 bits per channel as an ordered byte sequence.
|
|
"rgb565le" 16-bits/pixel RGB in little endia format.
|
|
"quality" The image quality, for codec that support compression, 0-100.
|
|
-->
|
|
|
|
<Profile index="0" maxpixels="2097152">
|
|
<Transform>
|
|
<Scale width="140" height="140" method="uniform"/>
|
|
</Transform>
|
|
<Transcode>
|
|
<Output encoding="jpeg" format="rgb565le" quality="85"/>
|
|
</Transcode>
|
|
</Profile>
|
|
<Profile index="1" maxpixels="2097152">
|
|
<Transform>
|
|
<Scale width="50" height="50" method="uniform"/>
|
|
</Transform>
|
|
<Transcode>
|
|
<Output encoding="jpeg" format="rgb565le" quality="85"/>
|
|
</Transcode>
|
|
</Profile>
|
|
<Profile index="2" maxpixels="2097152">
|
|
<Transform>
|
|
<Scale width="100" height="100" method="uniform"/>
|
|
</Transform>
|
|
<Transcode>
|
|
<Output encoding="jpeg" format="rgb565le" quality="85"/>
|
|
</Transcode>
|
|
</Profile>
|
|
<Profile index="3" maxpixels="2097152">
|
|
<Transform>
|
|
<Scale width="140" height="140" method="uniform"/>
|
|
</Transform>
|
|
<Transcode>
|
|
<Output encoding="jpeg" format="rgb565le" quality="85"/>
|
|
</Transcode>
|
|
</Profile>
|
|
<Profile index="4" maxpixels="2097152">
|
|
<Transform>
|
|
<Scale width="170" height="170" method="uniform"/>
|
|
</Transform>
|
|
<Transcode>
|
|
<Output encoding="jpeg" format="rgb565le" quality="85"/>
|
|
</Transcode>
|
|
</Profile>
|
|
<Profile index="5" maxpixels="2097152">
|
|
<Transform>
|
|
<Scale width="320" height="320" method="uniform"/>
|
|
</Transform>
|
|
<Transcode>
|
|
<Output encoding="jpeg" format="rgb565le" quality="85"/>
|
|
</Transcode>
|
|
</Profile>
|
|
</ImageProcessing>
|
|
|
|
<ExternalArtwork>
|
|
<!-- External artwork images are images that are placed in folders adjacent to the media file. The following
|
|
are configuration elements that control the search behavior for external artwork. External artwork
|
|
images will be delivered in the standard metadata interface.
|
|
|
|
|
|
|
|
"ignore_case" Boolean Set the case sensitivity of the file matching search.
|
|
|
|
"search_limit" Sets the maximum number of files in the folder to look for matching files before
|
|
giving up.
|
|
-->
|
|
<SearchBehaviour ignore_case="true" search_limit="100"/>
|
|
<ArtworkFileNames>
|
|
<!--
|
|
Non-embedded artwork can have many different file names, the following section allows
|
|
definition of regular expressions that will be matched based on the artwork search rules. A maximum number
|
|
of file specifiers equal to CONFIG_MAX_ARTWORK_FILE_SPECIFIERS can be defined.
|
|
-->
|
|
<!-- NBT Specific -->
|
|
<FileSpecifier value="^(folder|album|cover)\.(jp[e]?g|bmp|gif|png|tiff|ppm)$"/>
|
|
</ArtworkFileNames>
|
|
|
|
</ExternalArtwork>
|
|
|
|
</MetadataInterface>
|
|
|
|
<RendererOverride>
|
|
<renderer storagetype="8" name="mediafs_2wire_ipod"/>
|
|
</RendererOverride>
|
|
|
|
|
|
</Configuration>
|