2025-06-09 15:07:26 +02:00

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>