<?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=RedX</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=RedX"/>
	<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/Special:Contributions/RedX"/>
	<updated>2026-04-25T17:16:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.4</generator>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Mmip&amp;diff=3117</id>
		<title>Mmip</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Mmip&amp;diff=3117"/>
		<updated>2008-01-19T20:45:45Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Installation Packages]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Mmip&amp;diff=3116</id>
		<title>Mmip</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Mmip&amp;diff=3116"/>
		<updated>2008-01-19T20:45:27Z</updated>

		<summary type="html">&lt;p&gt;RedX: First release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT Installation Packages&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnStarup&amp;diff=3108</id>
		<title>ISDBApplicationEvents::OnStarup</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnStarup&amp;diff=3108"/>
		<updated>2008-01-19T08:36:16Z</updated>

		<summary type="html">&lt;p&gt;RedX: ISDBApplicationEvents::OnStarup moved to ISDBApplicationEvents::OnStartup: typo: starup instead of startup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ISDBApplicationEvents::OnStartup]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnStartup&amp;diff=3107</id>
		<title>ISDBApplicationEvents::OnStartup</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnStartup&amp;diff=3107"/>
		<updated>2008-01-19T08:36:16Z</updated>

		<summary type="html">&lt;p&gt;RedX: ISDBApplicationEvents::OnStarup moved to ISDBApplicationEvents::OnStartup: typo: starup instead of startup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnStartup}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
Called on application startup.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Not_So_Frequently_Asked_Questions&amp;diff=3106</id>
		<title>Not So Frequently Asked Questions</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Not_So_Frequently_Asked_Questions&amp;diff=3106"/>
		<updated>2008-01-19T08:13:48Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin-left: auto; margin-right: auto; background-color:#DDDDFF; border:1px solid #BBBBFF; padding:0px; width: 75%; font-size:100%; text-align:center; vertical-align:center&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%;background:none;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:60px;padding:.3em;&amp;quot; |[[Image:Information_sign_(60px).png|60px]]&lt;br /&gt;
