<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediamonkey.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bex</id>
	<title>MediaMonkey Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediamonkey.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bex"/>
	<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/Special:Contributions/Bex"/>
	<updated>2026-05-02T13:00:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.4</generator>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Last.FM_Scrobbler_Plugin_Info&amp;diff=5520</id>
		<title>Last.FM Scrobbler Plugin Info</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Last.FM_Scrobbler_Plugin_Info&amp;diff=5520"/>
		<updated>2010-01-16T10:41:29Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About Last.FM Scrobbler Support =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mediamonkey supports the Last.FM &#039;scrobbler&#039; plugins to submit played tracks within MediaMonkey itself (portable player sync&#039;d played tracks are not supported).&lt;br /&gt;
&lt;br /&gt;
Currently there are 3 main plugins available, only ONE of which should reside in the &amp;quot;&amp;lt;MediaMonkey program folder&amp;gt;\Plugins&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: &#039;&#039;&#039;Option 3&#039;&#039;&#039; Is recommended for use&lt;br /&gt;
&lt;br /&gt;
== Option 1: gen_audioscrobbler.dll (v 1.1.10) ==&lt;br /&gt;
&lt;br /&gt;
This is the last &#039;old style&#039; plugin for winamp 2 compatible clients. This plugin uses a config panel normally accessed via Tool &amp;gt; Options &amp;gt; Player &amp;gt; General Plugins &amp;gt; Plugin Config.&lt;br /&gt;
&lt;br /&gt;
You can download this from the links @ http://www.last.fm/forum/34905/_/135053&lt;br /&gt;
&lt;br /&gt;
Occasionally the config panel will get hidden behind the MM app window, if the MM window is made smaller you can usually then click on the config panel to bring it to the front where you can change and save your settings. Alternative way is to use ALT+TAB to bring back focus to config panel.&lt;br /&gt;
&lt;br /&gt;
This plugin does not support last.fm profile &amp;quot;Now Playing&amp;quot; updates, and some unicode characters can cause a track to not be submitted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INSTALLATION:&#039;&#039;&#039;&lt;br /&gt;
* Download this: http://static.last.fm/plugins/audioscrobbler.wa.1.1.10.exe&lt;br /&gt;
* Install to \Program Files\Mediamonkey\Plugins\&lt;br /&gt;
* Choose &#039;General&#039; option rather than &#039;Media library&#039; option when installing.&lt;br /&gt;
* Restart MM or start it, and go into Tools -&amp;gt; Options -&amp;gt; General Plug-ins to enter your login information&lt;br /&gt;
* Scrobble!&lt;br /&gt;
&lt;br /&gt;
== Option 2: gen_wa2_scrobbler.dll (v 2.x.x) ==&lt;br /&gt;
&lt;br /&gt;
This is the offical current style of last.fm plugins. This plugin utilizes a &#039;tray application&#039; which gives some additional metadata info and includes the last.fm radio player for streaming radio.&lt;br /&gt;
&lt;br /&gt;
The last compatible version for v2 plugins is [http://static.last.fm/plugins/ass/WinampPluginSetup_2.0.45.0.exe 2.0.45], newer plugins are currently incompatible with MediaMonkey.&lt;br /&gt;
&lt;br /&gt;
To configure the version 2 style, you must open the tray application and configure through it&#039;s options. The plugin does not have any self configure, nor will it function without the tray application installed and running (normally the plugin will start the tray app automatically).&lt;br /&gt;
&lt;br /&gt;
The latest official plugins are always available at Last.FM http://www.last.fm/download/ keeping in mind that while the latest tray app should work, plugins newer than [http://static.last.fm/plugins/ass/WinampPluginSetup_2.0.45.0.exe 2.0.45] will not.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INSTALLATION:&#039;&#039;&#039;&lt;br /&gt;
* Download this: http://static.last.fm/plugins/ass/WinampPluginSetup_2.0.45.0.exe&lt;br /&gt;
* Install to \Program Files\Mediamonkey\Plugins&lt;br /&gt;
* When last.fm tells you to update your plugin, don&#039;t do it, the newest plugin doesn&#039;t work.&lt;br /&gt;
* Scrobble!&lt;br /&gt;
&lt;br /&gt;
== Option 3: gen_LastFMScrobbler.dll [http://www.mediamonkey.com/forum/viewtopic.php?f=6&amp;amp;t=34632&amp;amp;sd=d Native Last.FM Scrobbler Plugin] (beta) ==&lt;br /&gt;
&lt;br /&gt;
Native MM last.fm plugin - Requires at least [http://www.mediamonkey.com/forum/viewtopic.php?f=6&amp;amp;t=34522&amp;amp;sd=d MediaMonkey version 3.1] Only one that Scrobbles Unicode Tracks Correctly; Does NOT need Last.fm Util/player to be installed (And if it is installed suggested action is to disable Scrobbling of tracks played in last.fm player).&lt;br /&gt;
&lt;br /&gt;
See complete [http://www.mediamonkey.com/forum/viewtopic.php?f=6&amp;amp;t=34632&amp;amp;start=0 forum thread] for more details&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;INSTALLATION:&#039;&#039;&#039;&lt;br /&gt;
* Download at: http://www.mediamonkey.com/forum/viewtopic.php?f=6&amp;amp;t=34632&amp;amp;sd=d&lt;br /&gt;
* Double-click the downloaded file, and agree to install&lt;br /&gt;
* Go to Tools &amp;gt; Options &amp;gt; Last.fm Service to configure your username and password&lt;br /&gt;
* Scrobble!&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=5408</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=5408"/>
		<updated>2009-11-18T07:04:24Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
* USERLOCALE - Sorts according to users locale in regional settings. (Implemented in 3.1.2.1279)&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
* SOUNDEX(string) - Returns a four-character string, based on how the word is pronounced in English. Similar spelled names are supposed to returns the same string. (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statement, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]: Contains all the media sources that have been used&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=5407</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=5407"/>
		<updated>2009-11-18T06:45:59Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
* USERLOCALE - Sorts according to users locale in regional settings.&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
* SOUNDEX(string) - Returns a four-character string, based on how the word is pronounced in English. Similar spelled names are supposed to returns the same string. (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statement, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]: Contains all the media sources that have been used&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=5406</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=5406"/>
		<updated>2009-11-18T06:45:44Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
UserLocale&lt;br /&gt;
* USERLOCALE - Sorts according to users locale in regional settings.&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
* SOUNDEX(string) - Returns a four-character string, based on how the word is pronounced in English. Similar spelled names are supposed to returns the same string. (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statement, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]: Contains all the media sources that have been used&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIForm::ActiveControl&amp;diff=5402</id>
		<title>ISDBUIForm::ActiveControl</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIForm::ActiveControl&amp;diff=5402"/>
		<updated>2009-11-10T19:55:36Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIForm|ISDBUIForm|Property Get/Let ActiveControl As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Sets focus to a control of the parent form. &lt;br /&gt;
The control is represented by its ControlName.&lt;br /&gt;
&lt;br /&gt;
Gets ControlName of focused control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
MyForm.ActiveControl = &amp;quot;MyEditBoxControlName&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MyForm.ActiveControl = MyEditBox.Common.ControlName&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.2.1289 &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIForm|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIForm|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ShiftState&amp;diff=5380</id>
		<title>ShiftState</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ShiftState&amp;diff=5380"/>
		<updated>2009-10-31T07:53:08Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shift state is an integer value specifying set of keys currently pressed. It can be a combination (i.e. binary OR) of any of the following values:&lt;br /&gt;
&lt;br /&gt;
:0 ... &amp;lt;Nothing&amp;gt;&lt;br /&gt;
:1 ... WinKey&lt;br /&gt;
:2 ... Shift&lt;br /&gt;
:4 ... Alt&lt;br /&gt;
:8 ... Ctrl&lt;br /&gt;
:16 ... Left mouse&lt;br /&gt;
:32 ... Right mouse&lt;br /&gt;
:64 ... Middle mouse&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackEnd&amp;diff=4899</id>
		<title>ISDBApplicationEvents::OnTrackEnd</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackEnd&amp;diff=4899"/>
		<updated>2009-01-22T23:05:26Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnTrackEnd}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when track playback is finished because the end of track is reached.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1218.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4886</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4886"/>
		<updated>2009-01-21T23:06:22Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
* SOUNDEX(string) - Returns a four-character string, based on how the word is pronounced in English. Similar spelled names are supposed to returns the same string. (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statemant, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnShuffleClicked&amp;diff=4881</id>
		<title>ISDBApplicationEvents::OnShuffleClicked</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnShuffleClicked&amp;diff=4881"/>
		<updated>2009-01-21T18:14:26Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnShuffleClicked}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when state of Shuffle is changed.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnRepeatClicked&amp;diff=4880</id>
		<title>ISDBApplicationEvents::OnRepeatClicked</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnRepeatClicked&amp;diff=4880"/>
		<updated>2009-01-21T18:14:11Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnRepeatClicked}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when state of Repeat is changed.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnNowPlayingModified&amp;diff=4879</id>
		<title>ISDBApplicationEvents::OnNowPlayingModified</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnNowPlayingModified&amp;diff=4879"/>
		<updated>2009-01-21T18:13:56Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnNowPlayingModified}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when the content of Now Playing is modified in any way (tracks added, moved, deleted, ...).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnNowPlayingSelectionChanged&amp;diff=4878</id>
		<title>ISDBApplicationEvents::OnNowPlayingSelectionChanged</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnNowPlayingSelectionChanged&amp;diff=4878"/>
		<updated>2009-01-21T18:13:35Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnNowPlayingSelectionChanged}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when there&#039;s any change in Now Playing selection (some tracks are selected or unselected).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnIdle&amp;diff=4877</id>
		<title>ISDBApplicationEvents::OnIdle</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnIdle&amp;diff=4877"/>
		<updated>2009-01-21T18:13:12Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnIdle}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when MediaMonkey doesn&#039;t do anything and scripts can do something on background.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackListSelectionChanged&amp;diff=4872</id>
		<title>ISDBApplicationEvents::OnTrackListSelectionChanged</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackListSelectionChanged&amp;diff=4872"/>
		<updated>2009-01-21T16:58:20Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnTrackListSelectionChanged}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when there&#039;s any change in the main tracklist selection (some tracks are selected or unselected).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommonEvents::OnExit&amp;diff=4871</id>
		<title>ISDBUICommonEvents::OnExit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommonEvents::OnExit&amp;diff=4871"/>
		<updated>2009-01-21T16:57:41Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommonEvents|Sub OnExit(Control As Object)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Control |Object |}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when the associated control loses focus.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommonEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommonEvents::OnEnter&amp;diff=4866</id>
		<title>ISDBUICommonEvents::OnEnter</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommonEvents::OnEnter&amp;diff=4866"/>
		<updated>2009-01-21T16:48:34Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommonEvents|Sub OnEnter(Control As Object)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Control |Object |}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when the associated control gets focus.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommonEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommonEvents::OnDblClick&amp;diff=4865</id>
		<title>ISDBUICommonEvents::OnDblClick</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommonEvents::OnDblClick&amp;diff=4865"/>
		<updated>2009-01-21T16:48:16Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommonEvents|Sub OnDblClick(Control As Object)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Control |Object |}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when the associated control is double-clicked.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1217.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommonEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBFileSystem::CopyFile&amp;diff=4851</id>
		<title>ISDBFileSystem::CopyFile</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBFileSystem::CopyFile&amp;diff=4851"/>
		<updated>2009-01-21T00:44:58Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBFileSystem|ISDBFileSystem|Function CopyFile(Source As String, Destination As String) As Boolean}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Source |String |Source filename.&lt;br /&gt;
 |Destination |String |Destination filename.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Copies source file to the target file.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1212.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBFileSystem|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBFileSystem|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBFileSystem::MoveFile&amp;diff=4850</id>
		<title>ISDBFileSystem::MoveFile</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBFileSystem::MoveFile&amp;diff=4850"/>
		<updated>2009-01-21T00:44:38Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBFileSystem|ISDBFileSystem|Function MoveFile(Source As String, Destination As String) As Boolean}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Source |String |Source filename.&lt;br /&gt;
 |Destination |String |Destination filename.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Moves source file to the target file.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1212. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBFileSystem|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBFileSystem|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBPlayer::PlaylistFocused&amp;diff=4849</id>
		<title>ISDBPlayer::PlaylistFocused</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBPlayer::PlaylistFocused&amp;diff=4849"/>
		<updated>2009-01-21T00:42:14Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBPlayer|ISDBPlayer|Property Get/Let PlaylistFocused (Index As Long) As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Retuns or sets which track in Now Playing list is focused.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1214. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBPlayer|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBPlayer|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBPlayer::PlaylistSelected&amp;diff=4848</id>
		<title>ISDBPlayer::PlaylistSelected</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBPlayer::PlaylistSelected&amp;diff=4848"/>
		<updated>2009-01-21T00:41:46Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBPlayer|ISDBPlayer|Property Get/Let PlaylistSelected (Index As Long) As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Retuns or sets whether given track in Now Playing list is selected.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1214. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBPlayer|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBPlayer|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBIniFile::Flush&amp;diff=4847</id>
		<title>ISDBIniFile::Flush</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBIniFile::Flush&amp;diff=4847"/>
		<updated>2009-01-21T00:36:39Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBIniFile|ISDBIniFile|Sub Flush}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Saves all changes made to the ini file to disk. This is automatically done by MediaMonkey when all instances of the ini file (i.e. in all scripts!) are destroyed. You can call this for additional safety, when needed.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1214. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBIniFile|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBIniFile|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTracksWindow::Selected&amp;diff=4846</id>
		<title>ISDBTracksWindow::Selected</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTracksWindow::Selected&amp;diff=4846"/>
		<updated>2009-01-21T00:34:24Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTracksWindow|ISDBTracksWindow|Property Get/Let Selected( Index As Long) As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns or sets whether given track in the main tracklist is selected or is not.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1214. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBTracksWindow|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBTracksWindow|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTracksWindow::Focused&amp;diff=4845</id>
		<title>ISDBTracksWindow::Focused</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTracksWindow::Focused&amp;diff=4845"/>
		<updated>2009-01-21T00:34:00Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTracksWindow|ISDBTracksWindow|Property Get/Let Focused As Long}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns or sets focused track in the main track list.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1214. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBTracksWindow|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBTracksWindow|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBScriptControl::Reload&amp;diff=4844</id>
		<title>ISDBScriptControl::Reload</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBScriptControl::Reload&amp;diff=4844"/>
		<updated>2009-01-21T00:32:49Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBScriptControl|ISDBScriptControl|Sub Reload(ScriptPath As String)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ScriptPath |String |Script file to be reloaded.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