| &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;&#039;&#039;&#039;This page is temporary, and &#039;&#039;not&#039;&#039; a replacement for the FAQ.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
Please only add valuable content (not just typo fixes) that isn&#039;t in the FAQ already. The intention is to summarize multiple interesting forum posts, so this information can later easily be found back. This page may later be split into different pages once the necessary categories are fully known.&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MediaMonkey Graphical User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Showing lyrics within MediaMonkey ===&lt;br /&gt;
&#039;&#039;&#039;Third Party Programs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[http://www.crintsoft.com/minilyrics.htm MiniLyrics]&#039;&#039; with &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=9679 MiniLyrics Embedder]:&#039;&#039; Embeds the MiniLyrics program in MediaMonkey, so it minimizes and moves together&lt;br /&gt;
* &#039;&#039;[http://www.evillabs.sk/evillyrics EvilLyrics]&#039;&#039; with &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=9541 EvilTagger]:&#039;&#039; Adds external lyrics text files to the song&#039;s lyrics&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Independant scripts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=14494 MonkeyRok]:&#039;&#039; displays (not-timestamped) lyrics from your library&lt;br /&gt;
* &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=6755 Inline Lyrics]:&#039;&#039; displays (only LRC timestamped) lyrics in a progress bar at the bottom of your MM window&lt;br /&gt;
* &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=7508 Lyric Timer]:&#039;&#039; reads your (not-timestamped) lyrics and allows you to easily assign basic timestamps (for use with e.g. the Inline Lyrics script)&lt;br /&gt;
* &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=9592 Simple Lyrics Viewer]:&#039;&#039; simply statically shows the lyrics in a panel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Independant skins&#039;&#039;&#039; (starting from MM3)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;[http://www.mediamonkey.com/forum/viewtopic.php?t=15743 Glided]:&#039;&#039; will include a lyrics-viewer in the information screen in future releases.&lt;br /&gt;
&lt;br /&gt;
=== Fix Strange User Interface Problems ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Missing Internal Player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Close MediaMonkey&lt;br /&gt;
# Open MediaMonkey&#039;s configuration file (normally &amp;quot;&#039;&#039;MediaMonkey.ini&#039;&#039;&amp;quot; in folder &amp;quot;&#039;&#039;My Documents\My Music\MediaMonkey&#039;&#039;&amp;quot;)&lt;br /&gt;
# Locate the category [Appearance]&lt;br /&gt;
#:Set the values as follows:&lt;br /&gt;
#:* PlayerPosition=3&lt;br /&gt;
#:* PlayerSticky=0&lt;br /&gt;
#:* PlayerVisible=1&lt;br /&gt;
#:You can also just delete the above 3 lines, with the same effect. &lt;br /&gt;
# After restart MediaMonkey, the player should be back.&lt;br /&gt;
&lt;br /&gt;
The problem can also be fixed if you delete registry key &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\Songs-DB\Interface\Toolbars\TBXWinAmpSkin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Purple Squares on the Skin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set your Windows Display Settings to &amp;quot;High Color&amp;quot; or &amp;quot;Highest Color&amp;quot; through &amp;lt;code&amp;gt;Control Panel &amp;gt; Display &amp;gt; Settings &amp;gt; Color Quality&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
After a restart of MediaMonkey, everything should be fine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other Problems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Close MediaMonkey&lt;br /&gt;
# Delete registry key &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\Songs-DB\Interface&amp;lt;/code&amp;gt;&lt;br /&gt;
# After restart MediaMonkey, the problem should be fixed.&lt;br /&gt;
&lt;br /&gt;
In rare cases, a re-installation of MediaMonkey may be required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MediaMonkey Functionality ==&lt;br /&gt;
&lt;br /&gt;
=== Customizable Global Hotkeys ===&lt;br /&gt;
Starting from MM3, customizable global hotkeys are built in. For MM2, you have to use external plugins:&lt;br /&gt;
* &#039;&#039;&#039;Winamp&#039;s default plugin:&#039;&#039;&#039; gen_hotkeys.dll &lt;br /&gt;
* &#039;&#039;&#039;HotKeyz:&#039;&#039;&#039; http://www.skynergy.com/hotkeyz.html &lt;br /&gt;
* &#039;&#039;&#039;HotKeyControl&#039;&#039;&#039; http://www.digital-miner.com/hkcontrol.html &lt;br /&gt;
* &#039;&#039;&#039;Other links (mostly Winamp plugins):&#039;&#039;&#039; http://www.mediamonkey.com/forum/viewtopic.php?t=7048&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MediaMonkey Is Working Too Slow ===&lt;br /&gt;
&lt;br /&gt;
Certain actions may require a lot of time:&lt;br /&gt;
* Adding new files or doing a startup scan (especially when searching for duplicates is enabled)&lt;br /&gt;
* Checking for duplicates&lt;br /&gt;
* Checking for unsynchronised tags&lt;br /&gt;
* Tagging a lot of tracks as once&lt;br /&gt;
So it might be quite normal that MediaMonkey is slow on such tasks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is your computer fast enough?&#039;&#039;&#039;&lt;br /&gt;
* Is your computer&#039;s processor (CPU) fast enough, and do you have enough RAM?&lt;br /&gt;
* Is your computer heavily loaded (servers, lots of applications, malware). Check out Windows&#039; Task Manager. CPU should be significantly less than 100%, and you should have enough RAM left.&lt;br /&gt;
* Is your hard drive not to fragmented? Use Windows Defragmenter to defragment your hard drive.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is your library clean and compact?&#039;&#039;&#039;&lt;br /&gt;
* See if compacting MediaMonkey&#039;s library helps though &amp;lt;code&amp;gt;menu File &amp;gt; Maintain Library ... &amp;gt; Compact database&amp;lt;/code&amp;gt;&lt;br /&gt;
* Although MediaMonkey supports huge libraries (depending on your system of course), there is a limit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are Plugins or Scripts slowing causing slowdowns?&#039;&#039;&#039;&lt;br /&gt;
* See if disabling scripts helps:&lt;br /&gt;
** Rename MediaMonkey&#039;s &#039;&#039;Plugins&#039;&#039; folder to disable all scripts (including input and output plugins)&lt;br /&gt;
** OR disable only specific plugins by change their file extension (e.g. from &#039;&#039;.dll&#039;&#039; to &#039;&#039;.dll.off&#039;&#039;)&lt;br /&gt;
* See if disabling scripts helps:&lt;br /&gt;
** Rename MediaMonkey&#039;s &#039;&#039;Scripts\Auto&#039;&#039; folder to disable all auto scripts&lt;br /&gt;
** OR disable only specific auto-scripts by changing their file extension (e.g. from &#039;&#039;.vbs&#039;&#039; to &#039;&#039;.vbs.off&#039;&#039;)&lt;br /&gt;
** Rename MediaMonkey&#039;s &#039;&#039;Scripts\Scripts.ini file&#039;&#039; and create a new empty &#039;&#039;Scripts.ini&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
Always restart MediaMonkey to see the result.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Trim MP3 Silence ===&lt;br /&gt;
&lt;br /&gt;
MediaMonkey3 default input plugin (Monkey&#039;s audio player (v3.99+) in_ape.dll) is able to trim silence at the beginning of tracks and also fade-in/out.&lt;br /&gt;
&lt;br /&gt;
MediaMonkey2 on the other hand can&#039;t trim silence of mp3&#039;s, but some input plugins (including DirectSound Output plugin) can remove it for playback.&lt;br /&gt;
To trim silence of mp3 files, you best use a specialized (but free) tool that preserves all audio quality (by directly working on the compressed mp3 file):&lt;br /&gt;
* [http://www.mptrim.com MPTrim] (simple interface): Trimming, fading, volume amplification and cleaning of mp3 files.&lt;br /&gt;
*: For the astronomical price of $70, the Pro version can do batch operations.&lt;br /&gt;
* [http://mpesch3.de1.cc/mp3dc.html mp3DirectCut] (graphical and/or command line interface): Trimming, splitting (with CUE file creation), cut/copy/paste, fading, volume amplification, normalisation and recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wrong Track Length Display ===&lt;br /&gt;
&lt;br /&gt;
A similar problem is the inability to seek, or strange problems with seeking within a playing song.&lt;br /&gt;
&lt;br /&gt;
This is usually caused by errors in the music files, or by bugs in the used decoder (input plugin).&lt;br /&gt;
&lt;br /&gt;
To resolve the problem:&lt;br /&gt;
* Analyze/repair mp3 files with [http://www.willwap.co.uk/Programs/vbrfix.php VbrFix] (for VBR files) or [http://mp3val.sourceforge.net Mp3Val] (for both CBR and VBR files).&lt;br /&gt;
* Try playing the song with another input plugin. For MediaMonkey, you can try MediaMonkey&#039;s mp3 plugin (in_wmp3.dll), the MAD plugin (in_mad.dll) or the Mpg123 plugin (in_mpg123.dll).&lt;br /&gt;
:To identify the plugin used to play the current song, click in the top-left corner of the player and click &amp;quot;Configure current input plug-in&amp;quot;.&lt;br /&gt;
:To force a plugin not to be used (to test other plugins), disable it by changing its extension from &#039;&#039;.dll&#039;&#039; to e.g. &#039;&#039;.dll.off&#039;&#039;. Restart MediaMonkey to see the changes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Shell ==&lt;br /&gt;
&lt;br /&gt;
=== Remove MediaMonkey from the AutoPlay Launch Dialog ===&lt;br /&gt;
&lt;br /&gt;
# Start Regedit.exe (continue with caution! -- create a backup or a System Restore Point first)&lt;br /&gt;
# Browse to &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\&amp;lt;/code&amp;gt;&lt;br /&gt;
#: In all subkeys (or only those you want), look for and delete the &amp;quot;MediaMonkey...Handler&amp;quot; entries: &amp;quot;MediaMonkeyBurnHandler&amp;quot;, &amp;quot;MediaMonkeyPlayCDHandler&amp;quot;, &amp;quot;MediaMonkeyPlayHandler&amp;quot;, &amp;quot;MediaMonkeyRipCDHandler&amp;quot;, &amp;quot;MediaMonkeyStartHandler&amp;quot;&lt;br /&gt;
# Browse to &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\&amp;lt;/code&amp;gt;&lt;br /&gt;
#: Delete all the &amp;quot;MediaMonkey...Handler&amp;quot; subkeys (or only the ones you want, e.g. the enties you deleted in the previous step) &lt;br /&gt;
&lt;br /&gt;
The same can be done using [http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx Microsoft Powertoys&#039; TweakUI].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Re-enable a disabled Windows Balloon Tip ===&lt;br /&gt;
Starting from MM3, MediaMonkey uses it&#039;s own notification window. This information is only applicable for MM2.&lt;br /&gt;
# Start Regedit.exe (continue with caution! -- create a backup or a System Restore Point first)&lt;br /&gt;
# Browse to &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced&amp;lt;/code&amp;gt;&lt;br /&gt;
#: Change the value for the EnableBalloonTips entry to 1, or completely delete the EnableBalloonTips entry.&lt;br /&gt;
By default, MediaMonkey shows the Balloon Tip when a song starts playing. This can be changed in &amp;lt;code&amp;gt;menu Tools &amp;gt; Options &amp;gt; General &amp;gt; Pop-up track info in tray&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The Windows sound associated with the Balloon Tip is &amp;quot;System Notification&amp;quot; by default.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Virtual Drives ===&lt;br /&gt;
Virtual Drives can be used to create a drive letter for a certain directory on your file system. It can be used to put your prefered music folder on the top-level in the My Computer node.&lt;br /&gt;
&lt;br /&gt;
Run the command &amp;lt;code&amp;gt;SUBST T: &amp;quot;C:\Some\Path\Leading\To\My\Music&amp;quot;&amp;lt;/code&amp;gt; to create a virtual drive with drive letter T leading to the &amp;quot;C:\Some\Path\Leading\To\My\Music&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
This virtual folder exists until you shut down Windows. If you want to have this Virtual Drive always available, you can use a command script to automatically run when Windows starts. Alternatively, you can create an [[Introduction_to_scripting|auto-script]] for MediaMonkey.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Differentiated Music File Icons ===&lt;br /&gt;
This works on Windows 2000, Windows XP, and probably also on Windows9x. &lt;br /&gt;
&lt;br /&gt;
*Make sure MediaMonkey is set to *not* automaticly associate itself with certain file extensions. Uncheck &amp;quot;Re-associate...&amp;quot; in &amp;lt;code&amp;gt;menu Tools &amp;gt; Options... &amp;gt; General &amp;gt; File Types&amp;lt;/code&amp;gt;.&lt;br /&gt;
*Open My Computer and then &amp;lt;code&amp;gt;menu Tools &amp;gt; Folder Options &amp;gt; tab File Types&amp;lt;/code&amp;gt;&lt;br /&gt;
**Select the file extension (e.g. FLAC) of which you want to change the icon, press the Delete button and acknowledge. &lt;br /&gt;
**Press the Add button and type in the file extension you want (e.g. FLAC). Make sure there&#039;s &amp;lt;New&amp;gt; or no text in the text box (when you have clicked the advanced button). This will add an &amp;quot;independant&amp;quot; file extension that will enable you to change it&#039;s file icon independantly. Press OK to add the extension. &lt;br /&gt;
**Then, with the file extension (e.g. FLAC) selected, press the advanced button. Leave the upper text box empty, but change the ico as you wish. Then add the file actions (using the New button):&lt;br /&gt;
**:&#039;&#039;Play in MediaMonkey&#039;&#039; (&amp;quot;C:\Program Files\MediaMonkey\MediaMonkey.exe&amp;quot; &amp;quot;%1&amp;quot;)&lt;br /&gt;
**:&#039;&#039;Play Last in MediaMonkey&#039;&#039; (&amp;quot;C:\Program Files\MediaMonkey\MediaMonkey.exe&amp;quot; /ADD &amp;quot;%1&amp;quot;)&lt;br /&gt;
**:&#039;&#039;Play Next in MediaMonkey&#039;&#039; (&amp;quot;C:\Program Files\MediaMonkey\MediaMonkey.exe&amp;quot; /NEXT &amp;quot;%1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
::For all these actions, select Use DDE and fill in:&lt;br /&gt;
::*&#039;&#039;application:&#039;&#039; MediaMonkey&lt;br /&gt;
::*&#039;&#039;subject:&#039;&#039; System&lt;br /&gt;
&lt;br /&gt;
:*Press OK until all dialogs are gone. &lt;br /&gt;
&lt;br /&gt;
The same can be done much faster and easier using a specialized tool, or by following the instructions in [http://www.mediamonkey.com/forum/viewtopic.php?p=49021#49021 this forum post].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Device Support ==&lt;br /&gt;
&lt;br /&gt;
=== Using UMS Devices on Windows 98 ===&lt;br /&gt;
&lt;br /&gt;
Windows 98 doesn&#039;t support USB Mass Storage Devices out-of-the-box. Therefore you have to install separate drivers from [http://www.technical-assistance.co.uk/kb/usbmsd98.php here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using iPod Devices on Windows 98 ===&lt;br /&gt;
&lt;br /&gt;
The above drivers should also work for iPods. The following drivers are specifically for iPod:&lt;br /&gt;
* http://www.98-drivers.com/ipod.html&lt;br /&gt;
* http://www.redchairsoftware.com/anapod/support/proassist.php?c=9899&lt;br /&gt;
Complete iPod-on-Windows98 instructions can be found on the [http://forums.ipodlounge.com/showthread.php?s=9cd9ae2e8947cfeb350247a0284b0081&amp;amp;threadid=6581 iPodLounge Forum]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBMenuItem&amp;diff=3105</id>
		<title>SDBMenuItem</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBMenuItem&amp;diff=3105"/>
		<updated>2008-01-18T19:53:38Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBMenuItem ==&lt;br /&gt;
&lt;br /&gt;
Object representing a single menu or toolbar item.&lt;br /&gt;
&lt;br /&gt;
=== ISDBMenuItem members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBMenuItem::Caption|Caption]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::Enabled|Enabled]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::Hint|Hint]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::Checked|Checked]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::IconIndex|IconIndex]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::OnClickFunc|OnClickFunc]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::ShortCut|ShortCut]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::UseScript|UseScript]] |Property Get/Let |  &lt;br /&gt;
|[[ISDBMenuItem::Visible|Visible]] |Property Get/Let |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBMenuItemEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBMenuItemEvents::OnClick|OnClick]] |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 SDBMenuItem|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
=== Related Topics ===&lt;br /&gt;
*[[ISDBUI::Menu Compendium]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::AddMenuItem&amp;diff=3104</id>
		<title>ISDBUI::AddMenuItem</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::AddMenuItem&amp;diff=3104"/>
		<updated>2008-01-18T19:52:37Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Function AddMenuItem(ParentItem As [[ISDBMenuItem]], InSection As Long, ItemOrder As Long) As [[ISDBMenuItem]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ParentItem |[[ISDBMenuItem]] |Specifies where to add the new item, it can either be any of Menu_xxx properties or a value returned from a previous call to [[ISDBUI::AddMenuItemSub]]&lt;br /&gt;
 |InSection |Long |To which section of the ParentItem to add the new item (section is a part separated by two separator items). Last section(0), The first(1), The second(2), ..., The first from bottom, i.e.the last(-1), The second from bottom(-2), ...&lt;br /&gt;
 |ItemOrder |Long |Where will the item appear within the section: The last(0), The first(1), The second(2), ..., The first from bottom i.e.the last(-1), The second from bottom (-2), ...}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
AddMenuItem creates a new menu item or a toolbar item (these two are internally handled as the same).&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039; Add a submenu to the View menu...&lt;br /&gt;
Set Mnu = UI.AddMenuItemSub( UI.Menu_View, -1, 1)      &#039; The first item in the last section of View menu&lt;br /&gt;
Mnu.Caption = &amp;quot;Custom items&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039; ... and add Statistics item there&lt;br /&gt;
Set SubMnu = UI.AddMenuItem( Mnu, 0, 0)    &#039; Add an item to the previously created menu&lt;br /&gt;
SubMnu.Caption = &amp;quot;&amp;amp;Statistics&amp;quot;     &lt;br /&gt;
&lt;br /&gt;
Mnu.OnClickFunc = &amp;quot;ShowIt&amp;quot;&lt;br /&gt;
Mnu.Shortcut = &amp;quot;Ctrl+1&amp;quot;&lt;br /&gt;
Mnu.IconIndex = 35&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Related Topics === &lt;br /&gt;
&lt;br /&gt;
*[[ISDBUI::AddMenuItemSub]] &lt;br /&gt;
*[[ISDBUI::AddMenuItemSep]] &lt;br /&gt;
*[[ISDBUI::Menu Compendium]]&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_Compendium&amp;diff=3103</id>
		<title>ISDBUI::Menu Compendium</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_Compendium&amp;diff=3103"/>
		<updated>2008-01-18T19:50:55Z</updated>

		<summary type="html">&lt;p&gt;RedX: First release&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Adding items to menus see:[[ISDBUI::AddMenuItem]] and for menus with sub Items:[[ISDBUI::AddMenuItemSub]]&lt;br /&gt;
&lt;br /&gt;
Pop-up menus (right-click):&lt;br /&gt;
(NP = now playing, Tracklist = list browser, tree = tree on the left with artist, album, podcast, etc...)&lt;br /&gt;
*[[ISDBUI::Menu Pop NP]]&lt;br /&gt;
*[[ISDBUI::Menu Pop NP MoreFrom]]&lt;br /&gt;
*[[ISDBUI::Menu Pop NP SendTo]]&lt;br /&gt;
*[[ISDBUI::Menu Pop TrackList]]&lt;br /&gt;
*[[ISDBUI::Menu Pop TrackList MoreFrom]]&lt;br /&gt;
*[[ISDBUI::Menu Pop TrackList SendTo]]&lt;br /&gt;
*[[ISDBUI::Menu Pop Tree]]&lt;br /&gt;
*[[ISDBUI::Menu Pop Tree SendTo]]&lt;br /&gt;
&lt;br /&gt;
Tray icon right-click menu:&lt;br /&gt;
*[[ISDBUI::Menu TrayIcon]]&lt;br /&gt;
&lt;br /&gt;
Menus:&lt;br /&gt;
*[[ISDBUI::Menu Edit]]&lt;br /&gt;
*[[ISDBUI::Menu Export]]&lt;br /&gt;
*[[ISDBUI::Menu Export]]&lt;br /&gt;
*[[ISDBUI::Menu Help]]&lt;br /&gt;
*[[ISDBUI::Menu Play]]&lt;br /&gt;
*[[ISDBUI::Menu Scripts]]&lt;br /&gt;
*[[ISDBUI::Menu Tools]]&lt;br /&gt;
*[[ISDBUI::Menu View]]&lt;br /&gt;
&lt;br /&gt;
Toolbars:&lt;br /&gt;
*[[ISDBUI::Menu TbAdvanced]]&lt;br /&gt;
*[[ISDBUI::Menu TbCategorize]]&lt;br /&gt;
*[[ISDBUI::Menu TbEdit]]&lt;br /&gt;
*[[ISDBUI::Menu TbNavigation]]&lt;br /&gt;
*[[ISDBUI::Menu TbNPEdit]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_Pop_Tree_SendTo&amp;diff=3102</id>
		<title>ISDBUI::Menu Pop Tree SendTo</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_Pop_Tree_SendTo&amp;diff=3102"/>
		<updated>2008-01-18T19:32:55Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get Menu_Pop_Tree_SendTo As [[SDBMenuItem]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
&#039;Send to....&#039; item of the pop-up menu of the main tree..&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_Edit&amp;diff=3101</id>
		<title>ISDBUI::Menu Edit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_Edit&amp;diff=3101"/>
		<updated>2008-01-18T19:32:03Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get Menu_Edit As [[SDBMenuItem]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Menu item of the main &#039;Edit&#039; menu.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_File&amp;diff=3100</id>
		<title>ISDBUI::Menu File</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::Menu_File&amp;diff=3100"/>
		<updated>2008-01-18T19:31:33Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get Menu_File As [[SDBMenuItem#ISDBMenuItem member|ISDBMenuItem]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Menu item of the main &#039;File&#039; menu.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::Artist&amp;diff=3032</id>
		<title>ISDBSongData::Artist</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::Artist&amp;diff=3032"/>
		<updated>2008-01-08T15:05:08Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBSongData|ISDBSongData|Property Get Artist As [[SDBArtist#ISDBArtist_members|ISDBArtist]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBArtist]] object of this track.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Progress&amp;diff=3027</id>
		<title>ISDBApplication::Progress</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Progress&amp;diff=3027"/>
		<updated>2007-12-30T15:36:27Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Property Get Progress As [[SDBProgress#ISDBProgress objects|ISDBProgress]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBProgress]] object. It is also initialized and shown this way. In order to further modify the progress bar, see [[SDBProgress]] properties.&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;Dim Progress&lt;br /&gt;
Set Progress = SDB.Progress&lt;br /&gt;
Progress.Text = SDB.Localize(&amp;quot;Exporting...&amp;quot;)&lt;br /&gt;
Progress.MaxValue = list.count&lt;br /&gt;
&lt;br /&gt;
for i=0 to list.count-1&lt;br /&gt;
  &#039;... some code here&lt;br /&gt;
  Progress.Value = i+1&lt;br /&gt;
next&amp;lt;/source&amp;gt;&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBPlayer::CurrentSong&amp;diff=3026</id>
		<title>ISDBPlayer::CurrentSong</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBPlayer::CurrentSong&amp;diff=3026"/>
		<updated>2007-12-30T15:05:16Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBPlayer|ISDBPlayer|Property Get CurrentSong As [[SDBSongData]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns the currently playing track as [[SDBSongData]] object.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Player&amp;diff=3025</id>
		<title>ISDBApplication::Player</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Player&amp;diff=3025"/>
		<updated>2007-12-30T14:59:36Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Property Get Player As [[SDBPlayer#ISDBPlayer objects|ISDBPlayer]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBPlayer]] object. It allows to start and stop playback, work with Now Playing list and other playback related actions.&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Player&amp;diff=3024</id>
		<title>ISDBApplication::Player</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Player&amp;diff=3024"/>
		<updated>2007-12-30T14:59:23Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Property Get Player As [[SDBPlayer#ISDBPlayer objects|ISDBPlayer}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBPlayer]] object. It allows to start and stop playback, work with Now Playing list and other playback related actions.&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Installation_Packages_(MM4)&amp;diff=3023</id>
		<title>Installation Packages (MM4)</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Installation_Packages_(MM4)&amp;diff=3023"/>
		<updated>2007-12-30T14:50:47Z</updated>

		<summary type="html">&lt;p&gt;RedX: added example for skin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation Packages structure==&lt;br /&gt;
&lt;br /&gt;
Additional Extensions can be easily installed in MediaMonkey using Installation Packages. Each installation package is a ZIP &lt;br /&gt;
file with MMIP extension, when such a file is executed, it is automatically installed in MediaMonkey (see Tools|Extensions menu item).&lt;br /&gt;
Inside the package can be included any files that need to be installed, but there are also some special files that can or must be included:&lt;br /&gt;
&lt;br /&gt;
;Install.ini&lt;br /&gt;
:Mandantory - this file describes the package and what to install.&lt;br /&gt;
;App.ico&lt;br /&gt;
:Optional - Icon of the package.&lt;br /&gt;
;Uninstall.ini&lt;br /&gt;
:Optional (but suggested) - describes steps on uninstall, which files to remove, etc.&lt;br /&gt;
;Uninstall.vbs&lt;br /&gt;
:Optional - is automatically preserved by installer and can be called by Uninstall.ini on uninstallation.&lt;br /&gt;
&lt;br /&gt;
===Install.ini file===&lt;br /&gt;
&lt;br /&gt;
The installation file has a structure of an ini file, i.e. some sections with keys and values. &lt;br /&gt;
&lt;br /&gt;
====[Header] section====&lt;br /&gt;
&lt;br /&gt;
Each install.ini file starts with a mandantory section [Header]. It contains basic information about the product being installed, namely:&lt;br /&gt;
&lt;br /&gt;
;ID&lt;br /&gt;
:Unique string identification of the product. It should contain only alphanumeric characters, digits or underscores.&lt;br /&gt;
;Title&lt;br /&gt;
:Product title shown to user.&lt;br /&gt;
;Description&lt;br /&gt;
:Detailed product description.&lt;br /&gt;
;VersionMajor&lt;br /&gt;
:Major version number.&lt;br /&gt;
;VersionMinor&lt;br /&gt;
:Minor version number.&lt;br /&gt;
;VersionRelease&lt;br /&gt;
:Release number.&lt;br /&gt;
;VersionBuild&lt;br /&gt;
:Build number. Any of these numbers can be missing, e.g. if only VersionMajor and VersionMinor are present, the version number shown to user would be &#039;VersionMajor.VersionMinor&#039;.&lt;br /&gt;
;Type&lt;br /&gt;
:Type of product being installed. Either script, skin or misc. This is used so that MM knows more about the extension.&lt;br /&gt;
;UpdateURL&lt;br /&gt;
:URL where MM should look for updates of this product. If this key is missing, MM can still try to find out whether a new version has been released by asking MM web scripting repository using product ID above.&lt;br /&gt;
&lt;br /&gt;
====Other sections====&lt;br /&gt;
&lt;br /&gt;
After the header section, there can follow an arbitrary number of other sections specifying actions installer should do. The possible sections follow.&lt;br /&gt;
&lt;br /&gt;
====[Copy] section====&lt;br /&gt;
&lt;br /&gt;
This section tells where individual files from the installer ZIP file should be placed. Expected keys there include:&lt;br /&gt;
;Src&lt;br /&gt;
:Source file name in the installer ZIP file.&lt;br /&gt;
;Tgt&lt;br /&gt;
:Destination file path. It can contain constants useful for placing files in common paths (the same as InnoSetup constants). Currently implemented constants: &lt;br /&gt;
:*{app} = MediaMonkey installation folder.&lt;br /&gt;
;Flags&lt;br /&gt;
:Comma separated list of flags related to this copy operation. Can be any of:&lt;br /&gt;
:;Overwriteifnewer&lt;br /&gt;
::If the target file already exists, it will be overwritten only if the source file is newer. If this flag isn&#039;t specified, the target file will always be overwritten.&lt;br /&gt;
If your package contains various files to be copied, you need one [Copy] Section for each individual file.&lt;br /&gt;
&lt;br /&gt;
====[Delete] section====&lt;br /&gt;
&lt;br /&gt;
This section is primarily for &#039;uninstall.ini&#039; file. The only parameter is:&lt;br /&gt;
&lt;br /&gt;
;File&lt;br /&gt;
:Full path of the file to be deleted.&lt;br /&gt;
&lt;br /&gt;
====[Execute] section====&lt;br /&gt;
&lt;br /&gt;
This section allows developer to execute a script and thus do any other necessary installation/uninstallation actions, for example prepare Scripts.ini content. Expected keys here are:&lt;br /&gt;
;File&lt;br /&gt;
:A script file to execute. There is either a fully specified path entered here, or if there is no path information, the script is expected to be located in the installation ZIP file and is prepared to a temporary location prior its execution. For uninstaller &#039;uninstall.vbs&#039; can be specified here and it would be called from its location.&lt;br /&gt;
;Function&lt;br /&gt;
:A name of function to be called within the script file. If this entry is missing or empty, it&#039;s supposed that there&#039;s no need for calling a function and simple execution of the script file does whatever a developer wants to do.&lt;br /&gt;
&lt;br /&gt;
===Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&#039;Uninstall.ini&#039; file will is very similar to &#039;Install.ini&#039; file, just [Header] section is missing. Other sections allow developers to properly delete installed files and remove any other traces of installation, e.g. execute a script that would delete some entries in Scripts.ini file.&lt;br /&gt;
&lt;br /&gt;
==Sample Installation Package for Skins==&lt;br /&gt;
Sample MMIP file can contain e.g. the following files:&lt;br /&gt;
*App.ico icons shown in the extenions dialog&lt;br /&gt;
*Install.ini file that tells where stuff is copied to&lt;br /&gt;
*Uninstall.ini tells what should be deleted when uninstalling&lt;br /&gt;
&lt;br /&gt;
===Sample Install.ini file===&lt;br /&gt;
&lt;br /&gt;
Comments in [] should be removed&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Header]&lt;br /&gt;
ID=UniqueSkinName [this is used when MM needs to see if update is available]&lt;br /&gt;
Title=Skin Name&lt;br /&gt;
Description=Well a description&lt;br /&gt;
VersionMajor=1&lt;br /&gt;
VersionMinor=0&lt;br /&gt;
VersionRelease=0&lt;br /&gt;
VersionBuild=0&lt;br /&gt;
Type=skin [so MM knows what it is]&lt;br /&gt;
UpdateURL= [leave blank no specs are out yet]&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=skinfile.wsz&lt;br /&gt;
Tgt={app}\skins\skinfile.wsz&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
[you can copy more stuff if you want]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Delete]&lt;br /&gt;
File={app}\skins\skinfile.wsz&lt;br /&gt;
File={app}\skins\otherskinfile.wsz&lt;br /&gt;
File={app}\skins\someicon.ico&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample Installation Package for Scripts==&lt;br /&gt;
&lt;br /&gt;
===Sample content of MMIP file===&lt;br /&gt;
&lt;br /&gt;
Sample MMIP file can contain e.g. the following files:&lt;br /&gt;
*App.ico&lt;br /&gt;
*Install.ini&lt;br /&gt;
*Sample Option Sheets.vbs&lt;br /&gt;
*Uninstall.ini&lt;br /&gt;
*Uninstall.vbs&lt;br /&gt;
&lt;br /&gt;
===Sample Install.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Header]&lt;br /&gt;
ID=MyScript1&lt;br /&gt;
Title=Sample Option Sheets&lt;br /&gt;
Description=Sample Option Sheets.vbs&lt;br /&gt;
VersionMajor=1&lt;br /&gt;
VersionMinor=0&lt;br /&gt;
VersionRelease=0&lt;br /&gt;
VersionBuild=0&lt;br /&gt;
Type=script&lt;br /&gt;
UpdateURL=http://localhost/myscript1/version.xml&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Sample Option Sheets.vbs&lt;br /&gt;
Tgt={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Sample.ico&lt;br /&gt;
Tgt={app}\scripts\auto\Sample.ico&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Icons\*.*&lt;br /&gt;
Tgt={app}\Icons\&lt;br /&gt;
&lt;br /&gt;
[Execute]&lt;br /&gt;
File={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
Function=OnStartup()&lt;br /&gt;
&lt;br /&gt;
Alternative is to use an install.vbs&lt;br /&gt;
[Execute]&lt;br /&gt;
File=install.vbs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample install.vbs===&lt;br /&gt;
&amp;lt;source lang=vb&amp;gt;&lt;br /&gt;
scriptName = &amp;quot;Sample Script&amp;quot;&lt;br /&gt;
&#039;Add scripts.ini entries&lt;br /&gt;
Dim inip : inip = SDB.ApplicationPath&amp;amp;&amp;quot;Scripts\Scripts.ini&amp;quot;&lt;br /&gt;
Dim inif : Set inif = SDB.Tools.IniFileByPath(inip)&lt;br /&gt;
If Not (inif Is Nothing) Then&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Filename&amp;quot;) = &amp;quot;Auto\AdvShutdown.vbs&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Procname&amp;quot;) = &amp;quot;ShutdownUI&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Order&amp;quot;) = &amp;quot;99&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;DisplayName&amp;quot;) = &amp;quot;Advanced Shutdown&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Description&amp;quot;) = &amp;quot;Shuts down PC after some time with more options&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Language&amp;quot;) = &amp;quot;VBScript&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;ScriptType&amp;quot;) = &amp;quot;0&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Shortcut&amp;quot;) = &amp;quot;Ctrl+Shift+s&amp;quot; &#039;don&#039;t use this combo as it is already used in other scripts&lt;br /&gt;
	SDB.RefreshScriptItems&lt;br /&gt;
End If&lt;br /&gt;
	&lt;br /&gt;
&#039; Add entries for Mediamonkey.ini	&lt;br /&gt;
&#039; Here you set the variables you need&lt;br /&gt;
&#039; all 3 types are shown here&lt;br /&gt;
Dim ini: Set ini = sdb.IniFile&lt;br /&gt;
If ini.StringValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Enabled&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.BoolValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Enabled&amp;quot;) = Enabled&lt;br /&gt;
End If&lt;br /&gt;
If ini.BoolValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Timeout&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.StringValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Timeout&amp;quot;) = True&lt;br /&gt;
End If&lt;br /&gt;
If ini.IntValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Action&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.IntValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Action&amp;quot;) = 1&lt;br /&gt;
End If&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Delete]&lt;br /&gt;
File={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
File={app}\scripts\auto\Sample.ico&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Execute]&lt;br /&gt;
File=Uninstall.vbs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.vbs file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
myName = &amp;quot;Sample Script&amp;quot;    &#039;Put script name here&lt;br /&gt;
iniSec = &amp;quot;SampleScript&amp;quot;     &#039;Put ini section name here&lt;br /&gt;
&lt;br /&gt;
&#039; Deletes settings from MediaMonkey.ini&lt;br /&gt;
MsgDeleteSettings = &amp;quot;Do you want to remove &amp;quot; &amp;amp; myName &amp;amp; &amp;quot; settings as well?&amp;quot; &amp;amp; vbNewLine &amp;amp; _&lt;br /&gt;
                    &amp;quot;If you click No, script settings will be left in MediaMonkey.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If (Not (SDB.IniFile Is Nothing)) and (MsgBox(MsgDeleteSettings, vbYesNo) = vbYes) Then&lt;br /&gt;
   SDB.IniFile.DeleteSection(iniSec)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&#039;Remove entries from scripts.ini&lt;br /&gt;
Dim inip : inip = SDB.ApplicationPath&amp;amp;&amp;quot;Scripts\Scripts.ini&amp;quot;&lt;br /&gt;
Dim inif : Set inif = SDB.Tools.IniFileByPath(inip)&lt;br /&gt;
If Not (inif Is Nothing) Then&lt;br /&gt;
  inif.DeleteSection(myName)&lt;br /&gt;
  SDB.RefreshScriptItems&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[SDBIniFile|SDBiniFile object]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIButton::Common&amp;diff=3022</id>
		<title>ISDBUIButton::Common</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIButton::Common&amp;diff=3022"/>
		<updated>2007-12-30T14:11:18Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIButton|ISDBUIButton|Property Get Common As [[SDBUICommon#ISDBUICommon members|ISDBUICommon]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBUICommon]] object that can be used to modify basic properties of this object, e.g. position, size, etc.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIButton|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIButton|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Installation_Packages_(MM4)&amp;diff=3021</id>
		<title>Installation Packages (MM4)</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Installation_Packages_(MM4)&amp;diff=3021"/>
		<updated>2007-12-30T13:22:16Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation Packages structure==&lt;br /&gt;
&lt;br /&gt;
Additional Extensions can be easily installed in MediaMonkey using Installation Packages. Each installation package is a ZIP &lt;br /&gt;
file with MMIP extension, when such a file is executed, it is automatically installed in MediaMonkey (see Tools|Extensions menu item).&lt;br /&gt;
Inside the package can be included any files that need to be installed, but there are also some special files that can or must be included:&lt;br /&gt;
&lt;br /&gt;
;Install.ini&lt;br /&gt;
:Mandantory - this file describes the package and what to install.&lt;br /&gt;
;App.ico&lt;br /&gt;
:Optional - Icon of the package.&lt;br /&gt;
;Uninstall.ini&lt;br /&gt;
:Optional (but suggested) - describes steps on uninstall, which files to remove, etc.&lt;br /&gt;
;Uninstall.vbs&lt;br /&gt;
:Optional - is automatically preserved by installer and can be called by Uninstall.ini on uninstallation.&lt;br /&gt;
&lt;br /&gt;
===Install.ini file===&lt;br /&gt;
&lt;br /&gt;
The installation file has a structure of an ini file, i.e. some sections with keys and values. &lt;br /&gt;
&lt;br /&gt;
====[Header] section====&lt;br /&gt;
&lt;br /&gt;
Each install.ini file starts with a mandantory section [Header]. It contains basic information about the product being installed, namely:&lt;br /&gt;
&lt;br /&gt;
;ID&lt;br /&gt;
:Unique string identification of the product. It should contain only alphanumeric characters, digits or underscores.&lt;br /&gt;
;Title&lt;br /&gt;
:Product title shown to user.&lt;br /&gt;
;Description&lt;br /&gt;
:Detailed product description.&lt;br /&gt;
;VersionMajor&lt;br /&gt;
:Major version number.&lt;br /&gt;
;VersionMinor&lt;br /&gt;
:Minor version number.&lt;br /&gt;
;VersionRelease&lt;br /&gt;
:Release number.&lt;br /&gt;
;VersionBuild&lt;br /&gt;
:Build number. Any of these numbers can be missing, e.g. if only VersionMajor and VersionMinor are present, the version number shown to user would be &#039;VersionMajor.VersionMinor&#039;.&lt;br /&gt;
;Type&lt;br /&gt;
:Type of product being installed. Either script, skin or misc. This is used so that MM knows more about the extension.&lt;br /&gt;
;UpdateURL&lt;br /&gt;
:URL where MM should look for updates of this product. If this key is missing, MM can still try to find out whether a new version has been released by asking MM web scripting repository using product ID above.&lt;br /&gt;
&lt;br /&gt;
====Other sections====&lt;br /&gt;
&lt;br /&gt;
After the header section, there can follow an arbitrary number of other sections specifying actions installer should do. The possible sections follow.&lt;br /&gt;
&lt;br /&gt;
====[Copy] section====&lt;br /&gt;
&lt;br /&gt;
This section tells where individual files from the installer ZIP file should be placed. Expected keys there include:&lt;br /&gt;
;Src&lt;br /&gt;
:Source file name in the installer ZIP file.&lt;br /&gt;
;Tgt&lt;br /&gt;
:Destination file path. It can contain constants useful for placing files in common paths (the same as InnoSetup constants). Currently implemented constants: &lt;br /&gt;
:*{app} = MediaMonkey installation folder.&lt;br /&gt;
;Flags&lt;br /&gt;
:Comma separated list of flags related to this copy operation. Can be any of:&lt;br /&gt;
:;Overwriteifnewer&lt;br /&gt;
::If the target file already exists, it will be overwritten only if the source file is newer. If this flag isn&#039;t specified, the target file will always be overwritten.&lt;br /&gt;
If your package contains various files to be copied, you need one [Copy] Section for each individual file.&lt;br /&gt;
&lt;br /&gt;
====[Delete] section====&lt;br /&gt;
&lt;br /&gt;
This section is primarily for &#039;uninstall.ini&#039; file. The only parameter is:&lt;br /&gt;
&lt;br /&gt;
;File&lt;br /&gt;
:Full path of the file to be deleted.&lt;br /&gt;
&lt;br /&gt;
====[Execute] section====&lt;br /&gt;
&lt;br /&gt;
This section allows developer to execute a script and thus do any other necessary installation/uninstallation actions, for example prepare Scripts.ini content. Expected keys here are:&lt;br /&gt;
;File&lt;br /&gt;
:A script file to execute. There is either a fully specified path entered here, or if there is no path information, the script is expected to be located in the installation ZIP file and is prepared to a temporary location prior its execution. For uninstaller &#039;uninstall.vbs&#039; can be specified here and it would be called from its location.&lt;br /&gt;
;Function&lt;br /&gt;
:A name of function to be called within the script file. If this entry is missing or empty, it&#039;s supposed that there&#039;s no need for calling a function and simple execution of the script file does whatever a developer wants to do.&lt;br /&gt;
&lt;br /&gt;
===Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&#039;Uninstall.ini&#039; file will is very similar to &#039;Install.ini&#039; file, just [Header] section is missing. Other sections allow developers to properly delete installed files and remove any other traces of installation, e.g. execute a script that would delete some entries in Scripts.ini file.&lt;br /&gt;
&lt;br /&gt;
==Sample Installation Package==&lt;br /&gt;
&lt;br /&gt;
===Sample content of MMIP file===&lt;br /&gt;
&lt;br /&gt;
Sample MMIP file can contain e.g. the following files:&lt;br /&gt;
*App.ico&lt;br /&gt;
*Install.ini&lt;br /&gt;
*Sample Option Sheets.vbs&lt;br /&gt;
*Uninstall.ini&lt;br /&gt;
*Uninstall.vbs&lt;br /&gt;
&lt;br /&gt;
===Sample Install.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Header]&lt;br /&gt;
ID=MyScript1&lt;br /&gt;
Title=Sample Option Sheets&lt;br /&gt;
Description=Sample Option Sheets.vbs&lt;br /&gt;
VersionMajor=1&lt;br /&gt;
VersionMinor=0&lt;br /&gt;
VersionRelease=0&lt;br /&gt;
VersionBuild=0&lt;br /&gt;
Type=script&lt;br /&gt;
UpdateURL=http://localhost/myscript1/version.xml&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Sample Option Sheets.vbs&lt;br /&gt;
Tgt={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Sample.ico&lt;br /&gt;
Tgt={app}\scripts\auto\Sample.ico&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Icons\*.*&lt;br /&gt;
Tgt={app}\Icons\&lt;br /&gt;
&lt;br /&gt;
[Execute]&lt;br /&gt;
File={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
Function=OnStartup()&lt;br /&gt;
&lt;br /&gt;
Alternative is to use an install.vbs&lt;br /&gt;
[Execute]&lt;br /&gt;
File=install.vbs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample install.vbs===&lt;br /&gt;
&amp;lt;source lang=vb&amp;gt;&lt;br /&gt;
scriptName = &amp;quot;Sample Script&amp;quot;&lt;br /&gt;
&#039;Add scripts.ini entries&lt;br /&gt;
Dim inip : inip = SDB.ApplicationPath&amp;amp;&amp;quot;Scripts\Scripts.ini&amp;quot;&lt;br /&gt;
Dim inif : Set inif = SDB.Tools.IniFileByPath(inip)&lt;br /&gt;
If Not (inif Is Nothing) Then&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Filename&amp;quot;) = &amp;quot;Auto\AdvShutdown.vbs&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Procname&amp;quot;) = &amp;quot;ShutdownUI&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Order&amp;quot;) = &amp;quot;99&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;DisplayName&amp;quot;) = &amp;quot;Advanced Shutdown&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Description&amp;quot;) = &amp;quot;Shuts down PC after some time with more options&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Language&amp;quot;) = &amp;quot;VBScript&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;ScriptType&amp;quot;) = &amp;quot;0&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Shortcut&amp;quot;) = &amp;quot;Ctrl+Shift+s&amp;quot; &#039;don&#039;t use this combo as it is already used in other scripts&lt;br /&gt;
	SDB.RefreshScriptItems&lt;br /&gt;
End If&lt;br /&gt;
	&lt;br /&gt;
&#039; Add entries for Mediamonkey.ini	&lt;br /&gt;
&#039; Here you set the variables you need&lt;br /&gt;
&#039; all 3 types are shown here&lt;br /&gt;
Dim ini: Set ini = sdb.IniFile&lt;br /&gt;
If ini.StringValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Enabled&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.BoolValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Enabled&amp;quot;) = Enabled&lt;br /&gt;
End If&lt;br /&gt;
If ini.BoolValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Timeout&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.StringValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Timeout&amp;quot;) = True&lt;br /&gt;
End If&lt;br /&gt;
If ini.IntValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Action&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.IntValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Action&amp;quot;) = 1&lt;br /&gt;
End If&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Delete]&lt;br /&gt;
File={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
File={app}\scripts\auto\Sample.ico&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Execute]&lt;br /&gt;
File=Uninstall.vbs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.vbs file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
myName = &amp;quot;Sample Script&amp;quot;    &#039;Put script name here&lt;br /&gt;
iniSec = &amp;quot;SampleScript&amp;quot;     &#039;Put ini section name here&lt;br /&gt;
&lt;br /&gt;
&#039; Deletes settings from MediaMonkey.ini&lt;br /&gt;
MsgDeleteSettings = &amp;quot;Do you want to remove &amp;quot; &amp;amp; myName &amp;amp; &amp;quot; settings as well?&amp;quot; &amp;amp; vbNewLine &amp;amp; _&lt;br /&gt;
                    &amp;quot;If you click No, script settings will be left in MediaMonkey.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If (Not (SDB.IniFile Is Nothing)) and (MsgBox(MsgDeleteSettings, vbYesNo) = vbYes) Then&lt;br /&gt;
   SDB.IniFile.DeleteSection(iniSec)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&#039;Remove entries from scripts.ini&lt;br /&gt;