This method is for script development only. When called with a full script path, the script will be reloaded from disk before the its next event is called and so updated source from disk is used instead of the already loaded code from memory.&lt;br /&gt;
&lt;br /&gt;
In case the ScriptPath parameter is an empty string, all strings in memory will be reloaded.&lt;br /&gt;
&lt;br /&gt;
Note that by calling this method you lose all global variables of the reloaded script, their content can&#039;t be preserved. On the other hand, all registered events are preserved.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1212. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBScriptControl|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBScriptControl|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::MainWindowFocus&amp;diff=4843</id>
		<title>ISDBUI::MainWindowFocus</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::MainWindowFocus&amp;diff=4843"/>
		<updated>2009-01-21T00:32:12Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get/Let MainWindowFocus As Int}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns or set the currently focused control of the main window. Possible values are:&lt;br /&gt;
&lt;br /&gt;
:0 ... Undefined&lt;br /&gt;
:1 ... Tree&lt;br /&gt;
:2 ... Tracklist&lt;br /&gt;
:3 ... Search&lt;br /&gt;
:4 ... Now Playing&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1210.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUI|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUI|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUITreeListItem::TreeList&amp;diff=4842</id>
		<title>ISDBUITreeListItem::TreeList</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUITreeListItem::TreeList&amp;diff=4842"/>
		<updated>2009-01-21T00:31:37Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUITreeListItem|ISDBUITreeListItem|Property Get TreeList As [[SDBUITreeList]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns treelist control this node belongs to.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1208.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUITreeListItem|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUITreeListItem|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUIListBox&amp;diff=4841</id>
		<title>SDBUIListBox</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUIListBox&amp;diff=4841"/>
		<updated>2009-01-21T00:30:47Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUIListBox ==&lt;br /&gt;
&lt;br /&gt;
Listbox (UI element).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1208.&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIListBox members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIListBox::Common|Common]] |Property Get |  &lt;br /&gt;
|[[ISDBUIListBox::ItemIndex|ItemIndex]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBUIListBox::Items|Items]] |Property Get/Let |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIListBoxEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIListBoxEvents::OnChange|OnChange]] |Event |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIListBox|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIEdit::SelText&amp;diff=4840</id>
		<title>ISDBUIEdit::SelText</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIEdit::SelText&amp;diff=4840"/>
		<updated>2009-01-21T00:28:23Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIEdit|ISDBUIEdit|Property Get/Let SelText As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Selected text (can&#039;t be edited using this property).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIEdit::SelStart&amp;diff=4839</id>
		<title>ISDBUIEdit::SelStart</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIEdit::SelStart&amp;diff=4839"/>
		<updated>2009-01-21T00:28:07Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIEdit|ISDBUIEdit|Property Get/Let SelStart As Integer}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Start of selected text.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIEdit::SelLength&amp;diff=4838</id>
		<title>ISDBUIEdit::SelLength</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIEdit::SelLength&amp;diff=4838"/>
		<updated>2009-01-21T00:27:38Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIEdit|ISDBUIEdit|Property Get/Let SelLength As Integer}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Length of selected text.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontUnderline&amp;diff=4837</id>
		<title>ISDBUICommon::FontUnderline</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontUnderline&amp;diff=4837"/>
		<updated>2009-01-21T00:25:51Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontUnderline As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Whether font of the control is underlined.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontStrikeOut&amp;diff=4836</id>
		<title>ISDBUICommon::FontStrikeOut</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontStrikeOut&amp;diff=4836"/>
		<updated>2009-01-21T00:25:34Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontStrikeOut As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Whether font of the control is striked out.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontSize&amp;diff=4835</id>
		<title>ISDBUICommon::FontSize</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontSize&amp;diff=4835"/>
		<updated>2009-01-21T00:25:08Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontSize As Int}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Specifies size of font used for the control.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontName&amp;diff=4834</id>
		<title>ISDBUICommon::FontName</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontName&amp;diff=4834"/>
		<updated>2009-01-21T00:24:48Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontName As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Specifies name of font used for the control.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontItalic&amp;diff=4833</id>
		<title>ISDBUICommon::FontItalic</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontItalic&amp;diff=4833"/>
		<updated>2009-01-21T00:23:58Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontItalic As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Whether font of the control is Italic.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontColor&amp;diff=4832</id>
		<title>ISDBUICommon::FontColor</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontColor&amp;diff=4832"/>
		<updated>2009-01-21T00:23:41Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontColor As Int}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Specifies color of font used for the control.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontBold&amp;diff=4831</id>
		<title>ISDBUICommon::FontBold</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICommon::FontBold&amp;diff=4831"/>
		<updated>2009-01-21T00:23:21Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICommon|ISDBUICommon|Property Get/Let FontBold As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Whether font of the control is Bold.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1207.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICommon|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICommon|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4830</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4830"/>
		<updated>2009-01-21T00:21:27Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