Dim inip : inip = SDB.ApplicationPath&amp;amp;&amp;quot;Scripts\Scripts.ini&amp;quot;&lt;br /&gt;
Dim inif : Set inif = SDB.Tools.IniFileByPath(inip)&lt;br /&gt;
If Not (inif Is Nothing) Then&lt;br /&gt;
  inif.DeleteSection(myName)&lt;br /&gt;
  SDB.RefreshScriptItems&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[SDBIniFile|SDBiniFile object]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Sample_AMG_Search_script&amp;diff=3020</id>
		<title>Sample AMG Search script</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Sample_AMG_Search_script&amp;diff=3020"/>
		<updated>2007-12-29T16:52:20Z</updated>

		<summary type="html">&lt;p&gt;RedX: Added warning about amg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Attention==&lt;br /&gt;
&#039;&#039;&#039;Maybe this script should be changed to one using a website that allows this kind of action. &#039;&#039;AMG does not.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This script demonstrates how to plug-in into MediaMonkey Web Search dialog. It searches AMG web a lets user tag some basic fields. Don&#039;t forget that it&#039;s rather a sample of what [[Search scripts]] can do than fully working script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It currently searches AllMusic&#039;s website for the given album, presents user results found and lets tag these fields:&lt;br /&gt;
* Album&lt;br /&gt;
* Artist&lt;br /&gt;
* Track titles&lt;br /&gt;
* Album art&lt;br /&gt;
* Release year&lt;br /&gt;
* Genres&lt;br /&gt;
* Styles&lt;br /&gt;
* Moods&lt;br /&gt;
* Themes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There&#039;s a lot that could be improved, namely:&lt;br /&gt;
* Error handling - currently many possible problems aren&#039;t solved&lt;br /&gt;
* More fields could be tagged&lt;br /&gt;
* Results could be formatted using custom HTML page (not the downloaded one)&lt;br /&gt;
* Many others...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s quite well documented, and so it can help in creation of your own Search scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039; Sample AMG Search script&lt;br /&gt;
&#039;&lt;br /&gt;
&#039; This script demonstrates how to plug-in into MediaMonkey Web Search dialog. You should save it to Scripts folder as&lt;br /&gt;
&#039; SearchAMG.vbs. It has to be in Scripts.ini file, where entries can be as follows:&lt;br /&gt;
&#039;&lt;br /&gt;
&#039; [SearchAMG]&lt;br /&gt;
&#039; FileName=SearchAMG.vbs&lt;br /&gt;
&#039; ProcName=SearchAMG&lt;br /&gt;
&#039; Order=10&lt;br /&gt;
&#039; DisplayName=Search All Music Guide&lt;br /&gt;
&#039; Language=VBScript&lt;br /&gt;
&#039; ScriptType=3&lt;br /&gt;
&lt;br /&gt;
Dim WB, WB2&lt;br /&gt;
Dim FoundLinks&lt;br /&gt;
Dim Tmr&lt;br /&gt;
&lt;br /&gt;
&#039; MediaMonkey calls this method whenever a search is started using this script&lt;br /&gt;
Sub StartSearch(Panel, SearchTerm, SearchArtist, SearchAlbum)&lt;br /&gt;
  Set UI = SDB.UI&lt;br /&gt;
&lt;br /&gt;
  &#039; This is a web browser that we use to present results to the user&lt;br /&gt;
  Set WB = UI.NewActiveX(Panel, &amp;quot;Shell.Explorer&amp;quot;)&lt;br /&gt;
  WB.Common.Align = 5      &#039; Fill whole client rectangle&lt;br /&gt;
  WB.Common.ControlName = &amp;quot;WB&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  &#039; This is a hidden browser that we use to find results (a better solution can be used, but this seems to be the easiest...)&lt;br /&gt;
  Set WB2 = UI.NewActiveX(Panel, &amp;quot;Shell.Explorer&amp;quot;)&lt;br /&gt;
  WB2.Common.ControlName = &amp;quot;WB2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  WB.Common.BringToFront&lt;br /&gt;
&lt;br /&gt;
  &#039; The following HTML is taken from AMG web pages - so that we don&#039;t have to load the search page and can post the query directly&lt;br /&gt;
  &#039; The following line will probably need some better way of retrieving server name from AMG. Using www.allmusicguide.com doesn&#039;t work at this moment.&lt;br /&gt;
  html = &amp;quot;&amp;lt;form name=&amp;quot;&amp;quot;search&amp;quot;&amp;quot; action=&amp;quot;&amp;quot;http://wm08.allmusic.com/cg/amg.dll&amp;quot;&amp;quot; method=&amp;quot;&amp;quot;post&amp;quot;&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;&amp;lt;input type=&amp;quot;&amp;quot;hidden&amp;quot;&amp;quot; name=&amp;quot;&amp;quot;P&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;amg&amp;quot;&amp;quot; /&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;&amp;lt;p&amp;gt;&amp;lt;input type=&amp;quot;&amp;quot;text&amp;quot;&amp;quot; name=&amp;quot;&amp;quot;sql&amp;quot;&amp;quot; id=&amp;quot;&amp;quot;search_txt&amp;quot;&amp;quot; /&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;&amp;lt;input type=&amp;quot;&amp;quot;image&amp;quot;&amp;quot; src=&amp;quot;&amp;quot;/i/pages/wide/go.gif&amp;quot;&amp;quot; id=&amp;quot;&amp;quot;search_button&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;&amp;lt;p&amp;gt;&amp;lt;select name=&amp;quot;&amp;quot;opt1&amp;quot;&amp;quot; id=&amp;quot;&amp;quot;search_opt&amp;quot;&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;  &amp;lt;option value=&amp;quot;&amp;quot;1&amp;quot;&amp;quot; selected=&amp;quot;&amp;quot;selected&amp;quot;&amp;quot;&amp;gt;Artist/Group&amp;lt;/option&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;  &amp;lt;option value=&amp;quot;&amp;quot;2&amp;quot;&amp;quot;&amp;gt;Album&amp;lt;/option&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;  &amp;lt;option value=&amp;quot;&amp;quot;3&amp;quot;&amp;quot;&amp;gt;Song&amp;lt;/option&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;  &amp;lt;option value=&amp;quot;&amp;quot;55&amp;quot;&amp;quot;&amp;gt;Classical Work&amp;lt;/option&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;&amp;lt;/select&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;&lt;br /&gt;
  html = html &amp;amp; &amp;quot;&amp;lt;/form&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Set WB2Intf = WB2.Interf&lt;br /&gt;
  WB2Intf.Visible = false&lt;br /&gt;
&lt;br /&gt;
  WB2.SetHTMLDocument html&lt;br /&gt;
&lt;br /&gt;
  Set Doc2 = WB2Intf.Document&lt;br /&gt;
  Set SrchTxt = Doc2.getElementById(&amp;quot;search_txt&amp;quot;)&lt;br /&gt;
  If SearchAlbum &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;
    SrchTxt.Value = SearchAlbum&lt;br /&gt;
  Else&lt;br /&gt;
    SrchTxt.Value = SearchTerm&lt;br /&gt;
  End If&lt;br /&gt;
&lt;br /&gt;
  Set SrchType = Doc2.getElementById(&amp;quot;search_opt&amp;quot;)&lt;br /&gt;
  SrchType.selectedIndex = 1  &#039; Search for an album&lt;br /&gt;
&lt;br /&gt;
  Set SrchButton = Doc2.getElementById(&amp;quot;search_button&amp;quot;)&lt;br /&gt;
  SrchButton.Click&lt;br /&gt;
&lt;br /&gt;
  Set Tmr = SDB.CreateTimer(40)&lt;br /&gt;
  Script.RegisterEvent Tmr, &amp;quot;OnTimer&amp;quot;, &amp;quot;ContinueSearch&amp;quot;&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&#039; We use this procedure as a callback using Timer, so that we can present results as soon as they are downloaded&lt;br /&gt;
Sub ContinueSearch(Timer)&lt;br /&gt;
  Script.UnregisterEvents Tmr&lt;br /&gt;
  Set Tmr = Nothing&lt;br /&gt;
&lt;br /&gt;
  Set WB2Intf = WB2.Interf&lt;br /&gt;
&lt;br /&gt;
  If Len(WB2Intf.LocationURL) &amp;lt; 10 Then        &#039; A trick - wait until navigation to the search results page starts&lt;br /&gt;
    Set Tmr = SDB.CreateTimer(40)&lt;br /&gt;
    Script.RegisterEvent Tmr, &amp;quot;OnTimer&amp;quot;, &amp;quot;ContinueSearch&amp;quot;&lt;br /&gt;
    Exit Sub&lt;br /&gt;
  End If&lt;br /&gt;
&lt;br /&gt;
  If WB2Intf.ReadyState = 1 Or WB2Intf.Busy Then&lt;br /&gt;
    Set Tmr = SDB.CreateTimer(40)&lt;br /&gt;
    Script.RegisterEvent Tmr, &amp;quot;OnTimer&amp;quot;, &amp;quot;ContinueSearch&amp;quot;&lt;br /&gt;
    Exit Sub&lt;br /&gt;
  End If&lt;br /&gt;
&lt;br /&gt;
  Set Doc2 = WB2Intf.Document&lt;br /&gt;
&lt;br /&gt;
  Set DivResults = Doc2.body&lt;br /&gt;
&lt;br /&gt;
  Set Results = SDB.NewStringList&lt;br /&gt;
  Set FoundLinks = SDB.NewStringList&lt;br /&gt;
  If IsObject(DivResults) And Not IsNull(DivResults) Then&lt;br /&gt;
    Set AColl = DivResults.getElementsByTagName(&amp;quot;A&amp;quot;)&lt;br /&gt;
    For Each itm In AColl&lt;br /&gt;
      Set Imgs = itm.getElementsByTagName(&amp;quot;img&amp;quot;)&lt;br /&gt;
      pos = InStr(CStr(itm.href), &amp;quot;.com/&amp;quot;)&lt;br /&gt;
      If pos &amp;gt; 0 Then&lt;br /&gt;
        href = Mid(itm.href, pos)&lt;br /&gt;
        If Left(href,Len(&amp;quot;.com/cg/amg.dll?p=amg&amp;amp;sql=10:&amp;quot;)) = &amp;quot;.com/cg/amg.dll?p=amg&amp;amp;sql=10:&amp;quot; And Imgs.length = 0 Then&lt;br /&gt;
          Results.Add itm.innerText&lt;br /&gt;
          FoundLinks.Add itm.href&lt;br /&gt;
        End If&lt;br /&gt;
      End If&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    SDB.Tools.WebSearch.SetSearchResults Results&lt;br /&gt;
    If Results.Count &amp;gt; 0 Then&lt;br /&gt;
      SDB.Tools.WebSearch.ResultIndex = 0&lt;br /&gt;
    End If&lt;br /&gt;
  Else&lt;br /&gt;
    WB.SetHTMLDocument = Doc2.documentElement.innerHTML&lt;br /&gt;
  End If&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&#039; This procedure is called by MediaMonkey when user selects some of search results&lt;br /&gt;
Sub ShowResult(ResultID)&lt;br /&gt;
  If ResultID &amp;gt;= 0 And ResultID &amp;lt; FoundLinks.Count Then&lt;br /&gt;
    SDB.Tools.WebSearch.ClearTracksData   &#039; Tell MM to disregard any previously set tracks&#039; data&lt;br /&gt;
    WB.SetHTMLDocument &amp;quot;&amp;quot;                 &#039; To prevent usage of this data&lt;br /&gt;
    WB.Interf.Navigate FoundLinks.Item(ResultID)&lt;br /&gt;
&lt;br /&gt;
    Set Tmr = SDB.CreateTimer(500)&lt;br /&gt;
    Script.RegisterEvent Tmr, &amp;quot;OnTimer&amp;quot;, &amp;quot;ResultFullyLoaded&amp;quot;&lt;br /&gt;
  End If&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&#039; This is a callback handled by a timer, so that we can respond as soon as album results are loaded&lt;br /&gt;
Sub ResultFullyLoaded(Timer)&lt;br /&gt;
  Script.UnregisterEvents Tmr&lt;br /&gt;
  Set Tmr = Nothing&lt;br /&gt;
&lt;br /&gt;
  Set Tracks = SDB.NewStringList&lt;br /&gt;
&lt;br /&gt;
  Set Doc = WB.Interf.Document&lt;br /&gt;