* SOUNDEX(string) - Returns a four-character string, indicating how the word is pronounced in English (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statemant, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackDeleting&amp;diff=4829</id>
		<title>ISDBApplicationEvents::OnTrackDeleting</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackDeleting&amp;diff=4829"/>
		<updated>2009-01-21T00:15:11Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Function OnTrackDeleting(Track As SDBSongData, FromDisk As Bool) As Bool}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Track |[[SDBSongData]] |Track to be deleted&lt;br /&gt;
 |FromDisk |Bool |Will be deleted from disk, or just from Library?}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when a track is about to be deleted. In case the event returns True, the track deletion doesn&#039;t proceed.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1206. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBApplication|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBApplicationEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTree::Refresh&amp;diff=4828</id>
		<title>ISDBTree::Refresh</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTree::Refresh&amp;diff=4828"/>
		<updated>2009-01-21T00:09:42Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTree|ISDBTree|Sub Refresh}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Causes the tree to be repainted. It&#039;s useful after some actions, e.g. changing tree node Caption doesn&#039;t repaint the node automatically and so this method might be needed.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.1.0.1216.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBTree|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBTree|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4827</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4827"/>
		<updated>2009-01-20T23:53:13Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(Str,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statemant, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4826</id>
		<title>Database Structure</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Database_Structure&amp;diff=4826"/>
		<updated>2009-01-20T23:41:45Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DatabaseTablesList}}&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey 3.0==&lt;br /&gt;
&lt;br /&gt;
== Database type ==&lt;br /&gt;
[http://www.sqlite.org SQLite] version 3&lt;br /&gt;
* Encoding: UTF-16le&lt;br /&gt;
* Text collate IUNICODE (except where indicated with a (*))&lt;br /&gt;
&lt;br /&gt;
== Additions to SQLite ==&lt;br /&gt;
Check out [http://www.sqlite.org/docs.html SQLite documentation]. MediaMonkey adds some more functions that you can use in SQL queries:&lt;br /&gt;
&lt;br /&gt;
=== Collations ===&lt;br /&gt;
* IUNICODE - Unicode language neutral case insensitive (Post [http://www.mediamonkey.com/forum/viewtopic.php?p=127635#127635 1] [http://www.mediamonkey.com/forum/viewtopic.php?p=79915#79915 2] by Jiri with more detail)&lt;br /&gt;
* NUMERICSTRING - Natural song order respecting numbers stored as strings. Useful for Track# and Disc# fields.&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* HASSUBFOLDERS(string) - Used internally by MediaMonkey.&lt;br /&gt;
* INSTR(string1, string2) - Returns 1-based index of the first occurrence of string2 in string1, if not found 0 is returned. Case sensitive.&lt;br /&gt;
* LIKE(string1, string2) - Used to replace internal SQLite LIKE operator with one that supports Unicode strings. SEE NOTE!&lt;br /&gt;
* NEXTPATHPART(string) - Used internally by MediaMonkey.&lt;br /&gt;
* SIN(number) - Mathematical sinus function.&lt;br /&gt;
* STRICOMPW(string1, string2) - Compares two Unicode strings, case insensitive.&lt;br /&gt;
* UPPERW(string) - Unicode string upper case.&lt;br /&gt;
* GETEXTENSION(string) - Returns the extension from a filename. (Introduced in MM 3.1)&lt;br /&gt;
&lt;br /&gt;
==== Note regarding LIKE ====&lt;br /&gt;
This MM-specific implementation of LIKE, automatically uses the @-sign as the escape character and it is always applied.&lt;br /&gt;
It means that you need to modify the SearchString to correctly use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is one example of an VBScript function which prepares the search string correctly.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Function FixLikeSearchString(Str)&lt;br /&gt;
  Str = Replace(SqlString,&amp;quot;@&amp;quot;,&amp;quot;@@&amp;quot;)&lt;br /&gt;
  Str = Replace(SqlString,&amp;quot;_&amp;quot;,&amp;quot;@_&amp;quot;)&lt;br /&gt;
  Str = Replace(SqlString,&amp;quot;%&amp;quot;,&amp;quot;@%&amp;quot;)&lt;br /&gt;
  Str = Replace(SqlString,&amp;quot;&#039;&amp;quot;,&amp;quot;&#039;&#039;&amp;quot;) &#039;&amp;lt;--- Single quotes are escaped with another single quote&lt;br /&gt;
  FixLikeSearchString=Str&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you for some reason, within an SQL-statemant, need to link two fields using LIKE (instead of =) then use this syntax:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SomeField LIKE REPLACE(REPLACE(REPLACE(SomeOtherField,&#039;@&#039;,&#039;@@&#039;)&#039;_&#039;,&#039;@_&#039;)&#039;%&#039;,&#039;@%&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 3 Database location ==&lt;br /&gt;
&#039;&#039;&#039;Windows XP:&#039;&#039;&#039; C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey\MM.DB&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Windows Vista:&#039;&#039;&#039; C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\MediaMonkey\MM.DB&lt;br /&gt;
&lt;br /&gt;
== Default Mediamonkey 2 Database location ==&lt;br /&gt;
My Documents\My Music\Mediamonkey\Mediamonkey.mdb&lt;br /&gt;
&lt;br /&gt;
== Used data types ==&lt;br /&gt;
&#039;&#039;&#039;INTEGER&#039;&#039;&#039; The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;REAL&#039;&#039;&#039; The value is a floating point value, stored as an 8-byte IEEE floating point number.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;TEXT&#039;&#039;&#039; The value is a text string, stored using the database encoding (UTF-16-LE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Structure explanation ==&lt;br /&gt;
The most important table is the &#039;&#039;Songs&#039;&#039; table, which is the starting point for all song-specific info. To allow rapid requests, most of the information is present in the table itself, e.g. the Artist name is spelled out.&lt;br /&gt;
The link between table Songs and other tables like Artists, Albums, ... happens with intermediary tables, e.g. ArtistsSongs. This allows us to assign multiple songs to one artist, AND multiple artists to one song.&lt;br /&gt;
&lt;br /&gt;
The database contains custom events, called &amp;quot;triggers&amp;quot;, that are executed when e.g. an artist is assigned to a track. For that example, the trigger will automatically increment the Artists table&#039;s Tracks counter field.&lt;br /&gt;
&lt;br /&gt;
== Database tables ==&lt;br /&gt;
*[[Albums table|Albums]]: Contains all Albums and some Album specific info&lt;br /&gt;
*[[Artists table|Artists]]: Contains all Artists, AlbumArtists, Composers, Conductors and Lyricists with their track count&lt;br /&gt;
*[[ArtistsAlbums table|ArtistsAlbums]]: Specifies the relation between an Album and its AlbumArtist(s)&lt;br /&gt;
*[[ArtistsSongs table|ArtistsSongs]]: Specifies the relation between a Song and its Artist(s), Composer(s), Conductor(s) and Lyricist(s)&lt;br /&gt;
*[[Covers table|Covers]]&lt;br /&gt;
*[[DBInfo table|DBInfo]]&lt;br /&gt;
*[[DeviceFilters table|DeviceFilters]]&lt;br /&gt;
*[[DeviceTracks table|DeviceTracks]]&lt;br /&gt;
*[[Devices table|Devices]]&lt;br /&gt;
*[[Filters table|Filters]]: Contains all Filters/Views configured in MM&lt;br /&gt;
*[[Folders table|Folders]]&lt;br /&gt;
*[[FoldersHier table|FoldersHier]]&lt;br /&gt;
*[[Genres table|Genres]]: Contains all Genres with track Count&lt;br /&gt;
*[[GenresSongs table|GenresSongs]]: Specifies the relation between a Song and its Genre(s)&lt;br /&gt;
*[[LastTreePath table|LastTreePath]]&lt;br /&gt;
*[[Lists table|Lists]]: Contains all Classifications and their sort order in the tree&lt;br /&gt;
*[[ListsSongs table|ListsSongs]]: Specifies the relation between a Song and its various Classifications&lt;br /&gt;
*[[Medias table|Medias]]&lt;br /&gt;
*[[OrganizeRules table|OrganizeRules]]&lt;br /&gt;
*[[PathProcessing table|PathProcessing]]&lt;br /&gt;
*[[Played table|Played]]&lt;br /&gt;
*[[PlaylistSongs table|PlaylistSongs]] Specifies the relation between a Song and what &#039;&#039;&#039;Static Playlist(s)&#039;&#039;&#039; it appears in&lt;br /&gt;
*[[Playlists table|Playlists]] : Contains all Static Playlists and Auto-Playlists&lt;br /&gt;
*[[PodcastDirs table|PodcastDirs]]&lt;br /&gt;
*[[PodcastEpisodes table|PodcastEpisodes]] Specifies the relation between a Song and a Podcast&lt;br /&gt;
*[[Podcasts table|Podcasts]] Specifies podcast subscriptions &lt;br /&gt;
*[[Songs table|Songs]] : Contains all songs with all their properties&lt;br /&gt;
*[[SynchAlbum table|SynchAlbum]]&lt;br /&gt;
*[[SynchArtist table|SynchArtist]]&lt;br /&gt;
*[[SynchLocation table|SynchLocation]]&lt;br /&gt;
*[[SynchPlaylist table|SynchPlaylist]]&lt;br /&gt;
*[[SynchPodcast table|SynchPodcast]]&lt;br /&gt;
&lt;br /&gt;
== Database structure == &lt;br /&gt;
&#039;&#039;(only most important tables)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Image:MM3DBStructure.PNG|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==MediaMonkey v2.5 and lower==&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
[[Image:DatabaseRelationsMM2.gif|center|650px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AddSongInfo===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;TextData&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 100 || AIF_COPYRIGHT || Copyright&lt;br /&gt;
|-&lt;br /&gt;
| 101 || AIF_PUBLISHER || Publisher&lt;br /&gt;
|-&lt;br /&gt;
| 102 || AIF_ENCODER || Encoder&lt;br /&gt;
|-&lt;br /&gt;
| 103 || AIF_ENCODEDBY || Encoded By&lt;br /&gt;
|-&lt;br /&gt;
| 200 || AIF_LYRICIST || Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 201 || AIF_BAND || Band&lt;br /&gt;
|-&lt;br /&gt;
| 202 || AIF_CONDUCTOR || Conductor&lt;br /&gt;
|-&lt;br /&gt;
| 203 || AIF_REMIXER || Remixer&lt;br /&gt;
|-&lt;br /&gt;
| 204 || AIF_INVOLVEDPEOPLE || Involved People&lt;br /&gt;
|-&lt;br /&gt;
| 205 || AIF_MUSICCOMPOSER || (See note)&lt;br /&gt;
|-&lt;br /&gt;
| 300 || AIF_ORIGTITLE || Original Title&lt;br /&gt;
|-&lt;br /&gt;
| 301 || AIF_ORIGARTIST || Original Artist&lt;br /&gt;
|-&lt;br /&gt;
| 302 || AIF_ORIGLYRICIST || Original Lyricist&lt;br /&gt;
|-&lt;br /&gt;
| 400 || AIF_GROUPDESC || &lt;br /&gt;
|-&lt;br /&gt;
| 401 || AIF_SUBTITLE || &lt;br /&gt;
|-&lt;br /&gt;
| 402 || AIF_ISRC || &lt;br /&gt;
|-&lt;br /&gt;
| 500 || AIF_INITIALKEY || &lt;br /&gt;
|-&lt;br /&gt;
| 501 || AIF_LANGUAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 502 || AIF_MEDIATYPE || &lt;br /&gt;
|-&lt;br /&gt;
| 503 || AIF_RATINGSTRING || &lt;br /&gt;
|-&lt;br /&gt;
| 1000 || AIF_WEB_COMMERCIAL || &lt;br /&gt;
|-&lt;br /&gt;
| 1001 || AIF_WEB_COPYRIGHT || &lt;br /&gt;
|-&lt;br /&gt;
| 1002 || AIF_WEB_FILEPAGE || &lt;br /&gt;
|-&lt;br /&gt;
| 1003 || AIF_WEB_ARTIST || &lt;br /&gt;
|-&lt;br /&gt;
| 1004 || AIF_WEB_SOURCE || &lt;br /&gt;
|-&lt;br /&gt;
| 1005 || AIF_WEB_RADIO || &lt;br /&gt;
|-&lt;br /&gt;
| 1006 || AIF_WEB_PAYMENT || &lt;br /&gt;
|-&lt;br /&gt;
| 1007 || AIF_WEB_PUBLISHER || &lt;br /&gt;
|-&lt;br /&gt;
| 1100 || AIF_WEB_USER || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Apparently, the value for the composer is stored in the Author field of the Songs table rather than in the AddSongInfo table under MediaMonkey 2.5. The situation in other versions is unknown.&lt;br /&gt;
&lt;br /&gt;
===AddSongInfoInt===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;IntData&amp;quot;&#039;&#039; (linked to Lists.ID)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataType&#039;&#039;&#039; (partially linked to Lists.IDListType)&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 10000 || AIF_ORIGYEAR || Original Year&lt;br /&gt;
|-&lt;br /&gt;
| 10101 || AIF_TEMPO || Tempo&lt;br /&gt;
|-&lt;br /&gt;
| 10102 || AIF_MOOD || Mood&lt;br /&gt;
|-&lt;br /&gt;
| 10103 || AIF_OCCASION || Occasion&lt;br /&gt;
|-&lt;br /&gt;
| 10104 || AIF_QUALITY || Quality&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Memos===&lt;br /&gt;
&#039;&#039;Value field is &amp;quot;MemoText&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MemoType&#039;&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Value || AIF Code || Description&lt;br /&gt;
|-&lt;br /&gt;
| 20000 || AIF_LYRICS || Lyrics&lt;br /&gt;
|-&lt;br /&gt;
| 20001 || AIF_COMMENT || Comment&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::Year&amp;diff=4344</id>
		<title>ISDBSongData::Year</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::Year&amp;diff=4344"/>
		<updated>2008-06-05T17:08:16Z</updated>

		<summary type="html">&lt;p&gt;Bex: /* Property description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBSongData|ISDBSongData|Property Get/Let Year As Long}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Year part of the full date. Note that if you set this value, you automatically erase Month and Day to 0. So, if you want to set the full date this way, you have to set Year first and only then Month and Day. Also, do not set Month and Day if Year is not set since it yields strange result.&lt;br /&gt;
&lt;br /&gt;
{{Property Summary|SongData|Year|Value|Songs|Year|Integer|Date|19740000|}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBSongData|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBSongData|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::OriginalYear&amp;diff=4343</id>
		<title>ISDBSongData::OriginalYear</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::OriginalYear&amp;diff=4343"/>
		<updated>2008-06-05T17:07:48Z</updated>

		<summary type="html">&lt;p&gt;Bex: /* Property description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBSongData|ISDBSongData|Property Get/Let OriginalYear As Long}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Year part of the full original date. Note that if you set this value, you automatically erase OriginalMonth and OriginalDay to 0. So, if you want to set the full date this way, you have to set Year first and only then Month and Day. Also, do not set OriginalMonth and OriginalDay if OriginalYear is not set since it yields strange result.&lt;br /&gt;
&lt;br /&gt;
{{Property Summary|SongData|OriginalYear|Value|Songs|OrigYear|Integer|Original Date|19740000|}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBSongData|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBSongData|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::OriginalMonth&amp;diff=4342</id>
		<title>ISDBSongData::OriginalMonth</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::OriginalMonth&amp;diff=4342"/>
		<updated>2008-06-05T17:02:09Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Property description===&lt;br /&gt;
&lt;br /&gt;
Month part of the full original date. It can be 1-12 or 0 in case it is unknown.&lt;br /&gt;
&lt;br /&gt;
{{Property Summary|SongData|OriginalMonth|Value|Songs|Year|Integer|Date|19741023|}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBSongData|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBSongData|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::OriginalDay&amp;diff=4341</id>
		<title>ISDBSongData::OriginalDay</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::OriginalDay&amp;diff=4341"/>
		<updated>2008-06-05T17:00:30Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Property description===&lt;br /&gt;
&lt;br /&gt;
Day part of the full original release date. It can be 1-31 or 0 in case it is unknown.&lt;br /&gt;
&lt;br /&gt;
{{Property Summary|SongData|OriginalDay|Value|Songs|Year|Integer|Date|19741023|}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBSongData|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBSongData|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBSongData&amp;diff=4340</id>
		<title>SDBSongData</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBSongData&amp;diff=4340"/>
		<updated>2008-06-05T16:55:53Z</updated>

		<summary type="html">&lt;p&gt;Bex: /* ISDBSongData members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBSongData ==&lt;br /&gt;
&lt;br /&gt;
Object with all properties of a track. Corresponding Songs Table columns.&lt;br /&gt;
&lt;br /&gt;
To apply changes made to a SongData object, be sure to call one or more of the methods [[ISDBSongData::UpdateAlbum|UpdateAlbum]], [[ISDBSongData::UpdateArtist|UpdateArtist]], [[ISDBSongData::UpdateDB|UpdateDB]] and/or [[ISDBSongData::WriteTags|WriteTags]]. In some cases, you can call the [[ISDBSongList::UpdateAll|UpdateAll]] method of the SongList object containing the SongData object.&lt;br /&gt;
&lt;br /&gt;
=== ISDBSongData members ===&lt;br /&gt;
   &lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name &lt;br /&gt;
! Type &lt;br /&gt;
! Description&lt;br /&gt;
!&lt;br /&gt;
! Name&lt;br /&gt;
! Value Type&lt;br /&gt;
! Possible Values&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Album|Album]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::AlbumArt|AlbumArt]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::AlbumArtistName|AlbumArtistName]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|AlbumArtist &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::AlbumName|AlbumName]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Album &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Artist|Artist]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::ArtistName|ArtistName]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Artist &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Author|Author]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Author &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|The Composer of the Song &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Band|Band]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Band &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Bitrate|Bitrate]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Bitrate &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Bookmark|Bookmark]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PlaybackPos &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|To be confirmed&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::BPM|BPM]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|BPM &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|Beats Per Minute &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Cached|Cached]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CacheStatus &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::CachedPath|CachedPath]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|CacheName &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::CalculateGapData|CalculateGapData]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Channels|Channels]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Stereo &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Comment|Comment]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Comment &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Conductor|Conductor]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Conductor &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Copyright|Copyright]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Copyright &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Custom1|Custom1]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Custom1 &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Custom2|Custom2]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Custom2 &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Custom3|Custom3]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Custom3 &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Custom4|Custom4]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Custom4 &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Custom5|Custom5]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Custom5 &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::DateAdded|DateAdded]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DateAdded &lt;br /&gt;
|REAL &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Day|Day]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Year[7,2]&lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::DiscNumber|DiscNumber]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|MM2&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::DiscNumberStr|DiscNumberStr]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|DiscNumber &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Encoder|Encoder]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Encoder &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::FileLength|FileLength]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|FileLength &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::FileModified|FileModified]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|FileModified &lt;br /&gt;
|REAL &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::GaplessBytes|GaplessBytes]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|GaplessBytes &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Genre|Genre]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Genre &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::GetCopy|GetCopy]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Grouping|Grouping]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|GroupDesc &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::ID|ID]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|ID &lt;br /&gt;
|INTEGER &lt;br /&gt;
|AUTOINCREMENT (1 to inf.) &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::InvolvedPeople|InvolvedPeople]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|InvolvedPeople &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::isBookmarkable|isBookmarkable]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Seekable &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|To be confirmed&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::IsntInDB|IsntInDB]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Dynamic Check&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::ISRC|ISRC]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|ISRC &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::LastPlayed|LastPlayed]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|LastTimePlayed &lt;br /&gt;
|REAL &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Leveling|Leveling]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|NormalizeTrack &lt;br /&gt;
|REAL &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::LevelingAlbum|LevelingAlbum]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|NormalizeAlbum &lt;br /&gt;
|REAL &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Lyricist|Lyricist]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Lyricist &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Lyrics|Lyrics]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Lyrics &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Media|Media]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|IDMedia &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::MediaLabel|MediaLabel]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::MetadataFromFilename|MetadataFromFilename]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Month|Month]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Year[5,2]&lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Mood|Mood]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Mood &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::MusicComposer|MusicComposer]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Use Author&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Occasion|Occasion]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Occasion &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::OriginalArtist|OriginalArtist]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|OrigArtist &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::OriginalLyricist|OriginalLyricist]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|OrigLyricist &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::OriginalTitle|OriginalTitle]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|OrigTitle &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::OriginalYear|OriginalYear]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|OrigYear[1,4]&lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::OriginalMonth|OriginalMonth]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|OrigYear[5,2]&lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::OriginalDay|OriginalDay]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|OrigYear[7,2]&lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::ParseText|ParseText]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Path|Path]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|SongPath &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::PeakValue|PeakValue]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::PlayCounter|PlayCounter]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PlayCounter &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::PlaylistOrder|PlaylistOrder]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Dynamic Check&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::PostGap|PostGap]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PostGap &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::PreGap|PreGap]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PreGap &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Preview|Preview]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::PreviewPath|PreviewPath]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PreviewName &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Publisher|Publisher]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Publisher &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Quality|Quality]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Quality &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Rating|Rating]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Rating &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::RatingString|RatingString]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Rating (Not Used?)&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::ReadTags|ReadTags]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::ReadTagsAsExt|ReadTagsAsExt]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::RenameByMask|RenameByMask]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::SampleRate|SampleRate]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|SamplingFrequency &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::SongID|SongID]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Internal Use Only&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::SongLength|SongLength]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|SongLength &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::SongLengthString|SongLengthString]] &lt;br /&gt;
|Property Get &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|SongLength Formatted&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Tempo|Tempo]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Tempo &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Title|Title]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|SongTitle &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::TotalSamples|TotalSamples]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|TotalSamples &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::TrackOrder|TrackOrder]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|MM2&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::TrackOrderStr|TrackOrderStr]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|TrackNumber &lt;br /&gt;
|TEXT &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::UpdateAlbum|UpdateAlbum]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::UpdateArtist|UpdateArtist]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::UpdateDB|UpdateDB]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::VBR|VBR]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|VBR &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::WriteTags|WriteTags]] &lt;br /&gt;
|Method &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|[[ISDBSongData::Year|Year]] &lt;br /&gt;
|Property Get/Let &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Year[1,4] &lt;br /&gt;
|INTEGER &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBSongData|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Moving_MM_to_a_new_computer&amp;diff=4242</id>
		<title>Moving MM to a new computer</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Moving_MM_to_a_new_computer&amp;diff=4242"/>
		<updated>2008-05-18T14:40:34Z</updated>

		<summary type="html">&lt;p&gt;Bex: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
If you want to move MM to a new computer but retain your database, follow these steps.  If these steps are followed correctly, all information that is maintained by your database will be retained, including PlayHistory, PlayCounts, Dates Added, PlayLists and all other fields within MM.&lt;br /&gt;
&lt;br /&gt;
==Copying your database==&lt;br /&gt;
Your database is located at:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Windows XP&#039;&#039;&#039;: C:\Documents and Settings\&amp;lt;USERNAME&amp;gt;\Local Settings\Application Data\MediaMonkey&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Windows Vista&#039;&#039;&#039;: C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\Mediamonkey&lt;br /&gt;
&lt;br /&gt;
and is called MM.DB (note that you will have to enable viewing of hidden Files and Folders to find this file).&lt;br /&gt;
&lt;br /&gt;
After installing MM on the new computer, put your database in the correct location (as noted above) on the new computer.  &lt;br /&gt;
&lt;br /&gt;
==Moving your music to the new PC==&lt;br /&gt;
Next, you&#039;ll have to move all the music from the old PC onto the new one, making sure that the file directory for each track stays the same as on the old PC (with the exception of drive letter, though that can remain the same.) &lt;br /&gt;
&lt;br /&gt;
==Installing the update drive-ID script==&lt;br /&gt;
After you do all of that, install [http://www.mediamonkey.com/forum/viewtopic.php?t=8975 this script] to your new PC.  To install this script, first shut down MM.  Next, copy the contents in the &#039;Code:&#039; box at the link provided into notepad.  Save the file as &#039;MM_HDDSerial.vbs&#039; (without the quotes) in your C:\Program Files\MediaMonkey\Scripts folder.  Next, within that same folder, find &#039;Scripts.ini&#039;.  Open this file with notepad and copy the following lines and paste them onto the end of the file, then save.&lt;br /&gt;
&lt;br /&gt;
Copy these lines into Scripts.ini:&lt;br /&gt;
&lt;br /&gt;
[HDDSerial]&lt;br /&gt;
&amp;lt;br&amp;gt;FileName=MM_HDDSerial.vbs&lt;br /&gt;
&amp;lt;br&amp;gt;ProcName=Change_HDD_Serial&lt;br /&gt;
&amp;lt;br&amp;gt;Order=99&lt;br /&gt;
&amp;lt;br&amp;gt;DisplayName=Move Device Content&lt;br /&gt;
&amp;lt;br&amp;gt;Description=Corrects broken links after exchanged harddrive&lt;br /&gt;
&amp;lt;br&amp;gt;Language=VBScript&lt;br /&gt;
&amp;lt;br&amp;gt;ScriptType=0&lt;br /&gt;
&lt;br /&gt;
==Running the script==&lt;br /&gt;
Now you&#039;re ready to run the script.  Open MM and run the script at Tools -&amp;gt; Scripts -&amp;gt; Move Device Content.  If you receive any errors or the script doesn&#039;t appear under Tools -&amp;gt; Scripts, check that you have installed the script correctly, and/or try restarting MM.  &lt;br /&gt;
&lt;br /&gt;
Running the script will  change the drive-ID within the MediaMonkey database to recognize your new drive, and all your database information will be retained.  If you can play your music from MM, and tracks do not &#039;grey out&#039;, then you have successfully moved your MM installation to a new computer.&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::GetFilterQuery&amp;diff=3496</id>
		<title>ISDBDatabase::GetFilterQuery</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::GetFilterQuery&amp;diff=3496"/>
		<updated>2008-03-08T11:27:05Z</updated>

		<summary type="html">&lt;p&gt;Bex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDatabase|ISDBDatabase|Function GetFilterQuery(ID As Integer) As String}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ID |Integer |ID of specified filter.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Returns the WHERE part of the SQL query used by specified filter.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.2.1135.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Bex</name></author>
	</entry>
</feed>