&lt;br /&gt;
  If IsObject(Doc) Then&lt;br /&gt;
    &#039; Get track titles&lt;br /&gt;
    Set AColl = Doc.getElementsByTagName(&amp;quot;A&amp;quot;)&lt;br /&gt;
    For Each itm In AColl&lt;br /&gt;
      Set Imgs = itm.getElementsByTagName(&amp;quot;img&amp;quot;)&lt;br /&gt;
      pos = InStr(CStr(itm.href), &amp;quot;.com/&amp;quot;)&lt;br /&gt;
      If pos &amp;gt; 0 Then&lt;br /&gt;
        href = Mid(itm.href, pos)&lt;br /&gt;
        If Left(href,Len(&amp;quot;.com/cg/amg.dll?p=amg&amp;amp;sql=33:&amp;quot;)) = &amp;quot;.com/cg/amg.dll?p=amg&amp;amp;sql=33:&amp;quot; And Imgs.length = 0 Then&lt;br /&gt;
          Tracks.Add itm.innerText&lt;br /&gt;
        End If&lt;br /&gt;
      End If&lt;br /&gt;
      If itm.className = &amp;quot;subtitle&amp;quot; Then&lt;br /&gt;
        ArtistTitle = itm.innerText&lt;br /&gt;
      End If&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    &#039; Get album title&lt;br /&gt;
    Set SpanColl = Doc.getElementsByTagName(&amp;quot;Span&amp;quot;)&lt;br /&gt;
    For Each itm in SpanColl&lt;br /&gt;
      If itm.className = &amp;quot;title&amp;quot; Then&lt;br /&gt;
        AlbumTitle = itm.innerText&lt;br /&gt;
      End If&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    &#039; Get Album art URL&lt;br /&gt;
    Set ImgColl = Doc.getElementsByTagName(&amp;quot;Img&amp;quot;)&lt;br /&gt;
    For Each itm in ImgColl&lt;br /&gt;
      If Left(itm.src,Len(&amp;quot;http://image.allmusic.com/&amp;quot;)) = &amp;quot;http://image.allmusic.com/&amp;quot; Then&lt;br /&gt;
        SDB.Tools.WebSearch.AlbumArtURL = itm.src&lt;br /&gt;
      End If&lt;br /&gt;
    Next&lt;br /&gt;
&lt;br /&gt;
    &#039; Get release year&lt;br /&gt;
    Set SpanColl = Doc.getElementsByTagName(&amp;quot;span&amp;quot;)&lt;br /&gt;
    For Each itm In SpanColl&lt;br /&gt;
      pos = InStr(itm.innerText, &amp;quot;Release Date&amp;quot;)&lt;br /&gt;
      If pos &amp;gt; 0 Then&lt;br /&gt;
        Set Parnt = itm.parentNode.parentNode.parentNode.parentNode&lt;br /&gt;
        Set TDColl = Parnt.getElementsByTagName(&amp;quot;td&amp;quot;)&lt;br /&gt;
        For Each itm2 In TDColl&lt;br /&gt;
          If itm2.className = &amp;quot;sub-text&amp;quot; Then&lt;br /&gt;
            ReleaseYear = Right(itm2.innerText, 4)&lt;br /&gt;
            Exit For&lt;br /&gt;
          End If&lt;br /&gt;
        Next&lt;br /&gt;
        Exit For&lt;br /&gt;
      End If&lt;br /&gt;
    Next&lt;br /&gt;
    &lt;br /&gt;
    &#039; Get genres/styles/moods/themes&lt;br /&gt;
    ListCnt = 0&lt;br /&gt;
    Set DivColl = Doc.getElementsByTagName(&amp;quot;div&amp;quot;)&lt;br /&gt;
    For Each itm In DivColl&lt;br /&gt;
      pos = InStr(itm.id, &amp;quot;left-sidebar-list&amp;quot;)&lt;br /&gt;
      If pos &amp;gt; 0 Then&lt;br /&gt;
        Set AColl = itm.getElementsByTagName(&amp;quot;a&amp;quot;)&lt;br /&gt;
        MyList = &amp;quot;&amp;quot;&lt;br /&gt;
        For Each itm2 In AColl&lt;br /&gt;
          If MyList &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then MyList = MyList &amp;amp; &amp;quot;;&amp;quot;&lt;br /&gt;
          MyList = MyList &amp;amp; itm2.innerText&lt;br /&gt;
        Next&lt;br /&gt;
        ListCnt = ListCnt + 1&lt;br /&gt;
        Select Case ListCnt&lt;br /&gt;
          Case 1&lt;br /&gt;
            Genres = MyList&lt;br /&gt;
          Case 2&lt;br /&gt;
            Styles = MyList&lt;br /&gt;
          Case 3&lt;br /&gt;
            Moods = MyList&lt;br /&gt;
          Case 4&lt;br /&gt;
            Themes = MyList&lt;br /&gt;
        End Select&lt;br /&gt;
      End If&lt;br /&gt;
    Next&lt;br /&gt;
  End If&lt;br /&gt;
&lt;br /&gt;
  If Tracks.Count = 0 Then&lt;br /&gt;
    &#039; Nothing found yet, wait some more time&lt;br /&gt;
    Set Tmr = SDB.CreateTimer(500)&lt;br /&gt;
    Script.RegisterEvent Tmr, &amp;quot;OnTimer&amp;quot;, &amp;quot;ResultFullyLoaded&amp;quot;&lt;br /&gt;
  Else&lt;br /&gt;
    &#039; Some results were found, notify MediaMonkey&lt;br /&gt;
    SDB.Tools.WebSearch.SmartUpdateTracks Tracks&lt;br /&gt;
    For i = 0 To SDB.Tools.WebSearch.NewTracks.Count - 1&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).ArtistName = ArtistTitle&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).AlbumName = AlbumTitle&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).Year = ReleaseYear&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).Genre = Genres&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).Custom1 = Styles&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).Custom2 = Moods&lt;br /&gt;
      SDB.Tools.WebSearch.NewTracks.Item(i).Custom3 = Themes&lt;br /&gt;
    Next&lt;br /&gt;
    SDB.Tools.WebSearch.RefreshViews   &#039; Tell MM that we have made some changes&lt;br /&gt;
  End If&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
&#039; This does the final clean up, so that our script doesn&#039;t leave any unwanted traces&lt;br /&gt;
Sub FinishSearch(Panel)&lt;br /&gt;
  &#039; Correctly terminate all the actions we have started&lt;br /&gt;
  WB.Common.DestroyControl      &#039; Destroy the external control&lt;br /&gt;
  WB2.Common.DestroyControl     &#039;    &amp;quot;     &amp;quot;     &amp;quot;        &amp;quot;&lt;br /&gt;
  Set WB = Nothing              &#039; Release global variable&lt;br /&gt;
  Set WB2 = Nothing             &#039;    &amp;quot;      &amp;quot;        &amp;quot;&lt;br /&gt;
  Set FoundLinks = Nothing      &#039;    &amp;quot;      &amp;quot;        &amp;quot;&lt;br /&gt;
  If IsObject(Tmr) Then&lt;br /&gt;
    Script.UnregisterEvents Tmr &#039; Unregister timer events&lt;br /&gt;
    Set Tmr = Nothing           &#039; Release global variable&lt;br /&gt;
  End If&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Introduction_To_Scripts&amp;diff=3019</id>
		<title>Introduction To Scripts</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Introduction_To_Scripts&amp;diff=3019"/>
		<updated>2007-12-29T16:14:16Z</updated>

		<summary type="html">&lt;p&gt;RedX: Initial text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Scripts are a fundamental feature of MM.&lt;br /&gt;
They allow the user to automate MediaMonkey and enhance it with new features as autmated tagging, resuming playback on startup, getting info from the internet.&lt;br /&gt;
&lt;br /&gt;
Scripts are available in the [http://www.mediamonkey.com/forum/viewforum.php?f=2 scripting forum].&lt;br /&gt;
&lt;br /&gt;
== See also==&lt;br /&gt;
[[Introduction to scripting]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Auto-DJ_scripts&amp;diff=3017</id>
		<title>Auto-DJ scripts</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Auto-DJ_scripts&amp;diff=3017"/>
		<updated>2007-12-29T12:10:53Z</updated>

		<summary type="html">&lt;p&gt;RedX: added link to sample script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Auto-DJ scripts let developers to plug-in new scripts that handle how new tracks are added by Auto-DJ. This script type was introduced in MediaMonkey 3.0. You can see example of this script type in [[Sample Auto-DJ script]].&lt;br /&gt;
&lt;br /&gt;
===Auto-DJ script basics===&lt;br /&gt;
&lt;br /&gt;
Each search script must be in a separate file (usually .vbs) and must contain several procedures that MediaMonkey calls. The script remains loaded in memory while it is selected as the Auto-DJ script, it is only unloaded when another Auto-DJ script is selected or Auto-DJ is disabled. Therefore you can use global script variables and keep values in them among calls to the procedures of script.&lt;br /&gt;
&lt;br /&gt;
Each Auto-DJ script must be included in Scripts.ini file and designated as ScriptType=4.&lt;br /&gt;
&lt;br /&gt;
===Auto-DJ script structure===&lt;br /&gt;
&lt;br /&gt;
Each Auto-DJ script must contain several procedures so that it can properly respond to what user and MediaMonkey want from it. The required procedures are:&lt;br /&gt;
&lt;br /&gt;
====Sub InitConfigSheet( Panel)====&lt;br /&gt;
&lt;br /&gt;
This procedure is called when the script should show some UI on Options Panel (note that it&#039;s about a very small &lt;br /&gt;
panel to be shown, more details should be configured in a separate window).&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
;Panel&lt;br /&gt;
:Panel where script can place its controls&lt;br /&gt;
&lt;br /&gt;
====Sub CloseConfigSheet( Panel, SaveConfig)====&lt;br /&gt;
&lt;br /&gt;
This procedure is called when this script should remove its UI from Options Panel.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
;Panel&lt;br /&gt;
:Panel where UI controls were previously placed by the script.&lt;br /&gt;
;SaveConfig&lt;br /&gt;
:Whether user pressed Ok and values in the dialog should be applied and saved (to registry, ini file, or so).&lt;br /&gt;
&lt;br /&gt;
====Function GenerateNewTrack====&lt;br /&gt;
&lt;br /&gt;
This function prepares a new track to be added to Now Playing queue, it should return [[SDBSongData]] object.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Sample Auto-DJ script]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Category:CoClass_SDBIniFile&amp;diff=3016</id>
		<title>Category:CoClass SDBIniFile</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Category:CoClass_SDBIniFile&amp;diff=3016"/>
		<updated>2007-12-29T11:54:26Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objects of the iniFile&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Category:Automation_objects&amp;diff=3015</id>
		<title>Category:Automation objects</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Category:Automation_objects&amp;diff=3015"/>
		<updated>2007-12-29T11:53:31Z</updated>

		<summary type="html">&lt;p&gt;RedX: redirect to scripting since have the same items&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the objects provided by MM to be used when scripting.&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Category:Scripting&amp;diff=3014</id>
		<title>Category:Scripting</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Category:Scripting&amp;diff=3014"/>
		<updated>2007-12-29T11:45:47Z</updated>

		<summary type="html">&lt;p&gt;RedX: Added minor description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the objects provided by MM to be used when scripting.&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=Installation_Packages_(MM4)&amp;diff=3013</id>
		<title>Installation Packages (MM4)</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=Installation_Packages_(MM4)&amp;diff=3013"/>
		<updated>2007-12-29T11:42:14Z</updated>

		<summary type="html">&lt;p&gt;RedX: Added example install.vbs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation Packages structure==&lt;br /&gt;
&lt;br /&gt;
Additional Extensions can be easily installed in MediaMonkey using Installation Packages. Each installation package is a ZIP &lt;br /&gt;
file with MMIP extension, when such a file is executed, it is automatically installed in MediaMonkey (see Tools|Extensions menu item).&lt;br /&gt;
Inside the package can be included any files that need to be installed, but there are also some special files that can or must be included:&lt;br /&gt;
&lt;br /&gt;
;Install.ini&lt;br /&gt;
:Mandantory - this file describes the package and what to install.&lt;br /&gt;
;App.ico&lt;br /&gt;
:Optional - Icon of the package.&lt;br /&gt;
;Uninstall.ini&lt;br /&gt;
:Optional (but suggested) - describes steps on uninstall, which files to remove, etc.&lt;br /&gt;
;Uninstall.vbs&lt;br /&gt;
:Optional - is automatically preserved by installer and can be called by Uninstall.ini on uninstallation.&lt;br /&gt;
&lt;br /&gt;
===Install.ini file===&lt;br /&gt;
&lt;br /&gt;
The installation file has a structure of an ini file, i.e. some sections with keys and values. &lt;br /&gt;
&lt;br /&gt;
====[Header] section====&lt;br /&gt;
&lt;br /&gt;
Each install.ini file starts with a mandantory section [Header]. It contains basic information about the product being installed, namely:&lt;br /&gt;
&lt;br /&gt;
;ID&lt;br /&gt;
:Unique string identification of the product. It should contain only alphanumeric characters, digits or underscores.&lt;br /&gt;
;Title&lt;br /&gt;
:Product title shown to user.&lt;br /&gt;
;Description&lt;br /&gt;
:Detailed product description.&lt;br /&gt;
;VersionMajor&lt;br /&gt;
:Major version number.&lt;br /&gt;
;VersionMinor&lt;br /&gt;
:Minor version number.&lt;br /&gt;
;VersionRelease&lt;br /&gt;
:Release number.&lt;br /&gt;
;VersionBuild&lt;br /&gt;
:Build number. Any of these numbers can be missing, e.g. if only VersionMajor and VersionMinor are present, the version number shown to user would be &#039;VersionMajor.VersionMinor&#039;.&lt;br /&gt;
;Type&lt;br /&gt;
:Type of product being installed. Either script, skin or misc. This is used so that MM knows more about the extension.&lt;br /&gt;
;UpdateURL&lt;br /&gt;
:URL where MM should look for updates of this product. If this key is missing, MM can still try to find out whether a new version has been released by asking MM web scripting repository using product ID above.&lt;br /&gt;
&lt;br /&gt;
====Other sections====&lt;br /&gt;
&lt;br /&gt;
After the header section, there can follow an arbitrary number of other sections specifying actions installer should do. The possible sections follow.&lt;br /&gt;
&lt;br /&gt;
====[Copy] section====&lt;br /&gt;
&lt;br /&gt;
This section tells where individual files from the installer ZIP file should be placed. Expected keys there include:&lt;br /&gt;
;Src&lt;br /&gt;
:Source file name in the installer ZIP file.&lt;br /&gt;
;Tgt&lt;br /&gt;
:Destination file path. It can contain constants useful for placing files in common paths (the same as InnoSetup constants). Currently implemented constants: &lt;br /&gt;
:*{app} = MediaMonkey installation folder.&lt;br /&gt;
;Flags&lt;br /&gt;
:Comma separated list of flags related to this copy operation. Can be any of:&lt;br /&gt;
:;Overwriteifnewer&lt;br /&gt;
::If the target file already exists, it will be overwritten only if the source file is newer. If this flag isn&#039;t specified, the target file will always be overwritten.&lt;br /&gt;
If your package contains various files to be copied, you need one [Copy] Section for each individual file.&lt;br /&gt;
&lt;br /&gt;
====[Delete] section====&lt;br /&gt;
&lt;br /&gt;
This section is primarily for &#039;uninstall.ini&#039; file. The only parameter is:&lt;br /&gt;
&lt;br /&gt;
;File&lt;br /&gt;
:Full path of the file to be deleted.&lt;br /&gt;
&lt;br /&gt;
====[Execute] section====&lt;br /&gt;
&lt;br /&gt;
This section allows developer to execute a script and thus do any other necessary installation/uninstallation actions, for example prepare Scripts.ini content. Expected keys here are:&lt;br /&gt;
;File&lt;br /&gt;
:A script file to execute. There is either a fully specified path entered here, or if there is no path information, the script is expected to be located in the installation ZIP file and is prepared to a temporary location prior its execution. For uninstaller &#039;uninstall.vbs&#039; can be specified here and it would be called from its location.&lt;br /&gt;
;Function&lt;br /&gt;
:A name of function to be called within the script file. If this entry is missing or empty, it&#039;s supposed that there&#039;s no need for calling a function and simple execution of the script file does whatever a developer wants to do.&lt;br /&gt;
&lt;br /&gt;
===Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&#039;Uninstall.ini&#039; file will is very similar to &#039;Install.ini&#039; file, just [Header] section is missing. Other sections allow developers to properly delete installed files and remove any other traces of installation, e.g. execute a script that would delete some entries in Scripts.ini file.&lt;br /&gt;
&lt;br /&gt;
==Sample Installation Package==&lt;br /&gt;
&lt;br /&gt;
===Sample content of MMIP file===&lt;br /&gt;
&lt;br /&gt;
Sample MMIP file can contain e.g. the following files:&lt;br /&gt;
*App.ico&lt;br /&gt;
*Install.ini&lt;br /&gt;
*Sample Option Sheets.vbs&lt;br /&gt;
*Uninstall.ini&lt;br /&gt;
*Uninstall.vbs&lt;br /&gt;
&lt;br /&gt;
===Sample Install.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Header]&lt;br /&gt;
ID=MyScript1&lt;br /&gt;
Title=Sample Option Sheets&lt;br /&gt;
Description=Sample Option Sheets.vbs&lt;br /&gt;
VersionMajor=1&lt;br /&gt;
VersionMinor=0&lt;br /&gt;
VersionRelease=0&lt;br /&gt;
VersionBuild=0&lt;br /&gt;
Type=script&lt;br /&gt;
UpdateURL=http://localhost/myscript1/version.xml&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Sample Option Sheets.vbs&lt;br /&gt;
Tgt={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Sample.ico&lt;br /&gt;
Tgt={app}\scripts\auto\Sample.ico&lt;br /&gt;
&lt;br /&gt;
[Copy]&lt;br /&gt;
Src=Icons\*.*&lt;br /&gt;
Tgt={app}\Icons\&lt;br /&gt;
&lt;br /&gt;
[Execute]&lt;br /&gt;
File={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
Function=OnStartup()&lt;br /&gt;
&lt;br /&gt;
Alternative is to use an install.vbs&lt;br /&gt;
[Execute]&lt;br /&gt;
File=install.vbs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample install.vbs===&lt;br /&gt;
&amp;lt;source lang=vb&amp;gt;&lt;br /&gt;
scriptName = &amp;quot;Sample Script&amp;quot;&lt;br /&gt;
&#039;Add scripts.ini entries&lt;br /&gt;
Dim inip : inip = SDB.ApplicationPath&amp;amp;&amp;quot;Scripts\Scripts.ini&amp;quot;&lt;br /&gt;
Dim inif : Set inif = SDB.Tools.IniFileByPath(inip)&lt;br /&gt;
If Not (inif Is Nothing) Then&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Filename&amp;quot;) = &amp;quot;Auto\AdvShutdown.vbs&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Procname&amp;quot;) = &amp;quot;ShutdownUI&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Order&amp;quot;) = &amp;quot;99&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;DisplayName&amp;quot;) = &amp;quot;Advanced Shutdown&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Description&amp;quot;) = &amp;quot;Shuts down PC after some time with more options&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Language&amp;quot;) = &amp;quot;VBScript&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;ScriptType&amp;quot;) = &amp;quot;0&amp;quot;&lt;br /&gt;
	inif.StringValue(scriptName,&amp;quot;Shortcut&amp;quot;) = &amp;quot;Ctr+Shift+s&amp;quot;&lt;br /&gt;
	SDB.RefreshScriptItems&lt;br /&gt;
End If&lt;br /&gt;
	&lt;br /&gt;
&#039; Add entries for Mediamonkey.ini	&lt;br /&gt;
&#039; Here you set the variables you need&lt;br /&gt;
&#039; all 3 types are shown here&lt;br /&gt;
Dim ini: Set ini = sdb.IniFile&lt;br /&gt;
If ini.StringValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Enabled&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.BoolValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Enabled&amp;quot;) = Enabled&lt;br /&gt;
End If&lt;br /&gt;
If ini.BoolValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Timeout&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.StringValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Timeout&amp;quot;) = True&lt;br /&gt;
End If&lt;br /&gt;
If ini.IntValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Action&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;
	ini.IntValue(&amp;quot;AdvShutdown&amp;quot;,&amp;quot;Action&amp;quot;) = 1&lt;br /&gt;
End If&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.ini file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=ini&amp;gt;&lt;br /&gt;
[Delete]&lt;br /&gt;
File={app}\scripts\auto\Sample Option Sheets.vbs&lt;br /&gt;
File={app}\scripts\auto\Sample.ico&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Execute]&lt;br /&gt;
File=Uninstall.vbs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sample Uninstall.vbs file===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
myName = &amp;quot;Sample Script&amp;quot;    &#039;Put script name here&lt;br /&gt;
iniSec = &amp;quot;SampleScript&amp;quot;     &#039;Put ini section name here&lt;br /&gt;
&lt;br /&gt;
&#039; Deletes settings from MediaMonkey.ini&lt;br /&gt;
MsgDeleteSettings = &amp;quot;Do you want to remove &amp;quot; &amp;amp; myName &amp;amp; &amp;quot; settings as well?&amp;quot; &amp;amp; vbNewLine &amp;amp; _&lt;br /&gt;
                    &amp;quot;If you click No, script settings will be left in MediaMonkey.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If (Not (SDB.IniFile Is Nothing)) and (MsgBox(MsgDeleteSettings, vbYesNo) = vbYes) Then&lt;br /&gt;
   SDB.IniFile.DeleteSection(iniSec)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&#039;Remove entries from scripts.ini&lt;br /&gt;
Dim inip : inip = SDB.ApplicationPath&amp;amp;&amp;quot;Scripts\Scripts.ini&amp;quot;&lt;br /&gt;
Dim inif : Set inif = SDB.Tools.IniFileByPath(inip)&lt;br /&gt;
If Not (inif Is Nothing) Then&lt;br /&gt;
  inif.DeleteSection(myName)&lt;br /&gt;
  SDB.RefreshScriptItems&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[SDBIniFile|SDBiniFile object]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::IniFile&amp;diff=3012</id>
		<title>ISDBApplication::IniFile</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::IniFile&amp;diff=3012"/>
		<updated>2007-12-29T11:35:15Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Property Get IniFile As [[SDBIniFile#ISDBIniFile_members|ISDBIniFile]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBIniFile]] object. It can be used to persist options between script execution.&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackProperties&amp;diff=3006</id>
		<title>ISDBApplicationEvents::OnTrackProperties</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplicationEvents::OnTrackProperties&amp;diff=3006"/>
		<updated>2007-12-26T18:33:46Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplicationEvents|Sub OnTrackProperties(TrackList As [[SDBSongList]])}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |TrackList |[[SDBSongList]] |A list of tracks that were modified.}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
Is called whenever track(s) metadata were modified. This happens a lot, so use this event wisely. [[ISDBScriptControl::UnRegisterEvents|Unregister]] the event when your script doesn&#039;t need to handle it anymore.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you modify track(s) metadata within the event handler, the event handler will be called again. Be sure to prevent the event handler from executing, otherwise this would cause an infinite loop. See the example below.&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;Script.RegisterEvent SDB, &amp;quot;OnTrackProperties&amp;quot;, &amp;quot;SDB_OnTrackProperties&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dim InEventHandler : InEventHandler = False &#039; Control variable (shows if event handler is executing)&lt;br /&gt;
&lt;br /&gt;
Sub SDB_OnTrackProperties(TrackList) &lt;br /&gt;
    If InEventHandler Then Exit Sub         &#039; Prevent executing event handler from within itself&lt;br /&gt;
    &lt;br /&gt;
    InEventHandler = True                   &#039; Event starts --&amp;gt; set control variable&lt;br /&gt;
&lt;br /&gt;
    &#039; make some changes to tracks in TrackList &lt;br /&gt;
&lt;br /&gt;
    TrackList.UpdateAll                     &#039; By applying the changes, the event handler will we called&lt;br /&gt;
    InEventHandler = False                  &#039; Event finished --&amp;gt; clear control variable&lt;br /&gt;
End Sub&amp;lt;/source&amp;gt;&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBScriptControl::RegisterEvent&amp;diff=3005</id>
		<title>ISDBScriptControl::RegisterEvent</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBScriptControl::RegisterEvent&amp;diff=3005"/>
		<updated>2007-12-26T18:26:58Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBScriptControl|ISDBScriptControl|Sub RegisterEvent(ObjectVar As Object, [[SDBApplication#ISDBApplicationEvents_members|EventName]] As String, HandlerName As String)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ObjectVar |Object |Object of the event&lt;br /&gt;
 |EventName |String |Event name (string)&lt;br /&gt;
 |HandlerName |String |Procedure name of the handler (string)}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Registers COM object event to be handled by a script.&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Script.RegisterEvent SDB, &amp;quot;OnShutdown&amp;quot;, &amp;quot;ShutdownHandler&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sub ShutdownHandler&lt;br /&gt;
  &#039; Event code goes here....&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/source&amp;gt;&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::CreateTimer&amp;diff=3004</id>
		<title>ISDBApplication::CreateTimer</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::CreateTimer&amp;diff=3004"/>
		<updated>2007-12-26T18:24:06Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Function CreateTimer(Interval As Long) As [[ISDBTimer]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Interval |Long |Interval between calls (in milliseconds).}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Creates new timer.&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Set Tmr = SDB.CreateTimer( 10000)   &#039; Pop up a message in 10 seconds&lt;br /&gt;
Script.RegisterEvent Tmr, &amp;quot;OnTimer&amp;quot;, &amp;quot;TestTimer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sub TestTimer( Timer)&lt;br /&gt;
  SDB.MessageBox &amp;quot;10 seconds elapsed!&amp;quot;, mtInformation, Array(mbOk)&lt;br /&gt;
  Script.UnregisterEvents Timer  &#039; Terminate usage of this timer&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/source&amp;gt;&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Progress&amp;diff=3003</id>
		<title>ISDBApplication::Progress</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::Progress&amp;diff=3003"/>
		<updated>2007-12-26T18:18:00Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Property Get Progress As [[ISDBProgress]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBProgress]] object. It is also initialized and shown this way. In order to further modify the progress bar, see [[SDBProgress]] properties.&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;Dim Progress&lt;br /&gt;
Set Progress = SDB.Progress&lt;br /&gt;
Progress.Text = SDB.Localize(&amp;quot;Exporting...&amp;quot;)&lt;br /&gt;
Progress.MaxValue = list.count&lt;br /&gt;
&lt;br /&gt;
for i=0 to list.count-1&lt;br /&gt;
  &#039;... some code here&lt;br /&gt;
  Progress.Value = i+1&lt;br /&gt;
next&amp;lt;/source&amp;gt;&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::IniFile&amp;diff=3002</id>
		<title>ISDBApplication::IniFile</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBApplication::IniFile&amp;diff=3002"/>
		<updated>2007-12-26T17:31:31Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBApplication|ISDBApplication|Property Get IniFile As [[ISDBIniFile]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBIniFile]] object. It can be used to persist options between script execution.&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 ISDBApplication|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUICheckBox::Common&amp;diff=3001</id>
		<title>ISDBUICheckBox::Common</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUICheckBox::Common&amp;diff=3001"/>
		<updated>2007-12-26T17:25:32Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUICheckBox|ISDBUICheckBox|Property Get Common As [[ISDBUICommon]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns [[SDBUICommon]] object that can be used to modify basic properties of this object, e.g. position, size, etc.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUICheckBox|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUICheckBox|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewForm&amp;diff=3000</id>
		<title>ISDBUI::NewForm</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewForm&amp;diff=3000"/>
		<updated>2007-12-26T16:28:29Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get NewForm As [[ISDBUIForm]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Creates a new [[SDBUIForm|Form]] object. You can place additional controls on it then.&lt;br /&gt;
&lt;br /&gt;
===Example code===                    &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Set Form = SDB.UI.NewForm&lt;br /&gt;
Form.Common.SetRect 100, 100, 500, 400&lt;br /&gt;
Form.Caption = &amp;quot;Statistics&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Set Btn = SDB.UI.NewButton( Form)&lt;br /&gt;
Btn.Caption = &amp;quot;Close&amp;quot;&lt;br /&gt;
Btn.Common.SetRect 10, 10, 100, 20&lt;br /&gt;
&lt;br /&gt;
Form.ShowModal&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Related Topics === &lt;br /&gt;
&lt;br /&gt;
*[[ISDBUI::NewDockablePanel]]&lt;br /&gt;
*[[ISDBUI::NewDockablePersistentPanel]]&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBAlbum::AlbumArt&amp;diff=2999</id>
		<title>ISDBAlbum::AlbumArt</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBAlbum::AlbumArt&amp;diff=2999"/>
		<updated>2007-12-26T02:36:45Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBAlbum|ISDBAlbum|Property Get AlbumArt As [[SDBAlbumArtList]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns a list of album art associated with given album as [[SDBAlbumArtList]] object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBAlbum|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBAlbum|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBAlbums::Item&amp;diff=2998</id>
		<title>ISDBAlbums::Item</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBAlbums::Item&amp;diff=2998"/>
		<updated>2007-12-26T02:34:59Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBAlbums|ISDBAlbums|Property Get Item(Index As Long) As [[SDBAlbum]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Index |Long |Index of the album to return.}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns an album from the list indexed by Index as [[SDBAlbum]] object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBAlbums|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBAlbums|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTextFile::Close&amp;diff=2997</id>
		<title>ISDBTextFile::Close</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTextFile::Close&amp;diff=2997"/>
		<updated>2007-12-26T02:34:11Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTextFile|ISDBTextFile|Sub Close()}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Closes opened file.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBTextFile|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBTextFile|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBPlaylist::AddTracks&amp;diff=2996</id>
		<title>ISDBPlaylist::AddTracks</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBPlaylist::AddTracks&amp;diff=2996"/>
		<updated>2007-12-26T02:32:09Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBPlaylist|ISDBPlaylist|Sub AddTracks(Tracks As [[SDBSongList]])}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Tracks |[[SDBSongList]] |Tracks to be added}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Adds tracks to the playlist.&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
&lt;br /&gt;
There was a bug in this method and it caused problems before MediaMonkey 3.0.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBPlaylist|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBPlaylist|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNodeEvents::OnNodeDragDrop&amp;diff=2995</id>
		<title>ISDBTreeNodeEvents::OnNodeDragDrop</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNodeEvents::OnNodeDragDrop&amp;diff=2995"/>
		<updated>2007-12-26T02:31:07Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTreeNode|ISDBTreeNodeEvents|Function OnNodeDragDrop(DestinationNode As [[SDBTreeNode]], SourceNode As [[SDBTreeNode]], TrackList As [[SDBSongList]], CopyType As Long, JustTest As Boolean) As Long}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |DestinationNode |[[SDBTreeNode]] |Node where user is about to drop tracks&lt;br /&gt;
 |SourceNode |[[SDBTreeNode]] |Node where the drag&amp;amp;amp;drop operation started&lt;br /&gt;
 |TrackList |[[SDBSongList]] |List of tracks that are being dragged&lt;br /&gt;
 |CopyType |Long |The same list of values as the return value of this function&lt;br /&gt;
 |JustTest |Boolean |If true, this is just a test and return value of this event specifies whether tracks can be dropped here or not.}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when:&lt;br /&gt;
# User drags tracks over the given node&lt;br /&gt;
# User drops tracks on the given node&lt;br /&gt;
This event is supposed to either let MM know whether drag&amp;amp;drop can proceed here, or should directly process the operation (depending on justTest parameter)&lt;br /&gt;
&lt;br /&gt;
Return values can be:&lt;br /&gt;
:* 0 .. Drag&amp;amp;Drop operation isn&#039;t allowed here&lt;br /&gt;
:* 1 .. Copy operation&lt;br /&gt;
:* 2 .. Move operation&lt;br /&gt;
:* 3 .. Move operation that &#039;&#039;cannot&#039;&#039; be modified using Shift key&lt;br /&gt;
:* 4 .. Copy operation that &#039;&#039;cannot&#039;&#039; be modified using Shift key&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBTreeNode|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBTreeNodeEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBImage::ConvertFormat&amp;diff=2994</id>
		<title>ISDBImage::ConvertFormat</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBImage::ConvertFormat&amp;diff=2994"/>
		<updated>2007-12-26T02:25:31Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBImage|ISDBImage|Function ConvertFormat(NewWidth As Long, NewHeight As Long, NewFormat As String, Compression As Long, BackgroundColor As Long) As [[SDBImage]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |NewWidth |Long |Width of the new image (in pixels).&lt;br /&gt;
 |NewHeight |Long |Height of the new image (in pixels).&lt;br /&gt;
 |NewFormat |String |Specification of the target format, can be: &#039;image/jpeg&#039;, &#039;image/png&#039; or &#039;RGB565&#039;.&lt;br /&gt;
 |Compression |Long |JPEG compression value (0-100), higher value means better image/less compression.&lt;br /&gt;
 |BackgroundColor |Long | -1..Convert to given dimensions, 0...Keep aspect ratio and fill by black color pixels to get requested dimensions}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Converts this image to another format and/or dimensions and returns converted [[SDBImage]] object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBImage|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBImage|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNodeEvents::OnFillTracks&amp;diff=2993</id>
		<title>ISDBTreeNodeEvents::OnFillTracks</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNodeEvents::OnFillTracks&amp;diff=2993"/>
		<updated>2007-12-26T02:22:58Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTreeNode|ISDBTreeNodeEvents|Sub OnFillTracks(Node As [[SDBTreeNode]])}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Node |[[SDBTreeNode]] |Node parameter}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event is called when node content (tracks) should be shown.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBTreeNode|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBTreeNodeEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDevice::StartSynch&amp;diff=2992</id>
		<title>ISDBDevice::StartSynch</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDevice::StartSynch&amp;diff=2992"/>
		<updated>2007-12-26T02:22:10Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDevice|ISDBDevice|Sub StartSynch(DeviceHandle As Long, TrackList As [[SDBSongList]])}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |DeviceHandle |Long |&lt;br /&gt;
 |TrackList |[[SDBSongList]] |}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDevice|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDevice|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNode&amp;diff=2991</id>
		<title>ISDBTreeNode</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNode&amp;diff=2991"/>
		<updated>2007-12-26T02:18:07Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[SDBTreeNode#ISDBTreeNode members]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNode&amp;diff=2990</id>
		<title>ISDBTreeNode</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTreeNode&amp;diff=2990"/>
		<updated>2007-12-26T02:16:25Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[SDBTreeNode#ISDBTreeNode]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTree::Node_Artist&amp;diff=2989</id>
		<title>ISDBTree::Node Artist</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTree::Node_Artist&amp;diff=2989"/>
		<updated>2007-12-26T02:15:07Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTree|ISDBTree|Property Get Node_Artist As [[ISDBTreeNode]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Artist node.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewTrackBar&amp;diff=2988</id>
		<title>ISDBUI::NewTrackBar</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewTrackBar&amp;diff=2988"/>
		<updated>2007-12-26T02:14:40Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get NewTrackBar(Owner As Object) As [[SDBUITrackBar]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Owner |Object |Parent control of the newly created control.}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Creates a new trackbar.&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBAlbumArtList::Item&amp;diff=2987</id>
		<title>ISDBAlbumArtList::Item</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBAlbumArtList::Item&amp;diff=2987"/>
		<updated>2007-12-26T02:13:25Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBAlbumArtList|ISDBAlbumArtList|Property Get/Let Item(Index As Long) As [[SDBAlbumArtItem]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Index |Long |Index of album art to be returned.}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Returns albums art given by an index as [[SDBAlbumArtItem]] object.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBAlbumArtList|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBAlbumArtList|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBTree::SortChildren&amp;diff=2986</id>
		<title>ISDBTree::SortChildren</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBTree::SortChildren&amp;diff=2986"/>
		<updated>2007-12-26T02:11:39Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBTree|ISDBTree|Sub SortChildren(Node As [[SDBTreeNode]])}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Node |[[SDBTreeNode]] |Parent node of nodes to be sorted.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Sorts children of given node according to the order they should appear (not always alphabetically).&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::Cached&amp;diff=2985</id>
		<title>ISDBSongData::Cached</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBSongData::Cached&amp;diff=2985"/>
		<updated>2007-12-26T02:08:38Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBSongData|ISDBSongData|Property Get/Let Cached As [[EnumCacheStatus]]}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
Determines if a song is cached on the Virtual CD.&lt;br /&gt;
&lt;br /&gt;
=== Related Topics === &lt;br /&gt;
*[[ISDBSongData::CachedPath]]&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>RedX</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewSpinEdit&amp;diff=2984</id>
		<title>ISDBUI::NewSpinEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewSpinEdit&amp;diff=2984"/>
		<updated>2007-12-26T02:07:27Z</updated>

		<summary type="html">&lt;p&gt;RedX: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get NewSpinEdit(Owner As Object) As [[SDBUISpinEdit]]}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Owner |Object |}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Creates a new edit line for integers with up and down arrows.&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>RedX</name></author>
	</entry>
</feed>