<?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=PetrCBR</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=PetrCBR"/>
	<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/Special:Contributions/PetrCBR"/>
	<updated>2026-05-23T13:15:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.4</generator>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4302</id>
		<title>How to skin MediaMonkey versions 3 and 4</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4302"/>
		<updated>2008-05-28T15:25:03Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This entry is primarily for reference purposes. For a walkthrough of how to skin your MediaMonkey interface, please see the [[Walkthrough on how to skin MediaMonkey v3]] and/or [[Fast Newbie&#039;s Skinning Walkthrough for MM 3]].&#039;&#039;&lt;br /&gt;
==Introduction==&lt;br /&gt;
MediaMonkey offers a fair amount of flexibility to customize the look of the application.  This document provides graphic designers with the information needed to make MediaMonkey even better looking than it already is.&lt;br /&gt;
&lt;br /&gt;
The UI elements that can be modified are:&lt;br /&gt;
#The MediaMonkey Skin&lt;br /&gt;
#*The application Theme (i.e. the look of buttons, borders, status bars, title bars, fonts, etc.)&lt;br /&gt;
#*The skin of the various incarnations of the player (the main player, mini-monkey, and micro-monkey) and the font of the text within&lt;br /&gt;
#*Background images for various panels&lt;br /&gt;
#Icons within the application&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The MediaMonkey Skin==&lt;br /&gt;
A MediaMonkey skin consists of the Theme, the Player skins, and several background images that together make up a ‘skin’.  Skins are packaged as .msz files, which are simply .zip files with an .msz extension, containing all skin elements, saved to:&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\skinname.msz&#039;&#039;&lt;br /&gt;
so that users can choose a skin via &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that during the skin creation process, skin components can be created/edited in&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\Skinname\&amp;lt;skin components&amp;gt;&#039;&#039;&lt;br /&gt;
so that there’s no need to continually repackage the skin during skin development.  Once you’re satisfied with your edits, you can just Zip the contents of the &#039;&#039;\Test&#039;&#039; directory into a zip file, rename it to &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039;, and place it in the &#039;&#039;\MediaMonkey\Skins\&#039;&#039; directory to see the final result.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Theme===&lt;br /&gt;
The MediaMonkey Theme is what controls the overall look and feel of most aspects of the application (e.g. the titlebar, the buttons, the status bar, tabs, checkboxes, etc.). The theme is controlled by Theme.mskn which contains graphical elements and mappings of these elements to various UI objects. To edit a theme:&lt;br /&gt;
#Extract a skin (e.g. &#039;&#039;Casino Blue.msz&#039;&#039;) to&lt;br /&gt;
#:&#039;&#039;\MediaMonkey\Skins\Test\&#039;&#039;&lt;br /&gt;
#Download the [[ThemeEditor|KSDev theme editor]] from&lt;br /&gt;
#:http://www.mediamonkey.com/contrib/artwork/themeeditor7.exe&lt;br /&gt;
#Run the Theme Editor and load &#039;&#039;Theme.mskn&#039;&#039; from the &#039;&#039;\Test&#039;&#039; directory into the theme editor and edit it and save it.&lt;br /&gt;
#In MediaMonkey, Go to &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skins&amp;lt;/code&amp;gt; and select the new Test skin to see the results of your work (to refresh the skin, just switch skins in the Skins configuration panel).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the editing process, there are 2 approaches you can take:&lt;br /&gt;
&lt;br /&gt;
*If you have graphic expertise, but don&#039;t want to get into the details of configuring the size of buttons, their behaviour, setting margins, etc. the simplest approach is to create a new theme based on the graphics of an existing theme:&lt;br /&gt;
*#Click &amp;lt;code&amp;gt;File &amp;gt; Export Bitmaps&amp;lt;/code&amp;gt; and then edit the images, while making certain to maintain their exact dimensions&lt;br /&gt;
*#Click the Images node in the ThemeEditor tree, select individual images and click &#039;Replace&#039; to replace them with the newly edited images&lt;br /&gt;
*#After replacing all the images, resave the .mskn file&lt;br /&gt;
*#Switch to the skin entitled &#039;Test&#039; to see how the changes look&lt;br /&gt;
&lt;br /&gt;
*If you want much greater control and flexibility to control all aspects of a theme, you can create a new theme based on an existing one, but in addition to changing graphics images, you can also change various additional characteristics of the theme (e.g. fonts) by editing the properties of various objects that appear in the MediaMonkey UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instructions on the use of Theme Editor is beyond the scope of this document. The best approach is to edit the properties of various objects in the tree and then saving the theme file and test out the Skin containing the new theme file by switching to it in MediaMonkey.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a reference to all &#039;&#039;Theme.mskn&#039;&#039; objects used in the MediaMonkey UI:&lt;br /&gt;
;Form &lt;br /&gt;
:This defines the MediaMonkey frame, and buttons within the title bar&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\Font&#039;&#039;&#039; - caption font&lt;br /&gt;
;MenuBar&lt;br /&gt;
:Only the ToolbarItem is used along with;&lt;br /&gt;
:&#039;&#039;&#039;ItemButton&#039;&#039;&#039; (TSeButtonObject type) - This defines look of the top menu item (items like File, Tools etc.)&lt;br /&gt;
:&#039;&#039;&#039;SubitemButton&#039;&#039;&#039; (TSeButtonObject type) - This defined buttons within menu (all items in menu)&lt;br /&gt;
;Popup Menu&lt;br /&gt;
:This defines the look of menus&lt;br /&gt;
;CheckBox&lt;br /&gt;
:Defines the look/behaviour of checkboxes&lt;br /&gt;
;RadioButton&lt;br /&gt;
:Defines the look/behaviour of radio buttons&lt;br /&gt;
;ScrollBar&lt;br /&gt;
:Defines the look/behaviour of scrollbars&lt;br /&gt;
:&#039;&#039;&#039;NCArea&#039;&#039;&#039; - defines bottom right corner background (area between horizontal and vertical scrollbars)&lt;br /&gt;
:&#039;&#039;&#039;TopButton&#039;&#039;&#039; - defines top scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;BottomButton&#039;&#039;&#039; - defines bottom scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;LeftButton&#039;&#039;&#039; - defines left scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;RightButton&#039;&#039;&#039; - defines right scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;VertFrame&#039;&#039;&#039; - defines vertical scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;HorzFrame&#039;&#039;&#039; - defines horizontal scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;VertSlider&#039;&#039;&#039; - defines vertical scrollbar&lt;br /&gt;
:&#039;&#039;&#039;HorzSlider&#039;&#039;&#039; - defines horizontal scrollbar&lt;br /&gt;
;Button&lt;br /&gt;
:Defines the look/behaviour of OK/Cancel/Other buttons that appear within dialogs&lt;br /&gt;
;SpeedButton&lt;br /&gt;
:Defines the look/behaviour of buttons on the toolbar&lt;br /&gt;
;GroupBox&lt;br /&gt;
:Defines the group boxes that are used in some dialogs such as encoder selection dialog&lt;br /&gt;
;ProgressBar&lt;br /&gt;
:Defines the look of progress bar that&#039;s used to indicate status.  Currently only the horizontal one is used.&lt;br /&gt;
;TrackBar&lt;br /&gt;
:Defines the look of the sliders/tracks used for the equalizer&lt;br /&gt;
;Listbox&lt;br /&gt;
:Defines the look of listboxes (e.g. the Scan Folders dialog, tracklist)&lt;br /&gt;
:&#039;&#039;&#039;Item\ActiveBitmap&#039;&#039;&#039; - for selected item background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveBitmap&#039;&#039;&#039; - for unfocused selected text background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveFont&#039;&#039;&#039; - for unfocused control selected text font&lt;br /&gt;
: -&lt;br /&gt;
:ListBox colors and fonts:&lt;br /&gt;
:&#039;&#039;&#039;Colors\ListBox\Body&#039;&#039;&#039; - used to set default background colour&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextNormal&#039;&#039;&#039; - for normal text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextHot&#039;&#039;&#039; - for &#039;hot&#039; text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextSelected&#039;&#039;&#039; - for selected text&lt;br /&gt;
;Combobox&lt;br /&gt;
:Defines the look of combo boxes&lt;br /&gt;
;SpinButton&lt;br /&gt;
:Used for Up/Down arrows&lt;br /&gt;
;Panel&lt;br /&gt;
:Used for docked dialogs&lt;br /&gt;
;Tabs&lt;br /&gt;
:Used for TabSheets&lt;br /&gt;
;ControlBar&lt;br /&gt;
:Used to control the look of toolbars&lt;br /&gt;
;Toolbar&lt;br /&gt;
:Used to control the look of toolbar backgrounds.&lt;br /&gt;
:&#039;&#039;&#039;SubitemFont&#039;&#039;&#039; (TextObject) - font for popped menu items.&lt;br /&gt;
;Header&lt;br /&gt;
:Used to control the headers in lists&lt;br /&gt;
:&#039;&#039;&#039;Section\Font&#039;&#039;&#039; - header font&lt;br /&gt;
;StatusBar&lt;br /&gt;
:Controls the look of the status bar&lt;br /&gt;
;ToolWindow&lt;br /&gt;
:Controls the look of mini dialog frames (e.g. Equalizer, Album Browser)&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\font&#039;&#039;&#039; - title font&lt;br /&gt;
;Container&lt;br /&gt;
:Used for some backgrounds&lt;br /&gt;
;Splitter&lt;br /&gt;
:Divides up the toolbar&lt;br /&gt;
;VirtualTree&lt;br /&gt;
:Defines the look of the VirtualTree (TrackList, MainTree etc.)&lt;br /&gt;
:&#039;&#039;&#039;Panel&#039;&#039;&#039; - for defining border&lt;br /&gt;
:&#039;&#039;&#039;DragSelection&#039;&#039;&#039; - selection color for mouse-use drag selection&lt;br /&gt;
:&#039;&#039;&#039;DragTarget&#039;&#039;&#039; - selection color for dragging target node&lt;br /&gt;
:&#039;&#039;&#039;TrackListOdd&#039;&#039;&#039; - background image for odd rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;TrackListEven&#039;&#039;&#039; - background image for even rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingOdd&#039;&#039;&#039; - background image for odd rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingEven&#039;&#039;&#039; - background image for even rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;MainTreeBackground&#039;&#039;&#039; - background image for the nodes (&#039;&#039;Available in Alpha 5 and newer builds&#039;&#039;)&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackSelection&#039;&#039;&#039; - background image for highlighted tracks in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtSelection&#039;&#039;&#039; - background image for highlighted albums in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
;InfoPopup&lt;br /&gt;
:Defines  background and fields positions within popup info window&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\AlbumArt&#039;&#039;&#039; - position and size of the place for album art image&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\*&#039;&#039;&#039; - all fields with English names can be defined as TextObject (like Artist, Title etc.)&lt;br /&gt;
;NavBar&lt;br /&gt;
:Navigation bar settings&lt;br /&gt;
:&#039;&#039;&#039;Background&#039;&#039;&#039; - navigation panel background&lt;br /&gt;
:&#039;&#039;&#039;Node\Selection&#039;&#039;&#039; - background for selected node (mouse is hover it)&lt;br /&gt;
:&#039;&#039;&#039;Node\DropMark&#039;&#039;&#039; - drop down sign&lt;br /&gt;
:&#039;&#039;&#039;Node\Background&#039;&#039;&#039; - background for path node&lt;br /&gt;
:&#039;&#039;&#039;Node\Caption&#039;&#039;&#039; - path node font settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips for Maximizing Skin Performance&lt;br /&gt;
#Use the smallest size graphics possible to minimize the memory footprint&lt;br /&gt;
#Use 1 image per object rather than a single image for all objects&lt;br /&gt;
#Avoid the use of transparency in theme editor whenever possible&lt;br /&gt;
#Use stretched images in theme editor whenever possible (as opposed to tiled images)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other Tips &amp;amp; hints:&lt;br /&gt;
*MediaMonkey has a default theme of Default.mskn that&#039;s used if a xxx.msz archive doesn&#039;t contain a Theme.mskn file. You can edit this if you like.&lt;br /&gt;
*Minimize single-pixel transparency in bitmaps to avoid performance hits &lt;br /&gt;
*Try to minimize the use of margins in your objects as they decrease performance&lt;br /&gt;
*It is best to use bitmaps that are distinct for each object (rather than a single image containing all objects) to avoid performance hits&lt;br /&gt;
*ThemeEditor has a bug which sometimes causes the bottom right pixel in an image to become transparent. To avoid this, add an extra pixel of padding to the right of the image, but don&#039;t use the rightmost column of pixels in your objects.&lt;br /&gt;
*All fonts in the fonts node should be set to &#039;Arial&#039; to ensure correct functionality in unicode environments&lt;br /&gt;
*For Font properties other that in &#039;Fonts&#039; node (like ListBox\ItemAdv\ActiveFont). They allow to use &#039;MS Shell Dlg 2&#039; font and thus it should be used when needed (such occasions are appear in the above list) -- the trick with &#039;Arial&#039; font isn&#039;t used there).&lt;br /&gt;
*Before finalizing your theme, make sure to test it at different DPI settings&lt;br /&gt;
&lt;br /&gt;
===Customizing Background Images===&lt;br /&gt;
There are a number of background images used in MediaMonkey that are part of a skin (i.e. they are included within the &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039; file.  These include:&lt;br /&gt;
*&#039;&#039;sdb_background_playing.bmp&#039;&#039; – non-scrollable background for the Now Playing list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_list.bmp&#039;&#039; – non-scrollable background for the Track list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_tree.bmp&#039;&#039; – non-scrollable background of the tree&lt;br /&gt;
To customize these, just save the bitmaps to a skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing Icons===&lt;br /&gt;
The default MediaMonkey icons can be replaced globally to be used with any user-selected skin, or can be included with a specific skin if custom icons are desired for that skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a complete icon set to be used with any skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Icons\&#039;&#039;&lt;br /&gt;
#To customize the icons, just edit any of the icons in the &#039;&#039;\Icons\&#039;&#039; directory, and restart MediaMonkey.  The new icons will appear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To bundle specific custom icons within a Skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Skins\&amp;lt;Skinname&amp;gt;\Icons&#039;&#039;&lt;br /&gt;
#Delete any icons that you do not plan to customize&lt;br /&gt;
#Edit any of the icons that you wish to include with the skin&lt;br /&gt;
#To customize the skin just save the icons to the skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that 2 icons aren’t exactly icons:&lt;br /&gt;
*NoAArt.png for unknown art in Album Art window&lt;br /&gt;
*NoAArtNew.png for unknown art in Album Art views&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Player===&lt;br /&gt;
&lt;br /&gt;
====Basic Information====&lt;br /&gt;
MediaMonkey v3 (MM3) comes with a new feature called Skinnable Player, which supports user defined player with its own skins (independent of MM skin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are 3 players in MM3:&lt;br /&gt;
#Classic player in the main window.&lt;br /&gt;
#Mini-player (MiniMonkey mode in older versions of MM)&lt;br /&gt;
#Toolbar controller (new player placed on windows taskbar)&lt;br /&gt;
&lt;br /&gt;
All of these players can be unique with different design and look.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Player Files====&lt;br /&gt;
Every player skin is stored and defined in 2 files defining its skin and settings.&lt;br /&gt;
&lt;br /&gt;
Classic player is defined in files &#039;&#039;&#039;Player.mskn&#039;&#039;&#039; and &#039;&#039;&#039;Player.ini&#039;&#039;&#039;.&lt;br /&gt;
Mini-player player is defined in files &#039;&#039;&#039;FloatPlayer.mskn&#039;&#039;&#039; and &#039;&#039;&#039;FloatPlayer.ini&#039;&#039;&#039;.&lt;br /&gt;
Toolbar controller can have two types: horizontal (when taskbar is on top or bottom edge of the screen) or vertical (when taskbar is on left or right edge of the screen). File name format for these types is &#039;&#039;&#039;MicroPlayerH&#039;&#039;&#039; (for horizontal) and &#039;&#039;&#039;MicroPlayerV&#039;&#039;&#039; (for vertical). Horizontal toolbar controller is then defined in &#039;&#039;&#039;MicroPlayerH.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerH.ini&#039;&#039;&#039;, and vertical in &#039;&#039;&#039;MicroPlayerV.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerV.ini&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MSKN file is standard ThemeEngine 6 (older version of TE can be used, but with no warranty) format with maximum compression. See to MSKN File section for more information about this file.&lt;br /&gt;
&lt;br /&gt;
INI file is configuration file in a text mode and can be edited with any text editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these files must be stored in WSZ file with MM3s skin together. WSZ file is standard ZIP file with a changed file extension only.&lt;br /&gt;
&lt;br /&gt;
When any of players in MM3 hasn’t its files in WSZ, MM3 uses built-in skin for missing player.&lt;br /&gt;
&lt;br /&gt;
For development purposes, individual skin files don’t have to be packed in WSZ file, but can be stored all in a subfolder of MM\Skins folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MSKN File====&lt;br /&gt;
Players MSKN file can contain these objects:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PlayerBackground&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Defines background of the Player. This object must contain object Frame and into this object you can store all parts of player background (like left side, center and right side).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
PlayerBackground&lt;br /&gt;
:Frame&lt;br /&gt;
::LeftSide&lt;br /&gt;
::Center&lt;br /&gt;
::RightSide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this hierarchy you can define player, which can be resized (center part can be tiled, stretched etc. when player is being resized).&lt;br /&gt;
&lt;br /&gt;
Every player can have transparent parts of its design. One requirement is, that every transparent part must have the same color as color in upper left corner (point 0;0).&lt;br /&gt;
&lt;br /&gt;
PlayButton, PauseButton, StopButton, PrevButton, NextButton, PlayPauseButton, ShuffleButton, ContinousButton, PlaylistButton, AutoDJButton (ButtonObject)&lt;br /&gt;
&lt;br /&gt;
These objects represent basic player buttons. When you need to use more than 3 state buttons (like for PlayPauseButton where you need to design button for play and for pause both), then you can create objects with _UP and _DOWN postfixes and in INI file set to StateButton type (see below).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SeekBar, BalanceBar, VolumeBar&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every seekbar can define its background (in these objects) and can define slider design with HorzSlider or VertSlider as its descendant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
SeekBar - this object defines seekbar background&lt;br /&gt;
:HorzSlider - this object defines horizontal slider for seekbar&lt;br /&gt;
:VertSlider - this object defines vertical slider for seekbar&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualization {Left/Right}&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This object defines bitmap for visualization background. If you use themed visualization then you must define VisualizationLeft and VisualizationRight (instead of Visualization) as backgrounds for left and right channels.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualizations&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Container for themed visualization bands. In this container you can define visualization steps for separate channels or for both together. All visualizations steps is defined as LeftBand&#039;&#039;0&#039;&#039;..LeftBand&#039;&#039;n&#039;&#039;, RightBand&#039;&#039;0&#039;&#039;..RightBand&#039;&#039;n&#039;&#039; or Band&#039;&#039;0&#039;&#039;..Band&#039;&#039;n&#039;&#039; for both channels. Number of steps is defined in INI file of the player.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MonoStereoLabel&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Indicator for mono/stereo. Mono indicator put into Bitmap and stereo into BitmapDisabled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DigitPanels&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every digit panel uses bitmaps for its digits. In skin you can create 2 types of digits: small and normal.&lt;br /&gt;
Normal digits are named as Digit%, DigitEmpty and DigitNegative, where % is value (like Digit0, Digit4 etc.).&lt;br /&gt;
Small digits have the same rules as normal digits, but name is SmallDigit.&lt;br /&gt;
For normal digits you can define TimeDivider object, which represents digits divider (like ‘:’, ‘-‘ etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rating&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This button object is used for manage rating on a skin. There are need to be defined Bitmap and BitmapDisabled fields, where Bitmap is “highlighted” rating star and BitmapDisabled is “grayed” rating star.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusPanel&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This panel is used as background for player’s status signs (like “playing”, “paused” etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusImages/*&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Status images for player’s status (can be defined StatusPlay, StatusStop and StatusPause).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AlbumArt&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Custom defined AlbumArt image for tracks, that doesn’t have defined cover.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====INI File====&lt;br /&gt;
In ini file is many sections which corresponds with most names in MSKN file and can contain:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;PlayerSkin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basic information about skin and can contain these values:&lt;br /&gt;
;EngineVersion&lt;br /&gt;
:for which version of SkinnablePlayer is this skin designed (default 100 as 1.00 version)&lt;br /&gt;
;Resizable&lt;br /&gt;
:How can be skin resizeable. You can type 4 values with left, top, right and bottom sequence delimited with comma.&lt;br /&gt;
: -&lt;br /&gt;
:Example :&lt;br /&gt;
:Resizeable=1,0,1,0 – skin can be resized by left and right edges&lt;br /&gt;
;Size&lt;br /&gt;
:Initial size of skin.&lt;br /&gt;
;TimeFormat&lt;br /&gt;
:Default time format. Acceptable masks are d (day), h (hour), m (minutes), s (seconds). Upper case of D or H masks can be used to show these values only if it&#039;s not equal to zero. For example format HH:mm:ss shows :&lt;br /&gt;
:01:40:30 if time is longer than an hour&lt;br /&gt;
:40:30 if time is less than an hour&lt;br /&gt;
;DockAtMostBottom&lt;br /&gt;
:This value defines if player can be docked at most bottom (under status bar) in main window.&lt;br /&gt;
;DockLocked&lt;br /&gt;
:If this value is set to 1, player is always docked in it’s default position and can’t be docked to any other position.&lt;br /&gt;
;RemoveAllBordersAround&lt;br /&gt;
:This removes all borders around the player (player backgroung can be visually joined with main window without annoying borders).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sections can have these names:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PlayPauseButton, SeekBar, VolumeBar, BalanceBar, PrevButton, PlayButton, PauseButton, StopButton, NextButton, ShuffleButton, ContinousButton, AutoDJButton, MonoStereo, SongTitle, TimeDisplay, SearchBar, EQButton, PlaylistButton, KbpsDisplay, FreqDisplay, AlbumArt, Visualization (for standard MM build-in visualization), VisualizationLeft and VisualizationRight (for user themed visualization), MinimizeButton, MaximizeButton, CloseButton, SwitchButton, Rating, StatusPanel, MuteButton, EjectButton&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type of an object is defined by Type value and can be one of this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Button, StateButton, DigitPanel, Text, TrackBar, BitmapLabel, Panel&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note : Rating and StatusPanel objects must be a type PANEL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other values, which can be defined:&lt;br /&gt;
&lt;br /&gt;
;Resizable&lt;br /&gt;
:Defines, if object can be resized when user resizes player in Left,Top,Right,Bottom format. Also it defines controls alignment while resizing. If you define left/right or top/bottom to 0, control always stays in it’s position relative to resized size (e.g. if control in basic size will be on center and player is resized, then control will always be on center).&lt;br /&gt;
;Pos&lt;br /&gt;
:Position of the object in Left,Top format.&lt;br /&gt;
;Size&lt;br /&gt;
:Size of the object in Width,Height format. (Note: when height is greater than width, then object is defined as vertical .. this is usable for defining vertical seekbars).&lt;br /&gt;
;Transperent&lt;br /&gt;
:Ability to be transparent (1 indicates YES, 0 no).&lt;br /&gt;
;TextMask&lt;br /&gt;
:Text mask define which and how data is showed. See below for which masks can be used.&lt;br /&gt;
;SmallDigits (only for DigitPanel type)&lt;br /&gt;
:Defines, if digit panel uses small or normal digits (more about it at MSKN File section). 1 is Yes, 0 no.&lt;br /&gt;
;ThumbSize (only for TrackBar type)&lt;br /&gt;
:Defines thumb size.&lt;br /&gt;
;ShowLimitH, ShowLimitV&lt;br /&gt;
:These values defines horizontal and vertical limits for showing defined object. If players width/height is smaller than defined limit, then object is invisible.&lt;br /&gt;
;FontColor&lt;br /&gt;
:This value is used only for text objects. It defines font color in format RRGGBB (like FFFFFF is white color).&lt;br /&gt;
;FontHeight&lt;br /&gt;
:This value is used only for text objects. It defines font height in pixels.&lt;br /&gt;
;FontName&lt;br /&gt;
:User defined font for text object.&lt;br /&gt;
;TextAlign&lt;br /&gt;
:Text aligning. Can be -1 for left-align, 0 for center or 1 for right-align.&lt;br /&gt;
;TrackReversed&lt;br /&gt;
:Basic trackbar orientation have min value at the left or top of the trackbar. With this boolean value you can reverse this orientation (like for vertical volume bar which has max at the top of the trackbar). This is usable only for trackbars.&lt;br /&gt;
;Steps&lt;br /&gt;
:Defines steps of the user themed visualization. Images for this steps is defined in MSKN in Visualizations container.&lt;br /&gt;
;Scrollable&lt;br /&gt;
:For text objects it can be defined for enable/disable scrolling functionality (like for time display).&lt;br /&gt;
;CenterOffsetX, CenterOffsetY&lt;br /&gt;
:This values defines contant position of the object relative to player center (left/top edge of the object). Like CenterOffsetX=-20 defines, that the objects left edge will be always 20px left of the center of the player.&lt;br /&gt;
;Lock&amp;lt;edge&amp;gt;Distance, Lock&amp;lt;edge&amp;gt;Object&lt;br /&gt;
:Control can be locked by any of edge to any other control. If control, which is locked to is moved or sized, this control is automatically adjusted. Like:&lt;br /&gt;
:LockRightDistance=-50 - right edge of the object will be always 50 pixels left from&lt;br /&gt;
:LockRightObject=PrevButton - PrevButton’s left edge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Additional options for VolumeBar (VU Meter settings is described below)&#039;&#039;&lt;br /&gt;
;BuiltInVUMeter&lt;br /&gt;
:This option integrates VU meter directly into volume bar.&lt;br /&gt;
;BuiltInVUOffsets&lt;br /&gt;
:Left,Top,Right and Bottom offsets of the VU meter inside the volume bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Additional options to Visualization (non-themed version)&#039;&#039;&lt;br /&gt;
;Switchable&lt;br /&gt;
:1 when visualization can be changed to other type. 0 when only initial visualization should work.&lt;br /&gt;
;InitialType&lt;br /&gt;
:Initial type of visualization. Acceptable values are VUMeter (default), Spectrum, Osciloscope.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;VU Meter visualization&#039;&#039;&lt;br /&gt;
;VUDefaultSize&lt;br /&gt;
:Default VU meter size (pixel rows in vertical bar or cols in horizontal).&lt;br /&gt;
;VUSteps&lt;br /&gt;
:Number of steps of VU meter (only for custom bands, see below).&lt;br /&gt;
;VUBreaksSize&lt;br /&gt;
:Empty space between steps.&lt;br /&gt;
;VUColorBands&lt;br /&gt;
:Number of color bands.&lt;br /&gt;
;VUColorBandxColor&lt;br /&gt;
:Band x color (same for left and right channel). X should be from 0 to VUColorBands-1.&lt;br /&gt;
;VUColorBandxColorLeft&lt;br /&gt;
:Band x color for left channel.&lt;br /&gt;
;VUColorBandxColorRight&lt;br /&gt;
:Band x color for right channel.&lt;br /&gt;
;VUColorBandxSize&lt;br /&gt;
:Size of the color band (in pixels).&lt;br /&gt;
;VUColorBandxPerc&lt;br /&gt;
:Maximal meter % used by this band. For example VUColorBand0Perc will be 50, so meter values up to 50% will be drawed by settings in this band.&lt;br /&gt;
;VUColorMin&lt;br /&gt;
:Starting color (lowest value) of the VU meter (RGB).&lt;br /&gt;
;VUColorMax&lt;br /&gt;
:Ending color (highest value) of the VU meter (RGB).&lt;br /&gt;
;BuiltInVU1stRowOffsets&lt;br /&gt;
:Offset of VU meter lines on 1st row. Ends of Volume bar background can be rounded so using this offsets user can better visually integrate VU into this rounded ends.&lt;br /&gt;
;VUPeakColor&lt;br /&gt;
:Color of peaks. Peaks can be disabled using VUPeakSize=0  (RGB).&lt;br /&gt;
;VUPeakSize&lt;br /&gt;
:Size of peaks in pixels.&lt;br /&gt;
;VUPeakOffset&lt;br /&gt;
:Offset of peaks from VU meter bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Spectrum visualization&#039;&#039;&lt;br /&gt;
;SPPeakColor&lt;br /&gt;
:Peak color.&lt;br /&gt;
;SPSectionsCount&lt;br /&gt;
:Number of spectrum sections (up to 10).&lt;br /&gt;
;SPSpaceSize&lt;br /&gt;
:Space in pixels between sections.&lt;br /&gt;
;SPSectionSize&lt;br /&gt;
:Section width in pixels.&lt;br /&gt;
;SPDefaultSize&lt;br /&gt;
:Default height of one spectrum line in pixels.&lt;br /&gt;
;SPSteps&lt;br /&gt;
:Number of steps in each section.&lt;br /&gt;
;SPBreaksSize&lt;br /&gt;
:Size of the breaks between section steps in pixels.&lt;br /&gt;
;SPPeakSize&lt;br /&gt;
:Peak size in pixels.&lt;br /&gt;
;SPPeakOffset&lt;br /&gt;
:Offset of the peak from current spectrum bar position.&lt;br /&gt;
;SPColorMin&lt;br /&gt;
:Starting color (lowest value) in RGB.&lt;br /&gt;
;SPColorMax&lt;br /&gt;
:Ending color (highest value) in RGB.&lt;br /&gt;
;SPColorBands&lt;br /&gt;
:Number of color bands.&lt;br /&gt;
;SPColorBandxColor&lt;br /&gt;
:Band x color. X should be from 0 to SPColorBands-1.&lt;br /&gt;
;SPColorBandxSize&lt;br /&gt;
:Size of the color band (in pixels).&lt;br /&gt;
;SPColorBandxPerc&lt;br /&gt;
:Maximal spectrum % used by this band. For example SPColorBand0Perc will be 50, so meter values up to 50% will be drawed by settings in this band.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Osciloscope&#039;&#039;&lt;br /&gt;
;OSCColor&lt;br /&gt;
:Color of osciloscope line (for left and right together) in RGB.&lt;br /&gt;
;OSCColorLeft&lt;br /&gt;
:Color of osciloscope line for left channel (RGB).&lt;br /&gt;
;OSCColorRight&lt;br /&gt;
:Color of osciloscope line for right channel (RGB).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, skinning engine detects buttons clicking area as non-transparent parts of the buttons. In some cases (like when you’re using images with alpha channel), this detection can be very limited. For this reason, every buttons can have it’s own mask in BitmapFocused property of the button object.&lt;br /&gt;
&lt;br /&gt;
In addition you can use custom defined objects, which lets you to give to your skin more functionality and lucidity.&lt;br /&gt;
Custom objects can be defined as Custom% (where % is unique number for anyone custom field, e.g. Custom1, Custom2, Custom3 etc.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switching between all players can be done via MediaMonkey (system’s minimize button and/or settings of the MediaMonkey) or you can use Player buttons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MinimizeButton&#039;&#039;&#039; – in main player it switches to mini-monkey. In mini-monkey it uses MM settings for minimize.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SwitchButton&#039;&#039;&#039; – switches to micro-player (in all cases)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MaximizeButton&#039;&#039;&#039; – maximizes to main from mini-monkey or micro-monkey&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CloseButton&#039;&#039;&#039; – closes whole MM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Custom objects can have this fields:&lt;br /&gt;
&#039;&#039;&#039;Pos, Size, Transperent, TextMask, ShowLimitH, ShowLimitV&#039;&#039;&#039;&lt;br /&gt;
:These fields has a same sense as above.&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
:Types for custom objects is same as for classic objects, but any new types are allowed :&lt;br /&gt;
::IMAGE&lt;br /&gt;
:::Image control. Source of the image is defined in Source field (see below)&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;&lt;br /&gt;
:Source for image object (image path and filename relative to MM directory) or “&amp;lt;Cover&amp;gt;” text to show album cover of the loaded track.&lt;br /&gt;
&lt;br /&gt;
====Usable Masks====&lt;br /&gt;
mm:ss – time format (can be used with digit panels like TimeDisplay)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; - any digit: MM3 replaces # char with digit. You can use more than one # char (for 3 digits you can use ### etc.). This can be used with digit panels like FreqDisplay etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; %A – Artist&lt;br /&gt;
&amp;lt;br&amp;gt; %R – Album artist&lt;br /&gt;
&amp;lt;br&amp;gt; %L – Album&lt;br /&gt;
&amp;lt;br&amp;gt; %S – Song&lt;br /&gt;
&amp;lt;br&amp;gt; %P – Playlist position&lt;br /&gt;
&amp;lt;br&amp;gt; %I – Song position&lt;br /&gt;
&amp;lt;br&amp;gt; %H – Song length&lt;br /&gt;
&amp;lt;br&amp;gt; %J – Time to play&lt;br /&gt;
&amp;lt;br&amp;gt; %G – Genre&lt;br /&gt;
&amp;lt;br&amp;gt; %C – Author&lt;br /&gt;
&amp;lt;br&amp;gt; %U – Custom1&lt;br /&gt;
&amp;lt;br&amp;gt; %V – Custom2&lt;br /&gt;
&amp;lt;br&amp;gt; %W – Custom3&lt;br /&gt;
&amp;lt;br&amp;gt; %E – Songs file extension &lt;br /&gt;
&amp;lt;br&amp;gt; %F – Filename&lt;br /&gt;
&amp;lt;br&amp;gt; %Y – Year&lt;br /&gt;
&amp;lt;br&amp;gt; %T – Song order&lt;br /&gt;
&amp;lt;br&amp;gt; %B – Bitrate&lt;br /&gt;
&amp;lt;br&amp;gt; %M – Songs BPM&lt;br /&gt;
&amp;lt;br&amp;gt; %D – Temporary order&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;Available in Alpha 5 and newer builds;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; %Cn - custom field (n must be between 1 and 5)&lt;br /&gt;
&amp;lt;br&amp;gt; %PC - current track in playlist&lt;br /&gt;
&amp;lt;br&amp;gt; %PT - total tracks in playlist&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4301</id>
		<title>How to skin MediaMonkey versions 3 and 4</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4301"/>
		<updated>2008-05-28T15:23:21Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This entry is primarily for reference purposes. For a walkthrough of how to skin your MediaMonkey interface, please see the [[Walkthrough on how to skin MediaMonkey v3]] and/or [[Fast Newbie&#039;s Skinning Walkthrough for MM 3]].&#039;&#039;&lt;br /&gt;
==Introduction==&lt;br /&gt;
MediaMonkey offers a fair amount of flexibility to customize the look of the application.  This document provides graphic designers with the information needed to make MediaMonkey even better looking than it already is.&lt;br /&gt;
&lt;br /&gt;
The UI elements that can be modified are:&lt;br /&gt;
#The MediaMonkey Skin&lt;br /&gt;
#*The application Theme (i.e. the look of buttons, borders, status bars, title bars, fonts, etc.)&lt;br /&gt;
#*The skin of the various incarnations of the player (the main player, mini-monkey, and micro-monkey) and the font of the text within&lt;br /&gt;
#*Background images for various panels&lt;br /&gt;
#Icons within the application&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The MediaMonkey Skin==&lt;br /&gt;
A MediaMonkey skin consists of the Theme, the Player skins, and several background images that together make up a ‘skin’.  Skins are packaged as .msz files, which are simply .zip files with an .msz extension, containing all skin elements, saved to:&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\skinname.msz&#039;&#039;&lt;br /&gt;
so that users can choose a skin via &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that during the skin creation process, skin components can be created/edited in&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\Skinname\&amp;lt;skin components&amp;gt;&#039;&#039;&lt;br /&gt;
so that there’s no need to continually repackage the skin during skin development.  Once you’re satisfied with your edits, you can just Zip the contents of the &#039;&#039;\Test&#039;&#039; directory into a zip file, rename it to &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039;, and place it in the &#039;&#039;\MediaMonkey\Skins\&#039;&#039; directory to see the final result.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Theme===&lt;br /&gt;
The MediaMonkey Theme is what controls the overall look and feel of most aspects of the application (e.g. the titlebar, the buttons, the status bar, tabs, checkboxes, etc.). The theme is controlled by Theme.mskn which contains graphical elements and mappings of these elements to various UI objects. To edit a theme:&lt;br /&gt;
#Extract a skin (e.g. &#039;&#039;Casino Blue.msz&#039;&#039;) to&lt;br /&gt;
#:&#039;&#039;\MediaMonkey\Skins\Test\&#039;&#039;&lt;br /&gt;
#Download the [[ThemeEditor|KSDev theme editor]] from&lt;br /&gt;
#:http://www.mediamonkey.com/contrib/artwork/themeeditor7.exe&lt;br /&gt;
#Run the Theme Editor and load &#039;&#039;Theme.mskn&#039;&#039; from the &#039;&#039;\Test&#039;&#039; directory into the theme editor and edit it and save it.&lt;br /&gt;
#In MediaMonkey, Go to &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skins&amp;lt;/code&amp;gt; and select the new Test skin to see the results of your work (to refresh the skin, just switch skins in the Skins configuration panel).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the editing process, there are 2 approaches you can take:&lt;br /&gt;
&lt;br /&gt;
*If you have graphic expertise, but don&#039;t want to get into the details of configuring the size of buttons, their behaviour, setting margins, etc. the simplest approach is to create a new theme based on the graphics of an existing theme:&lt;br /&gt;
*#Click &amp;lt;code&amp;gt;File &amp;gt; Export Bitmaps&amp;lt;/code&amp;gt; and then edit the images, while making certain to maintain their exact dimensions&lt;br /&gt;
*#Click the Images node in the ThemeEditor tree, select individual images and click &#039;Replace&#039; to replace them with the newly edited images&lt;br /&gt;
*#After replacing all the images, resave the .mskn file&lt;br /&gt;
*#Switch to the skin entitled &#039;Test&#039; to see how the changes look&lt;br /&gt;
&lt;br /&gt;
*If you want much greater control and flexibility to control all aspects of a theme, you can create a new theme based on an existing one, but in addition to changing graphics images, you can also change various additional characteristics of the theme (e.g. fonts) by editing the properties of various objects that appear in the MediaMonkey UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instructions on the use of Theme Editor is beyond the scope of this document. The best approach is to edit the properties of various objects in the tree and then saving the theme file and test out the Skin containing the new theme file by switching to it in MediaMonkey.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a reference to all &#039;&#039;Theme.mskn&#039;&#039; objects used in the MediaMonkey UI:&lt;br /&gt;
;Form &lt;br /&gt;
:This defines the MediaMonkey frame, and buttons within the title bar&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\Font&#039;&#039;&#039; - caption font&lt;br /&gt;
;MenuBar&lt;br /&gt;
:Only the ToolbarItem is used along with;&lt;br /&gt;
:&#039;&#039;&#039;ItemButton&#039;&#039;&#039; (TSeButtonObject type) - This defines look of the top menu item (items like File, Tools etc.)&lt;br /&gt;
:&#039;&#039;&#039;SubitemButton&#039;&#039;&#039; (TSeButtonObject type) - This defined buttons within menu (all items in menu)&lt;br /&gt;
;Popup Menu&lt;br /&gt;
:This defines the look of menus&lt;br /&gt;
;CheckBox&lt;br /&gt;
:Defines the look/behaviour of checkboxes&lt;br /&gt;
;RadioButton&lt;br /&gt;
:Defines the look/behaviour of radio buttons&lt;br /&gt;
;ScrollBar&lt;br /&gt;
:Defines the look/behaviour of scrollbars&lt;br /&gt;
:&#039;&#039;&#039;NCArea&#039;&#039;&#039; - defines bottom right corner background (area between horizontal and vertical scrollbars)&lt;br /&gt;
:&#039;&#039;&#039;TopButton&#039;&#039;&#039; - defines top scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;BottomButton&#039;&#039;&#039; - defines bottom scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;LeftButton&#039;&#039;&#039; - defines left scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;RightButton&#039;&#039;&#039; - defines right scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;VertFrame&#039;&#039;&#039; - defines vertical scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;HorzFrame&#039;&#039;&#039; - defines horizontal scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;VertSlider&#039;&#039;&#039; - defines vertical scrollbar&lt;br /&gt;
:&#039;&#039;&#039;HorzSlider&#039;&#039;&#039; - defines horizontal scrollbar&lt;br /&gt;
;Button&lt;br /&gt;
:Defines the look/behaviour of OK/Cancel/Other buttons that appear within dialogs&lt;br /&gt;
;SpeedButton&lt;br /&gt;
:Defines the look/behaviour of buttons on the toolbar&lt;br /&gt;
;GroupBox&lt;br /&gt;
:Defines the group boxes that are used in some dialogs such as encoder selection dialog&lt;br /&gt;
;ProgressBar&lt;br /&gt;
:Defines the look of progress bar that&#039;s used to indicate status.  Currently only the horizontal one is used.&lt;br /&gt;
;TrackBar&lt;br /&gt;
:Defines the look of the sliders/tracks used for the equalizer&lt;br /&gt;
;Listbox&lt;br /&gt;
:Defines the look of listboxes (e.g. the Scan Folders dialog, tracklist)&lt;br /&gt;
:&#039;&#039;&#039;Item\ActiveBitmap&#039;&#039;&#039; - for selected item background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveBitmap&#039;&#039;&#039; - for unfocused selected text background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveFont&#039;&#039;&#039; - for unfocused control selected text font&lt;br /&gt;
: -&lt;br /&gt;
:ListBox colors and fonts:&lt;br /&gt;
:&#039;&#039;&#039;Colors\ListBox\Body&#039;&#039;&#039; - used to set default background colour&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextNormal&#039;&#039;&#039; - for normal text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextHot&#039;&#039;&#039; - for &#039;hot&#039; text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextSelected&#039;&#039;&#039; - for selected text&lt;br /&gt;
;Combobox&lt;br /&gt;
:Defines the look of combo boxes&lt;br /&gt;
;SpinButton&lt;br /&gt;
:Used for Up/Down arrows&lt;br /&gt;
;Panel&lt;br /&gt;
:Used for docked dialogs&lt;br /&gt;
;Tabs&lt;br /&gt;
:Used for TabSheets&lt;br /&gt;
;ControlBar&lt;br /&gt;
:Used to control the look of toolbars&lt;br /&gt;
;Toolbar&lt;br /&gt;
:Used to control the look of toolbar backgrounds.&lt;br /&gt;
:&#039;&#039;&#039;SubitemFont&#039;&#039;&#039; (TextObject) - font for popped menu items.&lt;br /&gt;
;Header&lt;br /&gt;
:Used to control the headers in lists&lt;br /&gt;
:&#039;&#039;&#039;Section\Font&#039;&#039;&#039; - header font&lt;br /&gt;
;StatusBar&lt;br /&gt;
:Controls the look of the status bar&lt;br /&gt;
;ToolWindow&lt;br /&gt;
:Controls the look of mini dialog frames (e.g. Equalizer, Album Browser)&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\font&#039;&#039;&#039; - title font&lt;br /&gt;
;Container&lt;br /&gt;
:Used for some backgrounds&lt;br /&gt;
;Splitter&lt;br /&gt;
:Divides up the toolbar&lt;br /&gt;
;VirtualTree&lt;br /&gt;
:Defines the look of the VirtualTree (TrackList, MainTree etc.)&lt;br /&gt;
:&#039;&#039;&#039;Panel&#039;&#039;&#039; - for defining border&lt;br /&gt;
:&#039;&#039;&#039;DragSelection&#039;&#039;&#039; - selection color for mouse-use drag selection&lt;br /&gt;
:&#039;&#039;&#039;DragTarget&#039;&#039;&#039; - selection color for dragging target node&lt;br /&gt;
:&#039;&#039;&#039;TrackListOdd&#039;&#039;&#039; - background image for odd rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;TrackListEven&#039;&#039;&#039; - background image for even rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingOdd&#039;&#039;&#039; - background image for odd rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingEven&#039;&#039;&#039; - background image for even rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;MainTreeBackground&#039;&#039;&#039; - background image for the nodes (&#039;&#039;Available in Alpha 5 and newer builds&#039;&#039;)&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackSelection&#039;&#039;&#039; - background image for highlighted tracks in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtSelection&#039;&#039;&#039; - background image for highlighted albums in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
;InfoPopup&lt;br /&gt;
:Defines  background and fields positions within popup info window&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\AlbumArt&#039;&#039;&#039; - position and size of the place for album art image&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\*&#039;&#039;&#039; - all fields with English names can be defined as TextObject (like Artist, Title etc.)&lt;br /&gt;
;NavBar&lt;br /&gt;
:Navigation bar settings&lt;br /&gt;
:&#039;&#039;&#039;Background&#039;&#039;&#039; - navigation panel background&lt;br /&gt;
:&#039;&#039;&#039;Node\Selection&#039;&#039;&#039; - background for selected node (mouse is hover it)&lt;br /&gt;
:&#039;&#039;&#039;Node\DropMark&#039;&#039;&#039; - drop down sign&lt;br /&gt;
:&#039;&#039;&#039;Node\Background&#039;&#039;&#039; - background for path node&lt;br /&gt;
:&#039;&#039;&#039;Node\Caption&#039;&#039;&#039; - path node font settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips for Maximizing Skin Performance&lt;br /&gt;
#Use the smallest size graphics possible to minimize the memory footprint&lt;br /&gt;
#Use 1 image per object rather than a single image for all objects&lt;br /&gt;
#Avoid the use of transparency in theme editor whenever possible&lt;br /&gt;
#Use stretched images in theme editor whenever possible (as opposed to tiled images)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other Tips &amp;amp; hints:&lt;br /&gt;
*MediaMonkey has a default theme of Default.mskn that&#039;s used if a xxx.msz archive doesn&#039;t contain a Theme.mskn file. You can edit this if you like.&lt;br /&gt;
*Minimize single-pixel transparency in bitmaps to avoid performance hits &lt;br /&gt;
*Try to minimize the use of margins in your objects as they decrease performance&lt;br /&gt;
*It is best to use bitmaps that are distinct for each object (rather than a single image containing all objects) to avoid performance hits&lt;br /&gt;
*ThemeEditor has a bug which sometimes causes the bottom right pixel in an image to become transparent. To avoid this, add an extra pixel of padding to the right of the image, but don&#039;t use the rightmost column of pixels in your objects.&lt;br /&gt;
*All fonts in the fonts node should be set to &#039;Arial&#039; to ensure correct functionality in unicode environments&lt;br /&gt;
*For Font properties other that in &#039;Fonts&#039; node (like ListBox\ItemAdv\ActiveFont). They allow to use &#039;MS Shell Dlg 2&#039; font and thus it should be used when needed (such occasions are appear in the above list) -- the trick with &#039;Arial&#039; font isn&#039;t used there).&lt;br /&gt;
*Before finalizing your theme, make sure to test it at different DPI settings&lt;br /&gt;
&lt;br /&gt;
===Customizing Background Images===&lt;br /&gt;
There are a number of background images used in MediaMonkey that are part of a skin (i.e. they are included within the &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039; file.  These include:&lt;br /&gt;
*&#039;&#039;sdb_background_playing.bmp&#039;&#039; – non-scrollable background for the Now Playing list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_list.bmp&#039;&#039; – non-scrollable background for the Track list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_tree.bmp&#039;&#039; – non-scrollable background of the tree&lt;br /&gt;
To customize these, just save the bitmaps to a skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing Icons===&lt;br /&gt;
The default MediaMonkey icons can be replaced globally to be used with any user-selected skin, or can be included with a specific skin if custom icons are desired for that skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a complete icon set to be used with any skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Icons\&#039;&#039;&lt;br /&gt;
#To customize the icons, just edit any of the icons in the &#039;&#039;\Icons\&#039;&#039; directory, and restart MediaMonkey.  The new icons will appear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To bundle specific custom icons within a Skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Skins\&amp;lt;Skinname&amp;gt;\Icons&#039;&#039;&lt;br /&gt;
#Delete any icons that you do not plan to customize&lt;br /&gt;
#Edit any of the icons that you wish to include with the skin&lt;br /&gt;
#To customize the skin just save the icons to the skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that 2 icons aren’t exactly icons:&lt;br /&gt;
*NoAArt.png for unknown art in Album Art window&lt;br /&gt;
*NoAArtNew.png for unknown art in Album Art views&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Player===&lt;br /&gt;
&lt;br /&gt;
====Basic Information====&lt;br /&gt;
MediaMonkey v3 (MM3) comes with a new feature called Skinnable Player, which supports user defined player with its own skins (independent of MM skin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are 3 players in MM3:&lt;br /&gt;
#Classic player in the main window.&lt;br /&gt;
#Mini-player (MiniMonkey mode in older versions of MM)&lt;br /&gt;
#Toolbar controller (new player placed on windows taskbar)&lt;br /&gt;
&lt;br /&gt;
All of these players can be unique with different design and look.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Player Files====&lt;br /&gt;
Every player skin is stored and defined in 2 files defining its skin and settings.&lt;br /&gt;
&lt;br /&gt;
Classic player is defined in files &#039;&#039;&#039;Player.mskn&#039;&#039;&#039; and &#039;&#039;&#039;Player.ini&#039;&#039;&#039;.&lt;br /&gt;
Mini-player player is defined in files &#039;&#039;&#039;FloatPlayer.mskn&#039;&#039;&#039; and &#039;&#039;&#039;FloatPlayer.ini&#039;&#039;&#039;.&lt;br /&gt;
Toolbar controller can have two types: horizontal (when taskbar is on top or bottom edge of the screen) or vertical (when taskbar is on left or right edge of the screen). File name format for these types is &#039;&#039;&#039;MicroPlayerH&#039;&#039;&#039; (for horizontal) and &#039;&#039;&#039;MicroPlayerV&#039;&#039;&#039; (for vertical). Horizontal toolbar controller is then defined in &#039;&#039;&#039;MicroPlayerH.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerH.ini&#039;&#039;&#039;, and vertical in &#039;&#039;&#039;MicroPlayerV.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerV.ini&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MSKN file is standard ThemeEngine 6 (older version of TE can be used, but with no warranty) format with maximum compression. See to MSKN File section for more information about this file.&lt;br /&gt;
&lt;br /&gt;
INI file is configuration file in a text mode and can be edited with any text editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these files must be stored in WSZ file with MM3s skin together. WSZ file is standard ZIP file with a changed file extension only.&lt;br /&gt;
&lt;br /&gt;
When any of players in MM3 hasn’t its files in WSZ, MM3 uses built-in skin for missing player.&lt;br /&gt;
&lt;br /&gt;
For development purposes, individual skin files don’t have to be packed in WSZ file, but can be stored all in a subfolder of MM\Skins folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MSKN File====&lt;br /&gt;
Players MSKN file can contain these objects:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PlayerBackground&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Defines background of the Player. This object must contain object Frame and into this object you can store all parts of player background (like left side, center and right side).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
PlayerBackground&lt;br /&gt;
:Frame&lt;br /&gt;
::LeftSide&lt;br /&gt;
::Center&lt;br /&gt;
::RightSide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this hierarchy you can define player, which can be resized (center part can be tiled, stretched etc. when player is being resized).&lt;br /&gt;
&lt;br /&gt;
Every player can have transparent parts of its design. One requirement is, that every transparent part must have the same color as color in upper left corner (point 0;0).&lt;br /&gt;
&lt;br /&gt;
PlayButton, PauseButton, StopButton, PrevButton, NextButton, PlayPauseButton, ShuffleButton, ContinousButton, PlaylistButton, AutoDJButton (ButtonObject)&lt;br /&gt;
&lt;br /&gt;
These objects represent basic player buttons. When you need to use more than 3 state buttons (like for PlayPauseButton where you need to design button for play and for pause both), then you can create objects with _UP and _DOWN postfixes and in INI file set to StateButton type (see below).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SeekBar, BalanceBar, VolumeBar&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every seekbar can define its background (in these objects) and can define slider design with HorzSlider or VertSlider as its descendant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
SeekBar - this object defines seekbar background&lt;br /&gt;
:HorzSlider - this object defines horizontal slider for seekbar&lt;br /&gt;
:VertSlider - this object defines vertical slider for seekbar&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualization {Left/Right}&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This object defines bitmap for visualization background. If you use themed visualization then you must define VisualizationLeft and VisualizationRight (instead of Visualization) as backgrounds for left and right channels.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualizations&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Container for themed visualization bands. In this container you can define visualization steps for separate channels or for both together. All visualizations steps is defined as LeftBand&#039;&#039;0&#039;&#039;..LeftBand&#039;&#039;n&#039;&#039;, RightBand&#039;&#039;0&#039;&#039;..RightBand&#039;&#039;n&#039;&#039; or Band&#039;&#039;0&#039;&#039;..Band&#039;&#039;n&#039;&#039; for both channels. Number of steps is defined in INI file of the player.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MonoStereoLabel&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Indicator for mono/stereo. Mono indicator put into Bitmap and stereo into BitmapDisabled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DigitPanels&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every digit panel uses bitmaps for its digits. In skin you can create 2 types of digits: small and normal.&lt;br /&gt;
Normal digits are named as Digit%, DigitEmpty and DigitNegative, where % is value (like Digit0, Digit4 etc.).&lt;br /&gt;
Small digits have the same rules as normal digits, but name is SmallDigit.&lt;br /&gt;
For normal digits you can define TimeDivider object, which represents digits divider (like ‘:’, ‘-‘ etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rating&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This button object is used for manage rating on a skin. There are need to be defined Bitmap and BitmapDisabled fields, where Bitmap is “highlighted” rating star and BitmapDisabled is “grayed” rating star.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusPanel&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This panel is used as background for player’s status signs (like “playing”, “paused” etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusImages/*&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Status images for player’s status (can be defined StatusPlay, StatusStop and StatusPause).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AlbumArt&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Custom defined AlbumArt image for tracks, that doesn’t have defined cover.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====INI File====&lt;br /&gt;
In ini file is many sections which corresponds with most names in MSKN file and can contain:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;PlayerSkin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basic information about skin and can contain these values:&lt;br /&gt;
;EngineVersion&lt;br /&gt;
:for which version of SkinnablePlayer is this skin designed (default 100 as 1.00 version)&lt;br /&gt;
;Resizable&lt;br /&gt;
:How can be skin resizeable. You can type 4 values with left, top, right and bottom sequence delimited with comma.&lt;br /&gt;
: -&lt;br /&gt;
:Example :&lt;br /&gt;
:Resizeable=1,0,1,0 – skin can be resized by left and right edges&lt;br /&gt;
;Size&lt;br /&gt;
:Initial size of skin.&lt;br /&gt;
;TimeFormat&lt;br /&gt;
:Default time format. Acceptable masks are d (day), h (hour), m (minutes), s (seconds). Upper case of D or H masks can be used to show these values only if it&#039;s not equal to zero. For example format HH:mm:ss shows :&lt;br /&gt;
:01:40:30 if time is longer than an hour&lt;br /&gt;
:40:30 if time is less than an hour&lt;br /&gt;
;DockAtMostBottom&lt;br /&gt;
:This value defines if player can be docked at most bottom (under status bar) in main window.&lt;br /&gt;
;DockLocked&lt;br /&gt;
:If this value is set to 1, player is always docked in it’s default position and can’t be docked to any other position.&lt;br /&gt;
;RemoveAllBordersAround&lt;br /&gt;
:This removes all borders around the player (player backgroung can be visually joined with main window without annoying borders).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sections can have these names:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PlayPauseButton, SeekBar, VolumeBar, BalanceBar, PrevButton, PlayButton, PauseButton, StopButton, NextButton, ShuffleButton, ContinousButton, AutoDJButton, MonoStereo, SongTitle, TimeDisplay, SearchBar, EQButton, PlaylistButton, KbpsDisplay, FreqDisplay, AlbumArt, Visualization (for standard MM build-in visualization), VisualizationLeft and VisualizationRight (for user themed visualization), MinimizeButton, MaximizeButton, CloseButton, SwitchButton, Rating, StatusPanel, MuteButton, EjectButton&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type of an object is defined by Type value and can be one of this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Button, StateButton, DigitPanel, Text, TrackBar, BitmapLabel, Panel&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note : Rating and StatusPanel objects must be a type PANEL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other values, which can be defined:&lt;br /&gt;
&lt;br /&gt;
;Resizable&lt;br /&gt;
:Defines, if object can be resized when user resizes player in Left,Top,Right,Bottom format. Also it defines controls alignment while resizing. If you define left/right or top/bottom to 0, control always stays in it’s position relative to resized size (e.g. if control in basic size will be on center and player is resized, then control will always be on center).&lt;br /&gt;
;Pos&lt;br /&gt;
:Position of the object in Left,Top format.&lt;br /&gt;
;Size&lt;br /&gt;
:Size of the object in Width,Height format. (Note: when height is greater than width, then object is defined as vertical .. this is usable for defining vertical seekbars).&lt;br /&gt;
;Transperent&lt;br /&gt;
:Ability to be transparent (1 indicates YES, 0 no).&lt;br /&gt;
;TextMask&lt;br /&gt;
:Text mask define which and how data is showed. See below for which masks can be used.&lt;br /&gt;
;SmallDigits (only for DigitPanel type)&lt;br /&gt;
:Defines, if digit panel uses small or normal digits (more about it at MSKN File section). 1 is Yes, 0 no.&lt;br /&gt;
;ThumbSize (only for TrackBar type)&lt;br /&gt;
:Defines thumb size.&lt;br /&gt;
;ShowLimitH, ShowLimitV&lt;br /&gt;
:These values defines horizontal and vertical limits for showing defined object. If players width/height is smaller than defined limit, then object is invisible.&lt;br /&gt;
;FontColor&lt;br /&gt;
:This value is used only for text objects. It defines font color in format RRGGBB (like FFFFFF is white color).&lt;br /&gt;
;FontHeight&lt;br /&gt;
:This value is used only for text objects. It defines font height in pixels.&lt;br /&gt;
;FontName&lt;br /&gt;
:User defined font for text object.&lt;br /&gt;
;TextAlign&lt;br /&gt;
:Text aligning. Can be -1 for left-align, 0 for center or 1 for right-align.&lt;br /&gt;
;TrackReversed&lt;br /&gt;
:Basic trackbar orientation have min value at the left or top of the trackbar. With this boolean value you can reverse this orientation (like for vertical volume bar which has max at the top of the trackbar). This is usable only for trackbars.&lt;br /&gt;
;Steps&lt;br /&gt;
:Defines steps of the user themed visualization. Images for this steps is defined in MSKN in Visualizations container.&lt;br /&gt;
;Scrollable&lt;br /&gt;
:For text objects it can be defined for enable/disable scrolling functionality (like for time display).&lt;br /&gt;
;CenterOffsetX, CenterOffsetY&lt;br /&gt;
:This values defines contant position of the object relative to player center (left/top edge of the object). Like CenterOffsetX=-20 defines, that the objects left edge will be always 20px left of the center of the player.&lt;br /&gt;
;Lock&amp;lt;edge&amp;gt;Distance, Lock&amp;lt;edge&amp;gt;Object&lt;br /&gt;
:Control can be locked by any of edge to any other control. If control, which is locked to is moved or sized, this control is automatically adjusted. Like:&lt;br /&gt;
:LockRightDistance=-50 - right edge of the object will be always 50 pixels left from&lt;br /&gt;
:LockRightObject=PrevButton - PrevButton’s left edge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Additional options for VolumeBar (VU Meter settings is described below)&#039;&#039;&lt;br /&gt;
;BuiltInVUMeter&lt;br /&gt;
:This option integrates VU meter directly into volume bar.&lt;br /&gt;
;BuiltInVUOffsets&lt;br /&gt;
:Left,Top,Right and Bottom offsets of the VU meter inside the volume bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Additional options to Visualization (non-themed version)&#039;&#039;&lt;br /&gt;
;Switchable&lt;br /&gt;
:1 when visualization can be changed to other type. 0 when only initial visualization should work.&lt;br /&gt;
;InitialType&lt;br /&gt;
:Initial type of visualization. Acceptable values are VUMeter (default), Spectrum, Osciloscope.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;VU Meter visualization&#039;&#039;&lt;br /&gt;
;VUDefaultSize&lt;br /&gt;
:Default VU meter size (pixel rows in vertical bar or cols in horizontal).&lt;br /&gt;
;VUSteps&lt;br /&gt;
:Number of steps of VU meter (only for custom bands, see below).&lt;br /&gt;
;VUBreaksSize&lt;br /&gt;
:Empty space between steps.&lt;br /&gt;
;VUColorBands&lt;br /&gt;
:Number of color bands.&lt;br /&gt;
;VUColorBandxColor&lt;br /&gt;
:Band x color (same for left and right channel). X should be from 0 to VUColorBands-1.&lt;br /&gt;
;VUColorBandxColorLeft&lt;br /&gt;
:Band x color for left channel.&lt;br /&gt;
;VUColorBandxColorRight&lt;br /&gt;
:Band x color for right channel.&lt;br /&gt;
;VUColorBandxSize&lt;br /&gt;
:Size of the color band (in pixels).&lt;br /&gt;
;VUColorBandxPerc&lt;br /&gt;
:Maximal meter % used by this band. For example VUColorBand0Perc will be 50, so meter values up to 50% will be drawed by settings in this band.&lt;br /&gt;
;VUColorMin&lt;br /&gt;
:Starting color (lowest value) of the VU meter.&lt;br /&gt;
;VUColorMax&lt;br /&gt;
:Ending color (highest value) of the VU meter.&lt;br /&gt;
;BuiltInVU1stRowOffsets&lt;br /&gt;
:Offset of VU meter lines on 1st row. Ends of Volume bar background can be rounded so using this offsets user can better visually integrate VU into this rounded ends.&lt;br /&gt;
;VUPeakColor&lt;br /&gt;
:Color of peaks. Peaks can be disabled using VUPeakSize=0&lt;br /&gt;
;VUPeakSize&lt;br /&gt;
:Size of peaks in pixels.&lt;br /&gt;
;VUPeakOffset&lt;br /&gt;
:Offset of peaks from VU meter bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Spectrum visualization&#039;&#039;&lt;br /&gt;
;SPPeakColor&lt;br /&gt;
:Peak color.&lt;br /&gt;
;SPSectionsCount&lt;br /&gt;
:Number of spectrum sections (up to 10).&lt;br /&gt;
;SPSpaceSize&lt;br /&gt;
:Space in pixels between sections.&lt;br /&gt;
;SPSectionSize&lt;br /&gt;
:Section width in pixels.&lt;br /&gt;
;SPDefaultSize&lt;br /&gt;
:Default height of one spectrum line in pixels.&lt;br /&gt;
;SPSteps&lt;br /&gt;
:Number of steps in each section.&lt;br /&gt;
;SPBreaksSize&lt;br /&gt;
:Size of the breaks between section steps in pixels.&lt;br /&gt;
;SPPeakSize&lt;br /&gt;
:Peak size in pixels.&lt;br /&gt;
;SPPeakOffset&lt;br /&gt;
:Offset of the peak from current spectrum bar position.&lt;br /&gt;
;SPColorMin&lt;br /&gt;
:Starting color (lowest value).&lt;br /&gt;
;SPColorMax&lt;br /&gt;
;Ending color (highest value).&lt;br /&gt;
;SPColorBands&lt;br /&gt;
;Number of color bands.&lt;br /&gt;
;SPColorBandxColor&lt;br /&gt;
:Band x color. X should be from 0 to SPColorBands-1.&lt;br /&gt;
;SPColorBandxSize&lt;br /&gt;
:Size of the color band (in pixels).&lt;br /&gt;
;SPColorBandxPerc&lt;br /&gt;
:Maximal spectrum % used by this band. For example SPColorBand0Perc will be 50, so meter values up to 50% will be drawed by settings in this band.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Osciloscope&#039;&#039;&lt;br /&gt;
;OSCColor&lt;br /&gt;
:Color of osciloscope line (for left and right together).&lt;br /&gt;
;OSCColorLeft&lt;br /&gt;
:Color of osciloscope line for left channel.&lt;br /&gt;
;OSCColorRight&lt;br /&gt;
:Color of osciloscope line for right channel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, skinning engine detects buttons clicking area as non-transparent parts of the buttons. In some cases (like when you’re using images with alpha channel), this detection can be very limited. For this reason, every buttons can have it’s own mask in BitmapFocused property of the button object.&lt;br /&gt;
&lt;br /&gt;
In addition you can use custom defined objects, which lets you to give to your skin more functionality and lucidity.&lt;br /&gt;
Custom objects can be defined as Custom% (where % is unique number for anyone custom field, e.g. Custom1, Custom2, Custom3 etc.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switching between all players can be done via MediaMonkey (system’s minimize button and/or settings of the MediaMonkey) or you can use Player buttons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MinimizeButton&#039;&#039;&#039; – in main player it switches to mini-monkey. In mini-monkey it uses MM settings for minimize.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SwitchButton&#039;&#039;&#039; – switches to micro-player (in all cases)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MaximizeButton&#039;&#039;&#039; – maximizes to main from mini-monkey or micro-monkey&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CloseButton&#039;&#039;&#039; – closes whole MM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Custom objects can have this fields:&lt;br /&gt;
&#039;&#039;&#039;Pos, Size, Transperent, TextMask, ShowLimitH, ShowLimitV&#039;&#039;&#039;&lt;br /&gt;
:These fields has a same sense as above.&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
:Types for custom objects is same as for classic objects, but any new types are allowed :&lt;br /&gt;
::IMAGE&lt;br /&gt;
:::Image control. Source of the image is defined in Source field (see below)&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;&lt;br /&gt;
:Source for image object (image path and filename relative to MM directory) or “&amp;lt;Cover&amp;gt;” text to show album cover of the loaded track.&lt;br /&gt;
&lt;br /&gt;
====Usable Masks====&lt;br /&gt;
mm:ss – time format (can be used with digit panels like TimeDisplay)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; - any digit: MM3 replaces # char with digit. You can use more than one # char (for 3 digits you can use ### etc.). This can be used with digit panels like FreqDisplay etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; %A – Artist&lt;br /&gt;
&amp;lt;br&amp;gt; %R – Album artist&lt;br /&gt;
&amp;lt;br&amp;gt; %L – Album&lt;br /&gt;
&amp;lt;br&amp;gt; %S – Song&lt;br /&gt;
&amp;lt;br&amp;gt; %P – Playlist position&lt;br /&gt;
&amp;lt;br&amp;gt; %I – Song position&lt;br /&gt;
&amp;lt;br&amp;gt; %H – Song length&lt;br /&gt;
&amp;lt;br&amp;gt; %J – Time to play&lt;br /&gt;
&amp;lt;br&amp;gt; %G – Genre&lt;br /&gt;
&amp;lt;br&amp;gt; %C – Author&lt;br /&gt;
&amp;lt;br&amp;gt; %U – Custom1&lt;br /&gt;
&amp;lt;br&amp;gt; %V – Custom2&lt;br /&gt;
&amp;lt;br&amp;gt; %W – Custom3&lt;br /&gt;
&amp;lt;br&amp;gt; %E – Songs file extension &lt;br /&gt;
&amp;lt;br&amp;gt; %F – Filename&lt;br /&gt;
&amp;lt;br&amp;gt; %Y – Year&lt;br /&gt;
&amp;lt;br&amp;gt; %T – Song order&lt;br /&gt;
&amp;lt;br&amp;gt; %B – Bitrate&lt;br /&gt;
&amp;lt;br&amp;gt; %M – Songs BPM&lt;br /&gt;
&amp;lt;br&amp;gt; %D – Temporary order&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;Available in Alpha 5 and newer builds;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; %Cn - custom field (n must be between 1 and 5)&lt;br /&gt;
&amp;lt;br&amp;gt; %PC - current track in playlist&lt;br /&gt;
&amp;lt;br&amp;gt; %PT - total tracks in playlist&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4300</id>
		<title>How to skin MediaMonkey versions 3 and 4</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4300"/>
		<updated>2008-05-28T15:21:39Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This entry is primarily for reference purposes. For a walkthrough of how to skin your MediaMonkey interface, please see the [[Walkthrough on how to skin MediaMonkey v3]] and/or [[Fast Newbie&#039;s Skinning Walkthrough for MM 3]].&#039;&#039;&lt;br /&gt;
==Introduction==&lt;br /&gt;
MediaMonkey offers a fair amount of flexibility to customize the look of the application.  This document provides graphic designers with the information needed to make MediaMonkey even better looking than it already is.&lt;br /&gt;
&lt;br /&gt;
The UI elements that can be modified are:&lt;br /&gt;
#The MediaMonkey Skin&lt;br /&gt;
#*The application Theme (i.e. the look of buttons, borders, status bars, title bars, fonts, etc.)&lt;br /&gt;
#*The skin of the various incarnations of the player (the main player, mini-monkey, and micro-monkey) and the font of the text within&lt;br /&gt;
#*Background images for various panels&lt;br /&gt;
#Icons within the application&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The MediaMonkey Skin==&lt;br /&gt;
A MediaMonkey skin consists of the Theme, the Player skins, and several background images that together make up a ‘skin’.  Skins are packaged as .msz files, which are simply .zip files with an .msz extension, containing all skin elements, saved to:&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\skinname.msz&#039;&#039;&lt;br /&gt;
so that users can choose a skin via &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that during the skin creation process, skin components can be created/edited in&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\Skinname\&amp;lt;skin components&amp;gt;&#039;&#039;&lt;br /&gt;
so that there’s no need to continually repackage the skin during skin development.  Once you’re satisfied with your edits, you can just Zip the contents of the &#039;&#039;\Test&#039;&#039; directory into a zip file, rename it to &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039;, and place it in the &#039;&#039;\MediaMonkey\Skins\&#039;&#039; directory to see the final result.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Theme===&lt;br /&gt;
The MediaMonkey Theme is what controls the overall look and feel of most aspects of the application (e.g. the titlebar, the buttons, the status bar, tabs, checkboxes, etc.). The theme is controlled by Theme.mskn which contains graphical elements and mappings of these elements to various UI objects. To edit a theme:&lt;br /&gt;
#Extract a skin (e.g. &#039;&#039;Casino Blue.msz&#039;&#039;) to&lt;br /&gt;
#:&#039;&#039;\MediaMonkey\Skins\Test\&#039;&#039;&lt;br /&gt;
#Download the [[ThemeEditor|KSDev theme editor]] from&lt;br /&gt;
#:http://www.mediamonkey.com/contrib/artwork/themeeditor7.exe&lt;br /&gt;
#Run the Theme Editor and load &#039;&#039;Theme.mskn&#039;&#039; from the &#039;&#039;\Test&#039;&#039; directory into the theme editor and edit it and save it.&lt;br /&gt;
#In MediaMonkey, Go to &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skins&amp;lt;/code&amp;gt; and select the new Test skin to see the results of your work (to refresh the skin, just switch skins in the Skins configuration panel).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the editing process, there are 2 approaches you can take:&lt;br /&gt;
&lt;br /&gt;
*If you have graphic expertise, but don&#039;t want to get into the details of configuring the size of buttons, their behaviour, setting margins, etc. the simplest approach is to create a new theme based on the graphics of an existing theme:&lt;br /&gt;
*#Click &amp;lt;code&amp;gt;File &amp;gt; Export Bitmaps&amp;lt;/code&amp;gt; and then edit the images, while making certain to maintain their exact dimensions&lt;br /&gt;
*#Click the Images node in the ThemeEditor tree, select individual images and click &#039;Replace&#039; to replace them with the newly edited images&lt;br /&gt;
*#After replacing all the images, resave the .mskn file&lt;br /&gt;
*#Switch to the skin entitled &#039;Test&#039; to see how the changes look&lt;br /&gt;
&lt;br /&gt;
*If you want much greater control and flexibility to control all aspects of a theme, you can create a new theme based on an existing one, but in addition to changing graphics images, you can also change various additional characteristics of the theme (e.g. fonts) by editing the properties of various objects that appear in the MediaMonkey UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instructions on the use of Theme Editor is beyond the scope of this document. The best approach is to edit the properties of various objects in the tree and then saving the theme file and test out the Skin containing the new theme file by switching to it in MediaMonkey.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a reference to all &#039;&#039;Theme.mskn&#039;&#039; objects used in the MediaMonkey UI:&lt;br /&gt;
;Form &lt;br /&gt;
:This defines the MediaMonkey frame, and buttons within the title bar&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\Font&#039;&#039;&#039; - caption font&lt;br /&gt;
;MenuBar&lt;br /&gt;
:Only the ToolbarItem is used along with;&lt;br /&gt;
:&#039;&#039;&#039;ItemButton&#039;&#039;&#039; (TSeButtonObject type) - This defines look of the top menu item (items like File, Tools etc.)&lt;br /&gt;
:&#039;&#039;&#039;SubitemButton&#039;&#039;&#039; (TSeButtonObject type) - This defined buttons within menu (all items in menu)&lt;br /&gt;
;Popup Menu&lt;br /&gt;
:This defines the look of menus&lt;br /&gt;
;CheckBox&lt;br /&gt;
:Defines the look/behaviour of checkboxes&lt;br /&gt;
;RadioButton&lt;br /&gt;
:Defines the look/behaviour of radio buttons&lt;br /&gt;
;ScrollBar&lt;br /&gt;
:Defines the look/behaviour of scrollbars&lt;br /&gt;
:&#039;&#039;&#039;NCArea&#039;&#039;&#039; - defines bottom right corner background (area between horizontal and vertical scrollbars)&lt;br /&gt;
:&#039;&#039;&#039;TopButton&#039;&#039;&#039; - defines top scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;BottomButton&#039;&#039;&#039; - defines bottom scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;LeftButton&#039;&#039;&#039; - defines left scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;RightButton&#039;&#039;&#039; - defines right scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;VertFrame&#039;&#039;&#039; - defines vertical scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;HorzFrame&#039;&#039;&#039; - defines horizontal scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;VertSlider&#039;&#039;&#039; - defines vertical scrollbar&lt;br /&gt;
:&#039;&#039;&#039;HorzSlider&#039;&#039;&#039; - defines horizontal scrollbar&lt;br /&gt;
;Button&lt;br /&gt;
:Defines the look/behaviour of OK/Cancel/Other buttons that appear within dialogs&lt;br /&gt;
;SpeedButton&lt;br /&gt;
:Defines the look/behaviour of buttons on the toolbar&lt;br /&gt;
;GroupBox&lt;br /&gt;
:Defines the group boxes that are used in some dialogs such as encoder selection dialog&lt;br /&gt;
;ProgressBar&lt;br /&gt;
:Defines the look of progress bar that&#039;s used to indicate status.  Currently only the horizontal one is used.&lt;br /&gt;
;TrackBar&lt;br /&gt;
:Defines the look of the sliders/tracks used for the equalizer&lt;br /&gt;
;Listbox&lt;br /&gt;
:Defines the look of listboxes (e.g. the Scan Folders dialog, tracklist)&lt;br /&gt;
:&#039;&#039;&#039;Item\ActiveBitmap&#039;&#039;&#039; - for selected item background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveBitmap&#039;&#039;&#039; - for unfocused selected text background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveFont&#039;&#039;&#039; - for unfocused control selected text font&lt;br /&gt;
: -&lt;br /&gt;
:ListBox colors and fonts:&lt;br /&gt;
:&#039;&#039;&#039;Colors\ListBox\Body&#039;&#039;&#039; - used to set default background colour&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextNormal&#039;&#039;&#039; - for normal text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextHot&#039;&#039;&#039; - for &#039;hot&#039; text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextSelected&#039;&#039;&#039; - for selected text&lt;br /&gt;
;Combobox&lt;br /&gt;
:Defines the look of combo boxes&lt;br /&gt;
;SpinButton&lt;br /&gt;
:Used for Up/Down arrows&lt;br /&gt;
;Panel&lt;br /&gt;
:Used for docked dialogs&lt;br /&gt;
;Tabs&lt;br /&gt;
:Used for TabSheets&lt;br /&gt;
;ControlBar&lt;br /&gt;
:Used to control the look of toolbars&lt;br /&gt;
;Toolbar&lt;br /&gt;
:Used to control the look of toolbar backgrounds.&lt;br /&gt;
:&#039;&#039;&#039;SubitemFont&#039;&#039;&#039; (TextObject) - font for popped menu items.&lt;br /&gt;
;Header&lt;br /&gt;
:Used to control the headers in lists&lt;br /&gt;
:&#039;&#039;&#039;Section\Font&#039;&#039;&#039; - header font&lt;br /&gt;
;StatusBar&lt;br /&gt;
:Controls the look of the status bar&lt;br /&gt;
;ToolWindow&lt;br /&gt;
:Controls the look of mini dialog frames (e.g. Equalizer, Album Browser)&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\font&#039;&#039;&#039; - title font&lt;br /&gt;
;Container&lt;br /&gt;
:Used for some backgrounds&lt;br /&gt;
;Splitter&lt;br /&gt;
:Divides up the toolbar&lt;br /&gt;
;VirtualTree&lt;br /&gt;
:Defines the look of the VirtualTree (TrackList, MainTree etc.)&lt;br /&gt;
:&#039;&#039;&#039;Panel&#039;&#039;&#039; - for defining border&lt;br /&gt;
:&#039;&#039;&#039;DragSelection&#039;&#039;&#039; - selection color for mouse-use drag selection&lt;br /&gt;
:&#039;&#039;&#039;DragTarget&#039;&#039;&#039; - selection color for dragging target node&lt;br /&gt;
:&#039;&#039;&#039;TrackListOdd&#039;&#039;&#039; - background image for odd rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;TrackListEven&#039;&#039;&#039; - background image for even rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingOdd&#039;&#039;&#039; - background image for odd rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingEven&#039;&#039;&#039; - background image for even rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;MainTreeBackground&#039;&#039;&#039; - background image for the nodes (&#039;&#039;Available in Alpha 5 and newer builds&#039;&#039;)&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackSelection&#039;&#039;&#039; - background image for highlighted tracks in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtSelection&#039;&#039;&#039; - background image for highlighted albums in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
;InfoPopup&lt;br /&gt;
:Defines  background and fields positions within popup info window&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\AlbumArt&#039;&#039;&#039; - position and size of the place for album art image&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\*&#039;&#039;&#039; - all fields with English names can be defined as TextObject (like Artist, Title etc.)&lt;br /&gt;
;NavBar&lt;br /&gt;
:Navigation bar settings&lt;br /&gt;
:&#039;&#039;&#039;Background&#039;&#039;&#039; - navigation panel background&lt;br /&gt;
:&#039;&#039;&#039;Node\Selection&#039;&#039;&#039; - background for selected node (mouse is hover it)&lt;br /&gt;
:&#039;&#039;&#039;Node\DropMark&#039;&#039;&#039; - drop down sign&lt;br /&gt;
:&#039;&#039;&#039;Node\Background&#039;&#039;&#039; - background for path node&lt;br /&gt;
:&#039;&#039;&#039;Node\Caption&#039;&#039;&#039; - path node font settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips for Maximizing Skin Performance&lt;br /&gt;
#Use the smallest size graphics possible to minimize the memory footprint&lt;br /&gt;
#Use 1 image per object rather than a single image for all objects&lt;br /&gt;
#Avoid the use of transparency in theme editor whenever possible&lt;br /&gt;
#Use stretched images in theme editor whenever possible (as opposed to tiled images)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other Tips &amp;amp; hints:&lt;br /&gt;
*MediaMonkey has a default theme of Default.mskn that&#039;s used if a xxx.msz archive doesn&#039;t contain a Theme.mskn file. You can edit this if you like.&lt;br /&gt;
*Minimize single-pixel transparency in bitmaps to avoid performance hits &lt;br /&gt;
*Try to minimize the use of margins in your objects as they decrease performance&lt;br /&gt;
*It is best to use bitmaps that are distinct for each object (rather than a single image containing all objects) to avoid performance hits&lt;br /&gt;
*ThemeEditor has a bug which sometimes causes the bottom right pixel in an image to become transparent. To avoid this, add an extra pixel of padding to the right of the image, but don&#039;t use the rightmost column of pixels in your objects.&lt;br /&gt;
*All fonts in the fonts node should be set to &#039;Arial&#039; to ensure correct functionality in unicode environments&lt;br /&gt;
*For Font properties other that in &#039;Fonts&#039; node (like ListBox\ItemAdv\ActiveFont). They allow to use &#039;MS Shell Dlg 2&#039; font and thus it should be used when needed (such occasions are appear in the above list) -- the trick with &#039;Arial&#039; font isn&#039;t used there).&lt;br /&gt;
*Before finalizing your theme, make sure to test it at different DPI settings&lt;br /&gt;
&lt;br /&gt;
===Customizing Background Images===&lt;br /&gt;
There are a number of background images used in MediaMonkey that are part of a skin (i.e. they are included within the &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039; file.  These include:&lt;br /&gt;
*&#039;&#039;sdb_background_playing.bmp&#039;&#039; – non-scrollable background for the Now Playing list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_list.bmp&#039;&#039; – non-scrollable background for the Track list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_tree.bmp&#039;&#039; – non-scrollable background of the tree&lt;br /&gt;
To customize these, just save the bitmaps to a skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing Icons===&lt;br /&gt;
The default MediaMonkey icons can be replaced globally to be used with any user-selected skin, or can be included with a specific skin if custom icons are desired for that skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a complete icon set to be used with any skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Icons\&#039;&#039;&lt;br /&gt;
#To customize the icons, just edit any of the icons in the &#039;&#039;\Icons\&#039;&#039; directory, and restart MediaMonkey.  The new icons will appear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To bundle specific custom icons within a Skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Skins\&amp;lt;Skinname&amp;gt;\Icons&#039;&#039;&lt;br /&gt;
#Delete any icons that you do not plan to customize&lt;br /&gt;
#Edit any of the icons that you wish to include with the skin&lt;br /&gt;
#To customize the skin just save the icons to the skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that 2 icons aren’t exactly icons:&lt;br /&gt;
*NoAArt.png for unknown art in Album Art window&lt;br /&gt;
*NoAArtNew.png for unknown art in Album Art views&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Player===&lt;br /&gt;
&lt;br /&gt;
====Basic Information====&lt;br /&gt;
MediaMonkey v3 (MM3) comes with a new feature called Skinnable Player, which supports user defined player with its own skins (independent of MM skin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are 3 players in MM3:&lt;br /&gt;
#Classic player in the main window.&lt;br /&gt;
#Mini-player (MiniMonkey mode in older versions of MM)&lt;br /&gt;
#Toolbar controller (new player placed on windows taskbar)&lt;br /&gt;
&lt;br /&gt;
All of these players can be unique with different design and look.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Player Files====&lt;br /&gt;
Every player skin is stored and defined in 2 files defining its skin and settings.&lt;br /&gt;
&lt;br /&gt;
Classic player is defined in files &#039;&#039;&#039;Player.mskn&#039;&#039;&#039; and &#039;&#039;&#039;Player.ini&#039;&#039;&#039;.&lt;br /&gt;
Mini-player player is defined in files &#039;&#039;&#039;FloatPlayer.mskn&#039;&#039;&#039; and &#039;&#039;&#039;FloatPlayer.ini&#039;&#039;&#039;.&lt;br /&gt;
Toolbar controller can have two types: horizontal (when taskbar is on top or bottom edge of the screen) or vertical (when taskbar is on left or right edge of the screen). File name format for these types is &#039;&#039;&#039;MicroPlayerH&#039;&#039;&#039; (for horizontal) and &#039;&#039;&#039;MicroPlayerV&#039;&#039;&#039; (for vertical). Horizontal toolbar controller is then defined in &#039;&#039;&#039;MicroPlayerH.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerH.ini&#039;&#039;&#039;, and vertical in &#039;&#039;&#039;MicroPlayerV.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerV.ini&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MSKN file is standard ThemeEngine 6 (older version of TE can be used, but with no warranty) format with maximum compression. See to MSKN File section for more information about this file.&lt;br /&gt;
&lt;br /&gt;
INI file is configuration file in a text mode and can be edited with any text editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these files must be stored in WSZ file with MM3s skin together. WSZ file is standard ZIP file with a changed file extension only.&lt;br /&gt;
&lt;br /&gt;
When any of players in MM3 hasn’t its files in WSZ, MM3 uses built-in skin for missing player.&lt;br /&gt;
&lt;br /&gt;
For development purposes, individual skin files don’t have to be packed in WSZ file, but can be stored all in a subfolder of MM\Skins folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MSKN File====&lt;br /&gt;
Players MSKN file can contain these objects:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PlayerBackground&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Defines background of the Player. This object must contain object Frame and into this object you can store all parts of player background (like left side, center and right side).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
PlayerBackground&lt;br /&gt;
:Frame&lt;br /&gt;
::LeftSide&lt;br /&gt;
::Center&lt;br /&gt;
::RightSide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this hierarchy you can define player, which can be resized (center part can be tiled, stretched etc. when player is being resized).&lt;br /&gt;
&lt;br /&gt;
Every player can have transparent parts of its design. One requirement is, that every transparent part must have the same color as color in upper left corner (point 0;0).&lt;br /&gt;
&lt;br /&gt;
PlayButton, PauseButton, StopButton, PrevButton, NextButton, PlayPauseButton, ShuffleButton, ContinousButton, PlaylistButton, AutoDJButton (ButtonObject)&lt;br /&gt;
&lt;br /&gt;
These objects represent basic player buttons. When you need to use more than 3 state buttons (like for PlayPauseButton where you need to design button for play and for pause both), then you can create objects with _UP and _DOWN postfixes and in INI file set to StateButton type (see below).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SeekBar, BalanceBar, VolumeBar&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every seekbar can define its background (in these objects) and can define slider design with HorzSlider or VertSlider as its descendant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
SeekBar - this object defines seekbar background&lt;br /&gt;
:HorzSlider - this object defines horizontal slider for seekbar&lt;br /&gt;
:VertSlider - this object defines vertical slider for seekbar&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualization {Left/Right}&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This object defines bitmap for visualization background. If you use themed visualization then you must define VisualizationLeft and VisualizationRight (instead of Visualization) as backgrounds for left and right channels.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualizations&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Container for themed visualization bands. In this container you can define visualization steps for separate channels or for both together. All visualizations steps is defined as LeftBand&#039;&#039;0&#039;&#039;..LeftBand&#039;&#039;n&#039;&#039;, RightBand&#039;&#039;0&#039;&#039;..RightBand&#039;&#039;n&#039;&#039; or Band&#039;&#039;0&#039;&#039;..Band&#039;&#039;n&#039;&#039; for both channels. Number of steps is defined in INI file of the player.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MonoStereoLabel&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Indicator for mono/stereo. Mono indicator put into Bitmap and stereo into BitmapDisabled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DigitPanels&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every digit panel uses bitmaps for its digits. In skin you can create 2 types of digits: small and normal.&lt;br /&gt;
Normal digits are named as Digit%, DigitEmpty and DigitNegative, where % is value (like Digit0, Digit4 etc.).&lt;br /&gt;
Small digits have the same rules as normal digits, but name is SmallDigit.&lt;br /&gt;
For normal digits you can define TimeDivider object, which represents digits divider (like ‘:’, ‘-‘ etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rating&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This button object is used for manage rating on a skin. There are need to be defined Bitmap and BitmapDisabled fields, where Bitmap is “highlighted” rating star and BitmapDisabled is “grayed” rating star.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusPanel&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This panel is used as background for player’s status signs (like “playing”, “paused” etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusImages/*&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Status images for player’s status (can be defined StatusPlay, StatusStop and StatusPause).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AlbumArt&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Custom defined AlbumArt image for tracks, that doesn’t have defined cover.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====INI File====&lt;br /&gt;
In ini file is many sections which corresponds with most names in MSKN file and can contain:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;PlayerSkin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basic information about skin and can contain these values:&lt;br /&gt;
;EngineVersion&lt;br /&gt;
:for which version of SkinnablePlayer is this skin designed (default 100 as 1.00 version)&lt;br /&gt;
;Resizable&lt;br /&gt;
:How can be skin resizeable. You can type 4 values with left, top, right and bottom sequence delimited with comma.&lt;br /&gt;
: -&lt;br /&gt;
:Example :&lt;br /&gt;
:Resizeable=1,0,1,0 – skin can be resized by left and right edges&lt;br /&gt;
;Size&lt;br /&gt;
:Initial size of skin.&lt;br /&gt;
;TimeFormat&lt;br /&gt;
:Default time format. Acceptable masks are d (day), h (hour), m (minutes), s (seconds). Upper case of D or H masks can be used to show these values only if it&#039;s not equal to zero. For example format HH:mm:ss shows :&lt;br /&gt;
:01:40:30 if time is longer than an hour&lt;br /&gt;
:40:30 if time is less than an hour&lt;br /&gt;
;DockAtMostBottom&lt;br /&gt;
:This value defines if player can be docked at most bottom (under status bar) in main window.&lt;br /&gt;
;DockLocked&lt;br /&gt;
:If this value is set to 1, player is always docked in it’s default position and can’t be docked to any other position.&lt;br /&gt;
;RemoveAllBordersAround&lt;br /&gt;
:This removes all borders around the player (player backgroung can be visually joined with main window without annoying borders).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sections can have these names:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PlayPauseButton, SeekBar, VolumeBar, BalanceBar, PrevButton, PlayButton, PauseButton, StopButton, NextButton, ShuffleButton, ContinousButton, AutoDJButton, MonoStereo, SongTitle, TimeDisplay, SearchBar, EQButton, PlaylistButton, KbpsDisplay, FreqDisplay, AlbumArt, Visualization (for standard MM build-in visualization), VisualizationLeft and VisualizationRight (for user themed visualization), MinimizeButton, MaximizeButton, CloseButton, SwitchButton, Rating, StatusPanel, MuteButton, EjectButton&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type of an object is defined by Type value and can be one of this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Button, StateButton, DigitPanel, Text, TrackBar, BitmapLabel, Panel&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note : Rating and StatusPanel objects must be a type PANEL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other values, which can be defined:&lt;br /&gt;
&lt;br /&gt;
;Resizable&lt;br /&gt;
:Defines, if object can be resized when user resizes player in Left,Top,Right,Bottom format. Also it defines controls alignment while resizing. If you define left/right or top/bottom to 0, control always stays in it’s position relative to resized size (e.g. if control in basic size will be on center and player is resized, then control will always be on center).&lt;br /&gt;
;Pos&lt;br /&gt;
:Position of the object in Left,Top format.&lt;br /&gt;
;Size&lt;br /&gt;
:Size of the object in Width,Height format. (Note: when height is greater than width, then object is defined as vertical .. this is usable for defining vertical seekbars).&lt;br /&gt;
;Transperent&lt;br /&gt;
:Ability to be transparent (1 indicates YES, 0 no).&lt;br /&gt;
;TextMask&lt;br /&gt;
:Text mask define which and how data is showed. See below for which masks can be used.&lt;br /&gt;
;SmallDigits (only for DigitPanel type)&lt;br /&gt;
:Defines, if digit panel uses small or normal digits (more about it at MSKN File section). 1 is Yes, 0 no.&lt;br /&gt;
;ThumbSize (only for TrackBar type)&lt;br /&gt;
:Defines thumb size.&lt;br /&gt;
;ShowLimitH, ShowLimitV&lt;br /&gt;
:These values defines horizontal and vertical limits for showing defined object. If players width/height is smaller than defined limit, then object is invisible.&lt;br /&gt;
;FontColor&lt;br /&gt;
:This value is used only for text objects. It defines font color in format RRGGBB (like FFFFFF is white color).&lt;br /&gt;
;FontHeight&lt;br /&gt;
:This value is used only for text objects. It defines font height in pixels.&lt;br /&gt;
;FontName&lt;br /&gt;
:User defined font for text object.&lt;br /&gt;
;TextAlign&lt;br /&gt;
:Text aligning. Can be -1 for left-align, 0 for center or 1 for right-align.&lt;br /&gt;
;TrackReversed&lt;br /&gt;
:Basic trackbar orientation have min value at the left or top of the trackbar. With this boolean value you can reverse this orientation (like for vertical volume bar which has max at the top of the trackbar). This is usable only for trackbars.&lt;br /&gt;
;Steps&lt;br /&gt;
:Defines steps of the user themed visualization. Images for this steps is defined in MSKN in Visualizations container.&lt;br /&gt;
;Scrollable&lt;br /&gt;
:For text objects it can be defined for enable/disable scrolling functionality (like for time display).&lt;br /&gt;
;CenterOffsetX, CenterOffsetY&lt;br /&gt;
:This values defines contant position of the object relative to player center (left/top edge of the object). Like CenterOffsetX=-20 defines, that the objects left edge will be always 20px left of the center of the player.&lt;br /&gt;
;Lock&amp;lt;edge&amp;gt;Distance, Lock&amp;lt;edge&amp;gt;Object&lt;br /&gt;
:Control can be locked by any of edge to any other control. If control, which is locked to is moved or sized, this control is automatically adjusted. Like:&lt;br /&gt;
:LockRightDistance=-50 - right edge of the object will be always 50 pixels left from&lt;br /&gt;
:LockRightObject=PrevButton - PrevButton’s left edge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Additional options for VolumeBar (VU Meter settings is described below)&#039;&#039;&lt;br /&gt;
;BuiltInVUMeter&lt;br /&gt;
:This option integrates VU meter directly into volume bar.&lt;br /&gt;
;BuiltInVUOffsets=4,0,4,2&lt;br /&gt;
:Left,Top,Right and Bottom offsets of the VU meter inside the volume bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Additional options to Visualization (non-themed version)&#039;&#039;&lt;br /&gt;
;Switchable&lt;br /&gt;
:1 when visualization can be changed to other type. 0 when only initial visualization should work.&lt;br /&gt;
;InitialType&lt;br /&gt;
:Initial type of visualization. Acceptable values are VUMeter (default), Spectrum, Osciloscope.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;VU Meter visualization&#039;&#039;&lt;br /&gt;
;VUDefaultSize=1&lt;br /&gt;
:Default VU meter size (pixel rows in vertical bar or cols in horizontal).&lt;br /&gt;
;VUSteps&lt;br /&gt;
:Number of steps of VU meter (only for custom bands, see below).&lt;br /&gt;
;VUBreaksSize&lt;br /&gt;
:Empty space between steps.&lt;br /&gt;
;VUColorBands&lt;br /&gt;
:Number of color bands.&lt;br /&gt;
;VUColorBandxColor&lt;br /&gt;
:Band x color (same for left and right channel). X should be from 0 to VUColorBands-1.&lt;br /&gt;
;VUColorBandxColorLeft&lt;br /&gt;
:Band x color for left channel.&lt;br /&gt;
;VUColorBandxColorRight&lt;br /&gt;
:Band x color for right channel.&lt;br /&gt;
;VUColorBandxSize&lt;br /&gt;
:Size of the color band (in pixels).&lt;br /&gt;
;VUColorBandxPerc&lt;br /&gt;
:Maximal meter % used by this band. For example VUColorBand0Perc will be 50, so meter values up to 50% will be drawed by settings in this band.&lt;br /&gt;
;VUColorMin=646464&lt;br /&gt;
:Starting color (lowest value) of the VU meter.&lt;br /&gt;
;VUColorMax=888888&lt;br /&gt;
:Ending color (highest value) of the VU meter.&lt;br /&gt;
;BuiltInVU1stRowOffsets=1,1&lt;br /&gt;
:Offset of VU meter lines on 1st row. Ends of Volume bar background can be rounded so using this offsets user can better visually integrate VU into this rounded ends.&lt;br /&gt;
;VUPeakColor=CCCCCC&lt;br /&gt;
:Color of peaks. Peaks can be disabled using VUPeakSize=0&lt;br /&gt;
;VUPeakSize=2&lt;br /&gt;
:Size of peaks in pixels.&lt;br /&gt;
;VUPeakOffset=-2&lt;br /&gt;
:Offset of peaks from VU meter bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Spectrum visualization&#039;&#039;&lt;br /&gt;
;SPPeakColor&lt;br /&gt;
:Peak color.&lt;br /&gt;
;SPSectionsCount&lt;br /&gt;
:Number of spectrum sections (up to 10).&lt;br /&gt;
;SPSpaceSize&lt;br /&gt;
:Space in pixels between sections.&lt;br /&gt;
;SPSectionSize&lt;br /&gt;
:Section width in pixels.&lt;br /&gt;
;SPDefaultSize&lt;br /&gt;
:Default height of one spectrum line in pixels.&lt;br /&gt;
;SPSteps&lt;br /&gt;
:Number of steps in each section.&lt;br /&gt;
;SPBreaksSize&lt;br /&gt;
:Size of the breaks between section steps in pixels.&lt;br /&gt;
;SPPeakSize&lt;br /&gt;
:Peak size in pixels.&lt;br /&gt;
;SPPeakOffset&lt;br /&gt;
:Offset of the peak from current spectrum bar position.&lt;br /&gt;
;SPColorMin&lt;br /&gt;
:Starting color (lowest value).&lt;br /&gt;
;SPColorMax&lt;br /&gt;
;Ending color (highest value).&lt;br /&gt;
;SPColorBands&lt;br /&gt;
;Number of color bands.&lt;br /&gt;
;SPColorBandxColor&lt;br /&gt;
:Band x color. X should be from 0 to SPColorBands-1.&lt;br /&gt;
;SPColorBandxSize&lt;br /&gt;
:Size of the color band (in pixels).&lt;br /&gt;
;SPColorBandxPerc&lt;br /&gt;
:Maximal spectrum % used by this band. For example SPColorBand0Perc will be 50, so meter values up to 50% will be drawed by settings in this band.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Osciloscope&#039;&#039;&lt;br /&gt;
;OSCColor&lt;br /&gt;
:Color of osciloscope line (for left and right together).&lt;br /&gt;
;OSCColorLeft&lt;br /&gt;
:Color of osciloscope line for left channel.&lt;br /&gt;
;OSCColorRight&lt;br /&gt;
:Color of osciloscope line for right channel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, skinning engine detects buttons clicking area as non-transparent parts of the buttons. In some cases (like when you’re using images with alpha channel), this detection can be very limited. For this reason, every buttons can have it’s own mask in BitmapFocused property of the button object.&lt;br /&gt;
&lt;br /&gt;
In addition you can use custom defined objects, which lets you to give to your skin more functionality and lucidity.&lt;br /&gt;
Custom objects can be defined as Custom% (where % is unique number for anyone custom field, e.g. Custom1, Custom2, Custom3 etc.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switching between all players can be done via MediaMonkey (system’s minimize button and/or settings of the MediaMonkey) or you can use Player buttons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MinimizeButton&#039;&#039;&#039; – in main player it switches to mini-monkey. In mini-monkey it uses MM settings for minimize.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SwitchButton&#039;&#039;&#039; – switches to micro-player (in all cases)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MaximizeButton&#039;&#039;&#039; – maximizes to main from mini-monkey or micro-monkey&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CloseButton&#039;&#039;&#039; – closes whole MM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Custom objects can have this fields:&lt;br /&gt;
&#039;&#039;&#039;Pos, Size, Transperent, TextMask, ShowLimitH, ShowLimitV&#039;&#039;&#039;&lt;br /&gt;
:These fields has a same sense as above.&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
:Types for custom objects is same as for classic objects, but any new types are allowed :&lt;br /&gt;
::IMAGE&lt;br /&gt;
:::Image control. Source of the image is defined in Source field (see below)&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;&lt;br /&gt;
:Source for image object (image path and filename relative to MM directory) or “&amp;lt;Cover&amp;gt;” text to show album cover of the loaded track.&lt;br /&gt;
&lt;br /&gt;
====Usable Masks====&lt;br /&gt;
mm:ss – time format (can be used with digit panels like TimeDisplay)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; - any digit: MM3 replaces # char with digit. You can use more than one # char (for 3 digits you can use ### etc.). This can be used with digit panels like FreqDisplay etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; %A – Artist&lt;br /&gt;
&amp;lt;br&amp;gt; %R – Album artist&lt;br /&gt;
&amp;lt;br&amp;gt; %L – Album&lt;br /&gt;
&amp;lt;br&amp;gt; %S – Song&lt;br /&gt;
&amp;lt;br&amp;gt; %P – Playlist position&lt;br /&gt;
&amp;lt;br&amp;gt; %I – Song position&lt;br /&gt;
&amp;lt;br&amp;gt; %H – Song length&lt;br /&gt;
&amp;lt;br&amp;gt; %J – Time to play&lt;br /&gt;
&amp;lt;br&amp;gt; %G – Genre&lt;br /&gt;
&amp;lt;br&amp;gt; %C – Author&lt;br /&gt;
&amp;lt;br&amp;gt; %U – Custom1&lt;br /&gt;
&amp;lt;br&amp;gt; %V – Custom2&lt;br /&gt;
&amp;lt;br&amp;gt; %W – Custom3&lt;br /&gt;
&amp;lt;br&amp;gt; %E – Songs file extension &lt;br /&gt;
&amp;lt;br&amp;gt; %F – Filename&lt;br /&gt;
&amp;lt;br&amp;gt; %Y – Year&lt;br /&gt;
&amp;lt;br&amp;gt; %T – Song order&lt;br /&gt;
&amp;lt;br&amp;gt; %B – Bitrate&lt;br /&gt;
&amp;lt;br&amp;gt; %M – Songs BPM&lt;br /&gt;
&amp;lt;br&amp;gt; %D – Temporary order&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;Available in Alpha 5 and newer builds;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; %Cn - custom field (n must be between 1 and 5)&lt;br /&gt;
&amp;lt;br&amp;gt; %PC - current track in playlist&lt;br /&gt;
&amp;lt;br&amp;gt; %PT - total tracks in playlist&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4299</id>
		<title>How to skin MediaMonkey versions 3 and 4</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=How_to_skin_MediaMonkey_versions_3_and_4&amp;diff=4299"/>
		<updated>2008-05-28T14:27:51Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This entry is primarily for reference purposes. For a walkthrough of how to skin your MediaMonkey interface, please see the [[Walkthrough on how to skin MediaMonkey v3]] and/or [[Fast Newbie&#039;s Skinning Walkthrough for MM 3]].&#039;&#039;&lt;br /&gt;
==Introduction==&lt;br /&gt;
MediaMonkey offers a fair amount of flexibility to customize the look of the application.  This document provides graphic designers with the information needed to make MediaMonkey even better looking than it already is.&lt;br /&gt;
&lt;br /&gt;
The UI elements that can be modified are:&lt;br /&gt;
#The MediaMonkey Skin&lt;br /&gt;
#*The application Theme (i.e. the look of buttons, borders, status bars, title bars, fonts, etc.)&lt;br /&gt;
#*The skin of the various incarnations of the player (the main player, mini-monkey, and micro-monkey) and the font of the text within&lt;br /&gt;
#*Background images for various panels&lt;br /&gt;
#Icons within the application&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The MediaMonkey Skin==&lt;br /&gt;
A MediaMonkey skin consists of the Theme, the Player skins, and several background images that together make up a ‘skin’.  Skins are packaged as .msz files, which are simply .zip files with an .msz extension, containing all skin elements, saved to:&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\skinname.msz&#039;&#039;&lt;br /&gt;
so that users can choose a skin via &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that during the skin creation process, skin components can be created/edited in&lt;br /&gt;
:&#039;&#039;\MediaMonkey\Skins\Skinname\&amp;lt;skin components&amp;gt;&#039;&#039;&lt;br /&gt;
so that there’s no need to continually repackage the skin during skin development.  Once you’re satisfied with your edits, you can just Zip the contents of the &#039;&#039;\Test&#039;&#039; directory into a zip file, rename it to &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039;, and place it in the &#039;&#039;\MediaMonkey\Skins\&#039;&#039; directory to see the final result.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Theme===&lt;br /&gt;
The MediaMonkey Theme is what controls the overall look and feel of most aspects of the application (e.g. the titlebar, the buttons, the status bar, tabs, checkboxes, etc.). The theme is controlled by Theme.mskn which contains graphical elements and mappings of these elements to various UI objects. To edit a theme:&lt;br /&gt;
#Extract a skin (e.g. &#039;&#039;Casino Blue.msz&#039;&#039;) to&lt;br /&gt;
#:&#039;&#039;\MediaMonkey\Skins\Test\&#039;&#039;&lt;br /&gt;
#Download the [[ThemeEditor|KSDev theme editor]] from&lt;br /&gt;
#:http://www.mediamonkey.com/contrib/artwork/themeeditor7.exe&lt;br /&gt;
#Run the Theme Editor and load &#039;&#039;Theme.mskn&#039;&#039; from the &#039;&#039;\Test&#039;&#039; directory into the theme editor and edit it and save it.&lt;br /&gt;
#In MediaMonkey, Go to &amp;lt;code&amp;gt;Tools &amp;gt; Options &amp;gt; Skins&amp;lt;/code&amp;gt; and select the new Test skin to see the results of your work (to refresh the skin, just switch skins in the Skins configuration panel).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the editing process, there are 2 approaches you can take:&lt;br /&gt;
&lt;br /&gt;
*If you have graphic expertise, but don&#039;t want to get into the details of configuring the size of buttons, their behaviour, setting margins, etc. the simplest approach is to create a new theme based on the graphics of an existing theme:&lt;br /&gt;
*#Click &amp;lt;code&amp;gt;File &amp;gt; Export Bitmaps&amp;lt;/code&amp;gt; and then edit the images, while making certain to maintain their exact dimensions&lt;br /&gt;
*#Click the Images node in the ThemeEditor tree, select individual images and click &#039;Replace&#039; to replace them with the newly edited images&lt;br /&gt;
*#After replacing all the images, resave the .mskn file&lt;br /&gt;
*#Switch to the skin entitled &#039;Test&#039; to see how the changes look&lt;br /&gt;
&lt;br /&gt;
*If you want much greater control and flexibility to control all aspects of a theme, you can create a new theme based on an existing one, but in addition to changing graphics images, you can also change various additional characteristics of the theme (e.g. fonts) by editing the properties of various objects that appear in the MediaMonkey UI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instructions on the use of Theme Editor is beyond the scope of this document. The best approach is to edit the properties of various objects in the tree and then saving the theme file and test out the Skin containing the new theme file by switching to it in MediaMonkey.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Below is a reference to all &#039;&#039;Theme.mskn&#039;&#039; objects used in the MediaMonkey UI:&lt;br /&gt;
;Form &lt;br /&gt;
:This defines the MediaMonkey frame, and buttons within the title bar&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\Font&#039;&#039;&#039; - caption font&lt;br /&gt;
;MenuBar&lt;br /&gt;
:Only the ToolbarItem is used along with;&lt;br /&gt;
:&#039;&#039;&#039;ItemButton&#039;&#039;&#039; (TSeButtonObject type) - This defines look of the top menu item (items like File, Tools etc.)&lt;br /&gt;
:&#039;&#039;&#039;SubitemButton&#039;&#039;&#039; (TSeButtonObject type) - This defined buttons within menu (all items in menu)&lt;br /&gt;
;Popup Menu&lt;br /&gt;
:This defines the look of menus&lt;br /&gt;
;CheckBox&lt;br /&gt;
:Defines the look/behaviour of checkboxes&lt;br /&gt;
;RadioButton&lt;br /&gt;
:Defines the look/behaviour of radio buttons&lt;br /&gt;
;ScrollBar&lt;br /&gt;
:Defines the look/behaviour of scrollbars&lt;br /&gt;
:&#039;&#039;&#039;NCArea&#039;&#039;&#039; - defines bottom right corner background (area between horizontal and vertical scrollbars)&lt;br /&gt;
:&#039;&#039;&#039;TopButton&#039;&#039;&#039; - defines top scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;BottomButton&#039;&#039;&#039; - defines bottom scrollbar button (for vertical scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;LeftButton&#039;&#039;&#039; - defines left scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;RightButton&#039;&#039;&#039; - defines right scrollbar button (for horizontal scrollbar)&lt;br /&gt;
:&#039;&#039;&#039;VertFrame&#039;&#039;&#039; - defines vertical scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;HorzFrame&#039;&#039;&#039; - defines horizontal scrollbar background&lt;br /&gt;
:&#039;&#039;&#039;VertSlider&#039;&#039;&#039; - defines vertical scrollbar&lt;br /&gt;
:&#039;&#039;&#039;HorzSlider&#039;&#039;&#039; - defines horizontal scrollbar&lt;br /&gt;
;Button&lt;br /&gt;
:Defines the look/behaviour of OK/Cancel/Other buttons that appear within dialogs&lt;br /&gt;
;SpeedButton&lt;br /&gt;
:Defines the look/behaviour of buttons on the toolbar&lt;br /&gt;
;GroupBox&lt;br /&gt;
:Defines the group boxes that are used in some dialogs such as encoder selection dialog&lt;br /&gt;
;ProgressBar&lt;br /&gt;
:Defines the look of progress bar that&#039;s used to indicate status.  Currently only the horizontal one is used.&lt;br /&gt;
;TrackBar&lt;br /&gt;
:Defines the look of the sliders/tracks used for the equalizer&lt;br /&gt;
;Listbox&lt;br /&gt;
:Defines the look of listboxes (e.g. the Scan Folders dialog, tracklist)&lt;br /&gt;
:&#039;&#039;&#039;Item\ActiveBitmap&#039;&#039;&#039; - for selected item background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveBitmap&#039;&#039;&#039; - for unfocused selected text background&lt;br /&gt;
:&#039;&#039;&#039;ItemAdv\ActiveFont&#039;&#039;&#039; - for unfocused control selected text font&lt;br /&gt;
: -&lt;br /&gt;
:ListBox colors and fonts:&lt;br /&gt;
:&#039;&#039;&#039;Colors\ListBox\Body&#039;&#039;&#039; - used to set default background colour&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextNormal&#039;&#039;&#039; - for normal text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextHot&#039;&#039;&#039; - for &#039;hot&#039; text&lt;br /&gt;
:&#039;&#039;&#039;Fonts\ListItemTextSelected&#039;&#039;&#039; - for selected text&lt;br /&gt;
;Combobox&lt;br /&gt;
:Defines the look of combo boxes&lt;br /&gt;
;SpinButton&lt;br /&gt;
:Used for Up/Down arrows&lt;br /&gt;
;Panel&lt;br /&gt;
:Used for docked dialogs&lt;br /&gt;
;Tabs&lt;br /&gt;
:Used for TabSheets&lt;br /&gt;
;ControlBar&lt;br /&gt;
:Used to control the look of toolbars&lt;br /&gt;
;Toolbar&lt;br /&gt;
:Used to control the look of toolbar backgrounds.&lt;br /&gt;
:&#039;&#039;&#039;SubitemFont&#039;&#039;&#039; (TextObject) - font for popped menu items.&lt;br /&gt;
;Header&lt;br /&gt;
:Used to control the headers in lists&lt;br /&gt;
:&#039;&#039;&#039;Section\Font&#039;&#039;&#039; - header font&lt;br /&gt;
;StatusBar&lt;br /&gt;
:Controls the look of the status bar&lt;br /&gt;
;ToolWindow&lt;br /&gt;
:Controls the look of mini dialog frames (e.g. Equalizer, Album Browser)&lt;br /&gt;
:&#039;&#039;&#039;Caption\Title\font&#039;&#039;&#039; - title font&lt;br /&gt;
;Container&lt;br /&gt;
:Used for some backgrounds&lt;br /&gt;
;Splitter&lt;br /&gt;
:Divides up the toolbar&lt;br /&gt;
;VirtualTree&lt;br /&gt;
:Defines the look of the VirtualTree (TrackList, MainTree etc.)&lt;br /&gt;
:&#039;&#039;&#039;Panel&#039;&#039;&#039; - for defining border&lt;br /&gt;
:&#039;&#039;&#039;DragSelection&#039;&#039;&#039; - selection color for mouse-use drag selection&lt;br /&gt;
:&#039;&#039;&#039;DragTarget&#039;&#039;&#039; - selection color for dragging target node&lt;br /&gt;
:&#039;&#039;&#039;TrackListOdd&#039;&#039;&#039; - background image for odd rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;TrackListEven&#039;&#039;&#039; - background image for even rows in tracklist&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingOdd&#039;&#039;&#039; - background image for odd rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;NowPlayingEven&#039;&#039;&#039; - background image for even rows in now playing&lt;br /&gt;
:&#039;&#039;&#039;MainTreeBackground&#039;&#039;&#039; - background image for the nodes (&#039;&#039;Available in Alpha 5 and newer builds&#039;&#039;)&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackSelection&#039;&#039;&#039; - background image for highlighted tracks in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtSelection&#039;&#039;&#039; - background image for highlighted albums in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtTrackText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art with details&amp;quot; view&lt;br /&gt;
:&#039;&#039;&#039;AlbumArtText&#039;&#039;&#039; - TSeTextObject for defining font color in &amp;quot;Album Art&amp;quot; view&lt;br /&gt;
;InfoPopup&lt;br /&gt;
:Defines  background and fields positions within popup info window&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\AlbumArt&#039;&#039;&#039; - position and size of the place for album art image&lt;br /&gt;
:&#039;&#039;&#039;Frame\Background\*&#039;&#039;&#039; - all fields with English names can be defined as TextObject (like Artist, Title etc.)&lt;br /&gt;
;NavBar&lt;br /&gt;
:Navigation bar settings&lt;br /&gt;
:&#039;&#039;&#039;Background&#039;&#039;&#039; - navigation panel background&lt;br /&gt;
:&#039;&#039;&#039;Node\Selection&#039;&#039;&#039; - background for selected node (mouse is hover it)&lt;br /&gt;
:&#039;&#039;&#039;Node\DropMark&#039;&#039;&#039; - drop down sign&lt;br /&gt;
:&#039;&#039;&#039;Node\Background&#039;&#039;&#039; - background for path node&lt;br /&gt;
:&#039;&#039;&#039;Node\Caption&#039;&#039;&#039; - path node font settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tips for Maximizing Skin Performance&lt;br /&gt;
#Use the smallest size graphics possible to minimize the memory footprint&lt;br /&gt;
#Use 1 image per object rather than a single image for all objects&lt;br /&gt;
#Avoid the use of transparency in theme editor whenever possible&lt;br /&gt;
#Use stretched images in theme editor whenever possible (as opposed to tiled images)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other Tips &amp;amp; hints:&lt;br /&gt;
*MediaMonkey has a default theme of Default.mskn that&#039;s used if a xxx.msz archive doesn&#039;t contain a Theme.mskn file. You can edit this if you like.&lt;br /&gt;
*Minimize single-pixel transparency in bitmaps to avoid performance hits &lt;br /&gt;
*Try to minimize the use of margins in your objects as they decrease performance&lt;br /&gt;
*It is best to use bitmaps that are distinct for each object (rather than a single image containing all objects) to avoid performance hits&lt;br /&gt;
*ThemeEditor has a bug which sometimes causes the bottom right pixel in an image to become transparent. To avoid this, add an extra pixel of padding to the right of the image, but don&#039;t use the rightmost column of pixels in your objects.&lt;br /&gt;
*All fonts in the fonts node should be set to &#039;Arial&#039; to ensure correct functionality in unicode environments&lt;br /&gt;
*For Font properties other that in &#039;Fonts&#039; node (like ListBox\ItemAdv\ActiveFont). They allow to use &#039;MS Shell Dlg 2&#039; font and thus it should be used when needed (such occasions are appear in the above list) -- the trick with &#039;Arial&#039; font isn&#039;t used there).&lt;br /&gt;
*Before finalizing your theme, make sure to test it at different DPI settings&lt;br /&gt;
&lt;br /&gt;
===Customizing Background Images===&lt;br /&gt;
There are a number of background images used in MediaMonkey that are part of a skin (i.e. they are included within the &#039;&#039;&amp;lt;Skinname&amp;gt;.msz&#039;&#039; file.  These include:&lt;br /&gt;
*&#039;&#039;sdb_background_playing.bmp&#039;&#039; – non-scrollable background for the Now Playing list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_list.bmp&#039;&#039; – non-scrollable background for the Track list (optional – use if scrollable background not defined in the Theme)&lt;br /&gt;
*&#039;&#039;sdb_background_tree.bmp&#039;&#039; – non-scrollable background of the tree&lt;br /&gt;
To customize these, just save the bitmaps to a skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing Icons===&lt;br /&gt;
The default MediaMonkey icons can be replaced globally to be used with any user-selected skin, or can be included with a specific skin if custom icons are desired for that skin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a complete icon set to be used with any skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Icons\&#039;&#039;&lt;br /&gt;
#To customize the icons, just edit any of the icons in the &#039;&#039;\Icons\&#039;&#039; directory, and restart MediaMonkey.  The new icons will appear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To bundle specific custom icons within a Skin:&lt;br /&gt;
#Download all icons via http://www.mediamonkey.com/contrib/artwork/icons.zip&lt;br /&gt;
#Extract the icons from the .zip file to &#039;&#039;\Program Files\MediaMonkey\Skins\&amp;lt;Skinname&amp;gt;\Icons&#039;&#039;&lt;br /&gt;
#Delete any icons that you do not plan to customize&lt;br /&gt;
#Edit any of the icons that you wish to include with the skin&lt;br /&gt;
#To customize the skin just save the icons to the skin directory or archive (msz file), and then switch skins or restart MediaMonkey to see your work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that 2 icons aren’t exactly icons:&lt;br /&gt;
*NoAArt.png for unknown art in Album Art window&lt;br /&gt;
*NoAArtNew.png for unknown art in Album Art views&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customizing the Player===&lt;br /&gt;
&lt;br /&gt;
====Basic Information====&lt;br /&gt;
MediaMonkey v3 (MM3) comes with a new feature called Skinnable Player, which supports user defined player with its own skins (independent of MM skin).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are 3 players in MM3:&lt;br /&gt;
#Classic player in the main window.&lt;br /&gt;
#Mini-player (MiniMonkey mode in older versions of MM)&lt;br /&gt;
#Toolbar controller (new player placed on windows taskbar)&lt;br /&gt;
&lt;br /&gt;
All of these players can be unique with different design and look.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Player Files====&lt;br /&gt;
Every player skin is stored and defined in 2 files defining its skin and settings.&lt;br /&gt;
&lt;br /&gt;
Classic player is defined in files &#039;&#039;&#039;Player.mskn&#039;&#039;&#039; and &#039;&#039;&#039;Player.ini&#039;&#039;&#039;.&lt;br /&gt;
Mini-player player is defined in files &#039;&#039;&#039;FloatPlayer.mskn&#039;&#039;&#039; and &#039;&#039;&#039;FloatPlayer.ini&#039;&#039;&#039;.&lt;br /&gt;
Toolbar controller can have two types: horizontal (when taskbar is on top or bottom edge of the screen) or vertical (when taskbar is on left or right edge of the screen). File name format for these types is &#039;&#039;&#039;MicroPlayerH&#039;&#039;&#039; (for horizontal) and &#039;&#039;&#039;MicroPlayerV&#039;&#039;&#039; (for vertical). Horizontal toolbar controller is then defined in &#039;&#039;&#039;MicroPlayerH.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerH.ini&#039;&#039;&#039;, and vertical in &#039;&#039;&#039;MicroPlayerV.mskn&#039;&#039;&#039; and &#039;&#039;&#039;MicroPlayerV.ini&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MSKN file is standard ThemeEngine 6 (older version of TE can be used, but with no warranty) format with maximum compression. See to MSKN File section for more information about this file.&lt;br /&gt;
&lt;br /&gt;
INI file is configuration file in a text mode and can be edited with any text editor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of these files must be stored in WSZ file with MM3s skin together. WSZ file is standard ZIP file with a changed file extension only.&lt;br /&gt;
&lt;br /&gt;
When any of players in MM3 hasn’t its files in WSZ, MM3 uses built-in skin for missing player.&lt;br /&gt;
&lt;br /&gt;
For development purposes, individual skin files don’t have to be packed in WSZ file, but can be stored all in a subfolder of MM\Skins folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MSKN File====&lt;br /&gt;
Players MSKN file can contain these objects:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PlayerBackground&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Defines background of the Player. This object must contain object Frame and into this object you can store all parts of player background (like left side, center and right side).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
PlayerBackground&lt;br /&gt;
:Frame&lt;br /&gt;
::LeftSide&lt;br /&gt;
::Center&lt;br /&gt;
::RightSide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With this hierarchy you can define player, which can be resized (center part can be tiled, stretched etc. when player is being resized).&lt;br /&gt;
&lt;br /&gt;
Every player can have transparent parts of its design. One requirement is, that every transparent part must have the same color as color in upper left corner (point 0;0).&lt;br /&gt;
&lt;br /&gt;
PlayButton, PauseButton, StopButton, PrevButton, NextButton, PlayPauseButton, ShuffleButton, ContinousButton, PlaylistButton, AutoDJButton (ButtonObject)&lt;br /&gt;
&lt;br /&gt;
These objects represent basic player buttons. When you need to use more than 3 state buttons (like for PlayPauseButton where you need to design button for play and for pause both), then you can create objects with _UP and _DOWN postfixes and in INI file set to StateButton type (see below).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SeekBar, BalanceBar, VolumeBar&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every seekbar can define its background (in these objects) and can define slider design with HorzSlider or VertSlider as its descendant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
SeekBar - this object defines seekbar background&lt;br /&gt;
:HorzSlider - this object defines horizontal slider for seekbar&lt;br /&gt;
:VertSlider - this object defines vertical slider for seekbar&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualization {Left/Right}&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This object defines bitmap for visualization background. If you use themed visualization then you must define VisualizationLeft and VisualizationRight (instead of Visualization) as backgrounds for left and right channels.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualizations&#039;&#039;&#039; (SkinObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Container for themed visualization bands. In this container you can define visualization steps for separate channels or for both together. All visualizations steps is defined as LeftBand&#039;&#039;0&#039;&#039;..LeftBand&#039;&#039;n&#039;&#039;, RightBand&#039;&#039;0&#039;&#039;..RightBand&#039;&#039;n&#039;&#039; or Band&#039;&#039;0&#039;&#039;..Band&#039;&#039;n&#039;&#039; for both channels. Number of steps is defined in INI file of the player.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MonoStereoLabel&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Indicator for mono/stereo. Mono indicator put into Bitmap and stereo into BitmapDisabled.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DigitPanels&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Every digit panel uses bitmaps for its digits. In skin you can create 2 types of digits: small and normal.&lt;br /&gt;
Normal digits are named as Digit%, DigitEmpty and DigitNegative, where % is value (like Digit0, Digit4 etc.).&lt;br /&gt;
Small digits have the same rules as normal digits, but name is SmallDigit.&lt;br /&gt;
For normal digits you can define TimeDivider object, which represents digits divider (like ‘:’, ‘-‘ etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rating&#039;&#039;&#039; (ButtonObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This button object is used for manage rating on a skin. There are need to be defined Bitmap and BitmapDisabled fields, where Bitmap is “highlighted” rating star and BitmapDisabled is “grayed” rating star.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusPanel&#039;&#039;&#039; (BitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;This panel is used as background for player’s status signs (like “playing”, “paused” etc.).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;StatusImages/*&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Status images for player’s status (can be defined StatusPlay, StatusStop and StatusPause).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AlbumArt&#039;&#039;&#039; (TBitmapObject)&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 25px;&amp;quot;&amp;gt;Custom defined AlbumArt image for tracks, that doesn’t have defined cover.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====INI File====&lt;br /&gt;
In ini file is many sections which corresponds with most names in MSKN file and can contain:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;PlayerSkin&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Basic information about skin and can contain these values:&lt;br /&gt;
;EngineVersion&lt;br /&gt;
:for which version of SkinnablePlayer is this skin designed (default 100 as 1.00 version)&lt;br /&gt;
;Resizable&lt;br /&gt;
:How can be skin resizeable. You can type 4 values with left, top, right and bottom sequence delimited with comma.&lt;br /&gt;
: -&lt;br /&gt;
:Example :&lt;br /&gt;
:Resizeable=1,0,1,0 – skin can be resized by left and right edges&lt;br /&gt;
;Size&lt;br /&gt;
:Initial size of skin.&lt;br /&gt;
;TimeFormat&lt;br /&gt;
:Default time format. Acceptable masks are d (day), h (hour), m (minutes), s (seconds). Upper case of D or H masks can be used to show these values only if it&#039;s not equal to zero. For example format HH:mm:ss shows :&lt;br /&gt;
:01:40:30 if time is longer than an hour&lt;br /&gt;
:40:30 if time is less than an hour&lt;br /&gt;
;DockAtMostBottom&lt;br /&gt;
:This value defines if player can be docked at most bottom (under status bar) in main window.&lt;br /&gt;
;DockLocked&lt;br /&gt;
:If this value is set to 1, player is always docked in it’s default position and can’t be docked to any other position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sections can have these names:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PlayPauseButton, SeekBar, VolumeBar, BalanceBar, PrevButton, PlayButton, PauseButton, StopButton, NextButton, ShuffleButton, ContinousButton, AutoDJButton, MonoStereo, SongTitle, TimeDisplay, SearchBar, EQButton, PlaylistButton, KbpsDisplay, FreqDisplay, AlbumArt, Visualization (for standard MM build-in visualization), VisualizationLeft and VisualizationRight (for user themed visualization), MinimizeButton, MaximizeButton, CloseButton, SwitchButton, Rating, StatusPanel, MuteButton, EjectButton&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Type of an object is defined by Type value and can be one of this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Button, StateButton, DigitPanel, Text, TrackBar, BitmapLabel, Panel&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note : Rating and StatusPanel objects must be a type PANEL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other values, which can be defined:&lt;br /&gt;
&lt;br /&gt;
;Resizable&lt;br /&gt;
:Defines, if object can be resized when user resizes player in Left,Top,Right,Bottom format. Also it defines controls alignment while resizing. If you define left/right or top/bottom to 0, control always stays in it’s position relative to resized size (e.g. if control in basic size will be on center and player is resized, then control will always be on center).&lt;br /&gt;
;Pos&lt;br /&gt;
:Position of the object in Left,Top format.&lt;br /&gt;
;Size&lt;br /&gt;
:Size of the object in Width,Height format. (Note: when height is greater than width, then object is defined as vertical .. this is usable for defining vertical seekbars).&lt;br /&gt;
;Transperent&lt;br /&gt;
:Ability to be transparent (1 indicates YES, 0 no).&lt;br /&gt;
;TextMask&lt;br /&gt;
:Text mask define which and how data is showed. See below for which masks can be used.&lt;br /&gt;
;SmallDigits (only for DigitPanel type)&lt;br /&gt;
:Defines, if digit panel uses small or normal digits (more about it at MSKN File section). 1 is Yes, 0 no.&lt;br /&gt;
;ThumbSize (only for TrackBar type)&lt;br /&gt;
:Defines thumb size.&lt;br /&gt;
;ShowLimitH, ShowLimitV&lt;br /&gt;
:These values defines horizontal and vertical limits for showing defined object. If players width/height is smaller than defined limit, then object is invisible.&lt;br /&gt;
;FontColor&lt;br /&gt;
:This value is used only for text objects. It defines font color in format RRGGBB (like FFFFFF is white color).&lt;br /&gt;
;FontHeight&lt;br /&gt;
:This value is used only for text objects. It defines font height in pixels.&lt;br /&gt;
;FontName&lt;br /&gt;
:User defined font for text object.&lt;br /&gt;
;TextAlign&lt;br /&gt;
:Text aligning. Can be -1 for left-align, 0 for center or 1 for right-align.&lt;br /&gt;
;TrackReversed&lt;br /&gt;
:Basic trackbar orientation have min value at the left or top of the trackbar. With this boolean value you can reverse this orientation (like for vertical volume bar which has max at the top of the trackbar). This is usable only for trackbars.&lt;br /&gt;
;Steps&lt;br /&gt;
:Defines steps of the user themed visualization. Images for this steps is defined in MSKN in Visualizations container.&lt;br /&gt;
;Scrollable&lt;br /&gt;
:For text objects it can be defined for enable/disable scrolling functionality (like for time display).&lt;br /&gt;
;CenterOffsetX, CenterOffsetY&lt;br /&gt;
:This values defines contant position of the object relative to player center (left/top edge of the object). Like CenterOffsetX=-20 defines, that the objects left edge will be always 20px left of the center of the player.&lt;br /&gt;
;Lock&amp;lt;edge&amp;gt;Distance, Lock&amp;lt;edge&amp;gt;Object&lt;br /&gt;
:Control can be locked by any of edge to any other control. If control, which is locked to is moved or sized, this control is automatically adjusted. Like:&lt;br /&gt;
:LockRightDistance=-50 - right edge of the object will be always 50 pixels left from&lt;br /&gt;
:LockRightObject=PrevButton - PrevButton’s left edge&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By default, skinning engine detects buttons clicking area as non-transparent parts of the buttons. In some cases (like when you’re using images with alpha channel), this detection can be very limited. For this reason, every buttons can have it’s own mask in BitmapFocused property of the button object.&lt;br /&gt;
&lt;br /&gt;
In addition you can use custom defined objects, which lets you to give to your skin more functionality and lucidity.&lt;br /&gt;
Custom objects can be defined as Custom% (where % is unique number for anyone custom field, e.g. Custom1, Custom2, Custom3 etc.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switching between all players can be done via MediaMonkey (system’s minimize button and/or settings of the MediaMonkey) or you can use Player buttons:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MinimizeButton&#039;&#039;&#039; – in main player it switches to mini-monkey. In mini-monkey it uses MM settings for minimize.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SwitchButton&#039;&#039;&#039; – switches to micro-player (in all cases)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MaximizeButton&#039;&#039;&#039; – maximizes to main from mini-monkey or micro-monkey&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CloseButton&#039;&#039;&#039; – closes whole MM&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Custom objects can have this fields:&lt;br /&gt;
&#039;&#039;&#039;Pos, Size, Transperent, TextMask, ShowLimitH, ShowLimitV&#039;&#039;&#039;&lt;br /&gt;
:These fields has a same sense as above.&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
:Types for custom objects is same as for classic objects, but any new types are allowed :&lt;br /&gt;
::IMAGE&lt;br /&gt;
:::Image control. Source of the image is defined in Source field (see below)&lt;br /&gt;
&#039;&#039;&#039;Source&#039;&#039;&#039;&lt;br /&gt;
:Source for image object (image path and filename relative to MM directory) or “&amp;lt;Cover&amp;gt;” text to show album cover of the loaded track.&lt;br /&gt;
&lt;br /&gt;
====Usable Masks====&lt;br /&gt;
mm:ss – time format (can be used with digit panels like TimeDisplay)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; - any digit: MM3 replaces # char with digit. You can use more than one # char (for 3 digits you can use ### etc.). This can be used with digit panels like FreqDisplay etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; %A – Artist&lt;br /&gt;
&amp;lt;br&amp;gt; %R – Album artist&lt;br /&gt;
&amp;lt;br&amp;gt; %L – Album&lt;br /&gt;
&amp;lt;br&amp;gt; %S – Song&lt;br /&gt;
&amp;lt;br&amp;gt; %P – Playlist position&lt;br /&gt;
&amp;lt;br&amp;gt; %I – Song position&lt;br /&gt;
&amp;lt;br&amp;gt; %H – Song length&lt;br /&gt;
&amp;lt;br&amp;gt; %J – Time to play&lt;br /&gt;
&amp;lt;br&amp;gt; %G – Genre&lt;br /&gt;
&amp;lt;br&amp;gt; %C – Author&lt;br /&gt;
&amp;lt;br&amp;gt; %U – Custom1&lt;br /&gt;
&amp;lt;br&amp;gt; %V – Custom2&lt;br /&gt;
&amp;lt;br&amp;gt; %W – Custom3&lt;br /&gt;
&amp;lt;br&amp;gt; %E – Songs file extension &lt;br /&gt;
&amp;lt;br&amp;gt; %F – Filename&lt;br /&gt;
&amp;lt;br&amp;gt; %Y – Year&lt;br /&gt;
&amp;lt;br&amp;gt; %T – Song order&lt;br /&gt;
&amp;lt;br&amp;gt; %B – Bitrate&lt;br /&gt;
&amp;lt;br&amp;gt; %M – Songs BPM&lt;br /&gt;
&amp;lt;br&amp;gt; %D – Temporary order&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt; &#039;&#039;Available in Alpha 5 and newer builds;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt; %Cn - custom field (n must be between 1 and 5)&lt;br /&gt;
&amp;lt;br&amp;gt; %PC - current track in playlist&lt;br /&gt;
&amp;lt;br&amp;gt; %PT - total tracks in playlist&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEditEvents::OnChange&amp;diff=3360</id>
		<title>ISDBUIMaskEditEvents::OnChange</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEditEvents::OnChange&amp;diff=3360"/>
		<updated>2008-03-03T22:00:37Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEditEvents|Sub OnChange(Control As Object)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Control |Object |}}&lt;br /&gt;
&lt;br /&gt;
===Event description===&lt;br /&gt;
&lt;br /&gt;
This event if fired when text of the mask edit control is changed.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEditEvents|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskHelpPreset&amp;diff=3359</id>
		<title>ISDBUIMaskEdit::MaskHelpPreset</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskHelpPreset&amp;diff=3359"/>
		<updated>2008-03-03T21:59:27Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Sub MaskHelpPreset(ID As Integer)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ID |Integer |ID of the default mask help preset.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Adds complete mask help preset defined by it&#039;s ID. The default presets are :&lt;br /&gt;
&lt;br /&gt;
  ID = 0                    ID = 1                    ID = 2                    ID = 3&lt;br /&gt;
  Title                     Title                     Title                     Title&lt;br /&gt;
  File Name                 File Name                 File Name                 File Name&lt;br /&gt;
  Track#                    Track#                    Disc#                     Disc#&lt;br /&gt;
  Auto Number               Auto Number               Track#                    Track#&lt;br /&gt;
  Random                    Random                    Auto Number               Auto Number&lt;br /&gt;
  --------------------      --------------------      Random                    Random&lt;br /&gt;
  /                         /                         --------------------      --------------------&lt;br /&gt;
  -                         -                         /                         /&lt;br /&gt;
  --------------------      --------------------      -                         -&lt;br /&gt;
  Artist                    Artist                    --------------------      --------------------&lt;br /&gt;
  Album Artist              Album Artist              Artist                    Playlist&lt;br /&gt;
  Album                     Album                     Album Artist              Artist&lt;br /&gt;
  Genre                     Genre                     Album                     Album Artist&lt;br /&gt;
  Date                      Date                      Genre                     Album&lt;br /&gt;
  Composer                  Composer                  Date                      Genre&lt;br /&gt;
  Conductor                 Conductor                 Composer                  Date&lt;br /&gt;
  Bitrate                   Bitrate                   Conductor                 Composer&lt;br /&gt;
  BPM                       BPM                       Bitrate                   Conductor&lt;br /&gt;
  Folder                    Folder                    BPM                       Bitrate&lt;br /&gt;
  Custom Field 1            Custom Field 1            Folder                    BPM&lt;br /&gt;
  Custom Field 2            Custom Field 2            Custom Field 1            Folder&lt;br /&gt;
  Custom Field 3            Custom Field 3            Custom Field 2            Custom Field 1&lt;br /&gt;
  Custom Field 4            Custom Field 4            Custom Field 3            Custom Field 2&lt;br /&gt;
  Custom Field 5            Custom Field 5            Custom Field 4            Custom Field 3&lt;br /&gt;
  Grouping                  Grouping                  Custom Field 5            Custom Field 4&lt;br /&gt;
  --------------------                                Grouping                  Custom Field 5&lt;br /&gt;
  Help                                                --------------------      Grouping&lt;br /&gt;
                                                      Help                      --------------------&lt;br /&gt;
                                                                                Help&lt;br /&gt;
&lt;br /&gt;
  ID = 4                    ID = 5                    ID = 6&lt;br /&gt;
  Title                     Title                     Title&lt;br /&gt;
  Disc#                     File Name                 File Name&lt;br /&gt;
  Track#                    Disc#                     Disc#&lt;br /&gt;
  --------------------      Track#                    Track#&lt;br /&gt;
  /                         --------------------      Auto Number&lt;br /&gt;
  -                         /                         Playlist&lt;br /&gt;
  --------------------      -                         Random&lt;br /&gt;
  Playlist                  --------------------      --------------------&lt;br /&gt;
  Artist                    Artist                    /&lt;br /&gt;
  Album Artist              Album Artist              -&lt;br /&gt;
  Album                     Album                     --------------------&lt;br /&gt;
  Genre                     Genre                     Artist&lt;br /&gt;
  Date                      Date                      Album Artist&lt;br /&gt;
  Composer                  Composer                  Album&lt;br /&gt;
  Conductor                 Conductor                 Genre&lt;br /&gt;
  Bitrate                   Bitrate                   Date&lt;br /&gt;
  BPM                       BPM                       Composer&lt;br /&gt;
  Folder                    Folder                    Conductor&lt;br /&gt;
  Custom Field 1            Custom Field 1            Bitrate&lt;br /&gt;
  Custom Field 2            Custom Field 2            BPM&lt;br /&gt;
  Custom Field 3            Custom Field 3            Folder&lt;br /&gt;
  Custom Field 4            Custom Field 4            Custom Field 1&lt;br /&gt;
  Custom Field 5            Custom Field 5            Custom Field 2&lt;br /&gt;
  Grouping                  Grouping                  Custom Field 3&lt;br /&gt;
  --------------------      --------------------      Custom Field 4&lt;br /&gt;
  Help                      Help                      Custom Field 5&lt;br /&gt;
                                                      Grouping&lt;br /&gt;
                                                      --------------------&lt;br /&gt;
                                                      Help&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskHelpPreset&amp;diff=3358</id>
		<title>ISDBUIMaskEdit::MaskHelpPreset</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskHelpPreset&amp;diff=3358"/>
		<updated>2008-03-03T21:59:15Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Sub MaskHelpPreset(ID As Integer)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ID |Integer |ID of the default mask help presets.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Adds complete mask help preset defined by it&#039;s ID. The default presets are :&lt;br /&gt;
&lt;br /&gt;
  ID = 0                    ID = 1                    ID = 2                    ID = 3&lt;br /&gt;
  Title                     Title                     Title                     Title&lt;br /&gt;
  File Name                 File Name                 File Name                 File Name&lt;br /&gt;
  Track#                    Track#                    Disc#                     Disc#&lt;br /&gt;
  Auto Number               Auto Number               Track#                    Track#&lt;br /&gt;
  Random                    Random                    Auto Number               Auto Number&lt;br /&gt;
  --------------------      --------------------      Random                    Random&lt;br /&gt;
  /                         /                         --------------------      --------------------&lt;br /&gt;
  -                         -                         /                         /&lt;br /&gt;
  --------------------      --------------------      -                         -&lt;br /&gt;
  Artist                    Artist                    --------------------      --------------------&lt;br /&gt;
  Album Artist              Album Artist              Artist                    Playlist&lt;br /&gt;
  Album                     Album                     Album Artist              Artist&lt;br /&gt;
  Genre                     Genre                     Album                     Album Artist&lt;br /&gt;
  Date                      Date                      Genre                     Album&lt;br /&gt;
  Composer                  Composer                  Date                      Genre&lt;br /&gt;
  Conductor                 Conductor                 Composer                  Date&lt;br /&gt;
  Bitrate                   Bitrate                   Conductor                 Composer&lt;br /&gt;
  BPM                       BPM                       Bitrate                   Conductor&lt;br /&gt;
  Folder                    Folder                    BPM                       Bitrate&lt;br /&gt;
  Custom Field 1            Custom Field 1            Folder                    BPM&lt;br /&gt;
  Custom Field 2            Custom Field 2            Custom Field 1            Folder&lt;br /&gt;
  Custom Field 3            Custom Field 3            Custom Field 2            Custom Field 1&lt;br /&gt;
  Custom Field 4            Custom Field 4            Custom Field 3            Custom Field 2&lt;br /&gt;
  Custom Field 5            Custom Field 5            Custom Field 4            Custom Field 3&lt;br /&gt;
  Grouping                  Grouping                  Custom Field 5            Custom Field 4&lt;br /&gt;
  --------------------                                Grouping                  Custom Field 5&lt;br /&gt;
  Help                                                --------------------      Grouping&lt;br /&gt;
                                                      Help                      --------------------&lt;br /&gt;
                                                                                Help&lt;br /&gt;
&lt;br /&gt;
  ID = 4                    ID = 5                    ID = 6&lt;br /&gt;
  Title                     Title                     Title&lt;br /&gt;
  Disc#                     File Name                 File Name&lt;br /&gt;
  Track#                    Disc#                     Disc#&lt;br /&gt;
  --------------------      Track#                    Track#&lt;br /&gt;
  /                         --------------------      Auto Number&lt;br /&gt;
  -                         /                         Playlist&lt;br /&gt;
  --------------------      -                         Random&lt;br /&gt;
  Playlist                  --------------------      --------------------&lt;br /&gt;
  Artist                    Artist                    /&lt;br /&gt;
  Album Artist              Album Artist              -&lt;br /&gt;
  Album                     Album                     --------------------&lt;br /&gt;
  Genre                     Genre                     Artist&lt;br /&gt;
  Date                      Date                      Album Artist&lt;br /&gt;
  Composer                  Composer                  Album&lt;br /&gt;
  Conductor                 Conductor                 Genre&lt;br /&gt;
  Bitrate                   Bitrate                   Date&lt;br /&gt;
  BPM                       BPM                       Composer&lt;br /&gt;
  Folder                    Folder                    Conductor&lt;br /&gt;
  Custom Field 1            Custom Field 1            Bitrate&lt;br /&gt;
  Custom Field 2            Custom Field 2            BPM&lt;br /&gt;
  Custom Field 3            Custom Field 3            Folder&lt;br /&gt;
  Custom Field 4            Custom Field 4            Custom Field 1&lt;br /&gt;
  Custom Field 5            Custom Field 5            Custom Field 2&lt;br /&gt;
  Grouping                  Grouping                  Custom Field 3&lt;br /&gt;
  --------------------      --------------------      Custom Field 4&lt;br /&gt;
  Help                      Help                      Custom Field 5&lt;br /&gt;
                                                      Grouping&lt;br /&gt;
                                                      --------------------&lt;br /&gt;
                                                      Help&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3357</id>
		<title>SDBUIMaskEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3357"/>
		<updated>2008-03-03T21:39:48Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* ISDBUIMaskEdit members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUIMaskEdit ==&lt;br /&gt;
&lt;br /&gt;
Mask Edit (UI element).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.3.1141.&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEdit members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEdit::Common|Common]] |Property Get |  &lt;br /&gt;
|[[ISDBUIMaskEdit::Text|Text]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::PathPart|PathPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskPart|MaskPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemIndex|ItemIndex]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemCount|ItemCount]] |Property Get |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemText|ItemText]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::WizardEnabled|WizardEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseEnabled|BrowseEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseTitle|BrowseTitle]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::VirtualDir|VirtualDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::CanDefineDirs|CanDefineDirs]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::SampleSongObject|SampleSongObject]] |Property Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::RootDir|RootDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMask|AddMask]] |Method |&lt;br /&gt;
|[[ISDBUIMaskEdit::DeleteMask|DeleteMask]] |Method |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMaskHelp|AddMaskHelp]] |Method |&lt;br /&gt;
|[[ISDBUIMaskEdit::ClearMaskHelp|ClearMaskHelp]] |Method |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskHelpPreset|MaskHelpPreset]] |Method |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEditEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEditEvents::OnChange|OnChange]] |Event |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ClearMaskHelp&amp;diff=3356</id>
		<title>ISDBUIMaskEdit::ClearMaskHelp</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ClearMaskHelp&amp;diff=3356"/>
		<updated>2008-03-03T21:39:10Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Sub ClearMask}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Removes all masks from mask help drop down.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::AddMaskHelp&amp;diff=3355</id>
		<title>ISDBUIMaskEdit::AddMaskHelp</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::AddMaskHelp&amp;diff=3355"/>
		<updated>2008-03-03T21:38:15Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Sub AddMaskHelp(Mask As String)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Mask |String |Mask to be added into drop down help.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Add new mask to the drop down help. You should use &amp;quot;short&amp;quot; masks (like %T). Also you can use :&lt;br /&gt;
  -           Separator&lt;br /&gt;
  /           Path Delimiter&lt;br /&gt;
 {empty}      Vertical delimiting line&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::DeleteMask&amp;diff=3354</id>
		<title>ISDBUIMaskEdit::DeleteMask</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::DeleteMask&amp;diff=3354"/>
		<updated>2008-03-03T21:29:17Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Sub DeleteMask(Index As Integer)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Index |Integer |Index of the item to be deleted.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Deletes item from the list.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::AddMask&amp;diff=3353</id>
		<title>ISDBUIMaskEdit::AddMask</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::AddMask&amp;diff=3353"/>
		<updated>2008-03-03T21:28:02Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Sub AddMask(Text As String)}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Text |String |Mask to be added into drop down list.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Add new mask item to the list.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::RootDir&amp;diff=3352</id>
		<title>ISDBUIMaskEdit::RootDir</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::RootDir&amp;diff=3352"/>
		<updated>2008-03-03T21:25:03Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Root folder for defining of the final path in case user will use &amp;quot;..&amp;quot; or &amp;quot;\&amp;quot; at the beginning of the mask. It&#039;s set automatically if mask text contains any path part.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::SampleSongObject&amp;diff=3351</id>
		<title>ISDBUIMaskEdit::SampleSongObject</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::SampleSongObject&amp;diff=3351"/>
		<updated>2008-03-03T21:22:59Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Let SD As SDBSongData}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Sample track data for visual example in Options Wizard.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::CanDefineDirs&amp;diff=3350</id>
		<title>ISDBUIMaskEdit::CanDefineDirs</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::CanDefineDirs&amp;diff=3350"/>
		<updated>2008-03-03T21:21:41Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Value As Boolean}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Defines possibility to use folder in mask edit (if disabled, only masks will be allowed).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::VirtualDir&amp;diff=3349</id>
		<title>ISDBUIMaskEdit::VirtualDir</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::VirtualDir&amp;diff=3349"/>
		<updated>2008-03-03T21:19:23Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Virtual folder for use in Options Wizard dialog.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::BrowseTitle&amp;diff=3348</id>
		<title>ISDBUIMaskEdit::BrowseTitle</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::BrowseTitle&amp;diff=3348"/>
		<updated>2008-03-03T21:18:55Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Caption of the Browse window.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::BrowseEnabled&amp;diff=3347</id>
		<title>ISDBUIMaskEdit::BrowseEnabled</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::BrowseEnabled&amp;diff=3347"/>
		<updated>2008-03-03T21:18:37Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Value As Boolean}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Visibility of the Browse button.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::WizardEnabled&amp;diff=3346</id>
		<title>ISDBUIMaskEdit::WizardEnabled</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::WizardEnabled&amp;diff=3346"/>
		<updated>2008-03-03T21:18:10Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Value As Boolean}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Visibility of the Options Wizard button.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ItemText&amp;diff=3345</id>
		<title>ISDBUIMaskEdit::ItemText</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ItemText&amp;diff=3345"/>
		<updated>2008-03-03T21:16:58Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let ItemText(Index As Long) As String}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |Index |Long |Index of item to be get/set.}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Text of item specified by &#039;index&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3344</id>
		<title>SDBUIMaskEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3344"/>
		<updated>2008-03-03T21:16:03Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* ISDBUIMaskEdit members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUIMaskEdit ==&lt;br /&gt;
&lt;br /&gt;
Mask Edit (UI element).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.3.1141.&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEdit members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEdit::Common|Common]] |Property Get |  &lt;br /&gt;
|[[ISDBUIMaskEdit::Text|Text]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::PathPart|PathPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskPart|MaskPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemIndex|ItemIndex]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemCount|ItemCount]] |Property Get |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemText|ItemText]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::WizardEnabled|WizardEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseEnabled|BrowseEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseTitle|BrowseTitle]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::VirtualDir|VirtualDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::CanDefineDirs|CanDefineDirs]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::SampleSongObject|SampleSongObject]] |Property Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::RootDir|RootDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMask|AddMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::DeleteMask|DeleteMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMaskHelp|AddMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::ClearMaskHelp|ClearMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskHelpPreset|MaskHelpPreset]] |Function |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEditEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEditEvents::OnChange|OnChange]] |Event |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ItemCount&amp;diff=3343</id>
		<title>ISDBUIMaskEdit::ItemCount</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ItemCount&amp;diff=3343"/>
		<updated>2008-03-03T21:15:03Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
The total number of items in the list.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskPart&amp;diff=3342</id>
		<title>ISDBUIMaskEdit::MaskPart</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskPart&amp;diff=3342"/>
		<updated>2008-03-03T21:14:31Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* Property description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
The mask part of the current value that is entered in the control. You should always use &amp;quot;short&amp;quot; type of mask (like %T).&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ItemIndex&amp;diff=3341</id>
		<title>ISDBUIMaskEdit::ItemIndex</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::ItemIndex&amp;diff=3341"/>
		<updated>2008-03-03T21:13:52Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Index of the currently selected item. -1 means that there isn&#039;t any item selected.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskPart&amp;diff=3340</id>
		<title>ISDBUIMaskEdit::MaskPart</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::MaskPart&amp;diff=3340"/>
		<updated>2008-03-03T21:11:25Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
The mask part of the current value that is entered in the control.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::PathPart&amp;diff=3339</id>
		<title>ISDBUIMaskEdit::PathPart</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::PathPart&amp;diff=3339"/>
		<updated>2008-03-03T21:11:05Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
The path part of the current value that is entered in the control.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::Text&amp;diff=3338</id>
		<title>ISDBUIMaskEdit::Text</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::Text&amp;diff=3338"/>
		<updated>2008-03-03T21:07:42Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|Property Get/Let Text As String}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
The current value that is entered in the control.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::Common&amp;diff=3337</id>
		<title>ISDBUIMaskEdit::Common</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUIMaskEdit::Common&amp;diff=3337"/>
		<updated>2008-03-03T21:05:13Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUIMaskEdit|ISDBUIMaskEdit|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 SDBUIMaskEdit|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3336</id>
		<title>SDBUIMaskEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3336"/>
		<updated>2008-03-03T21:03:03Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUIMaskEdit ==&lt;br /&gt;
&lt;br /&gt;
Mask Edit (UI element).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.3.1141.&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEdit members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEdit::Common|Common]] |Property Get |  &lt;br /&gt;
|[[ISDBUIMaskEdit::Text|Text]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::PathPart|PathPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskPart|MaskPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemIndex|ItemIndex]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemCount|ItemCount]] |Property Get |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemText|ItemText]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::WizardEnabled|WizardEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseEnabled|BrowseEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseTitle|BrowseTitle]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::VirtualDir|VirtualDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::CanDefineDirs|CanDefineDirs]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::SampleSongObject|SampleSongObject]] |Property Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::RootDir|RootDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMask|AddMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::DeleteMask|DeleteMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMaskHelp|AddMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::ClearMaskHelp|ClearMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskHelpPreset|MaskHelpPreset]] |Function |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEditEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEditEvents::OnChange|OnChange]] |Event |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUIMaskEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3335</id>
		<title>SDBUIMaskEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3335"/>
		<updated>2008-03-03T21:02:15Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUIMaskEdit ==&lt;br /&gt;
&lt;br /&gt;
Mask Edit (UI element).&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.3.1141.&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEdit members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEdit::Common|Common]] |Property Get |  &lt;br /&gt;
|[[ISDBUIMaskEdit::Text|Text]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::PathPart|PathPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskPart|MaskPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemIndex|ItemIndex]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemCount|ItemCount]] |Property Get |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemText|ItemText]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::WizardEnabled|WizardEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseEnabled|BrowseEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseTitle|BrowseTitle]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::VirtualDir|VirtualDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::CanDefineDirs|CanDefineDirs]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::SampleSongObject|SampleSongObject]] |Property Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::RootDir|RootDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMask|AddMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::DeleteMask|DeleteMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMaskHelp|AddMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::ClearMaskHelp|ClearMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskHelpPreset|MaskHelpPreset]] |Function |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEditEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEditEvents::OnChange|OnChange]] |Event |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUISpinEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3334</id>
		<title>SDBUIMaskEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUIMaskEdit&amp;diff=3334"/>
		<updated>2008-03-03T20:59:37Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUIMaskEdit ==&lt;br /&gt;
&lt;br /&gt;
Mask Edit (UI element).&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEdit members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEdit::Common|Common]] |Property Get |  &lt;br /&gt;
|[[ISDBUIMaskEdit::Text|Text]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::PathPart|PathPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskPart|MaskPart]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemIndex|ItemIndex]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemCount|ItemCount]] |Property Get |&lt;br /&gt;
|[[ISDBUIMaskEdit::ItemText|ItemText]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::WizardEnabled|WizardEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseEnabled|BrowseEnabled]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::BrowseTitle|BrowseTitle]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::VirtualDir|VirtualDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::CanDefineDirs|CanDefineDirs]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::SampleSongObject|SampleSongObject]] |Property Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::RootDir|RootDir]] |Property Get/Let |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMask|AddMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::DeleteMask|DeleteMask]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::AddMaskHelp|AddMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::ClearMaskHelp|ClearMaskHelp]] |Function |&lt;br /&gt;
|[[ISDBUIMaskEdit::MaskHelpPreset|MaskHelpPreset]] |Function |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ISDBUIMaskEditEvents members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUIMaskEditEvents::OnChange|OnChange]] |Event |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUISpinEdit|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewMaskEdit&amp;diff=3333</id>
		<title>ISDBUI::NewMaskEdit</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBUI::NewMaskEdit&amp;diff=3333"/>
		<updated>2008-03-03T20:50:14Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBUI|ISDBUI|Property Get NewMaskEdit(Owner As Object) As [[SDBUIMaskEdit]]}}&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 mask editor.&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>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBUI&amp;diff=3332</id>
		<title>SDBUI</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBUI&amp;diff=3332"/>
		<updated>2008-03-03T20:48:53Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* ISDBUI members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBUI ==&lt;br /&gt;
&lt;br /&gt;
Object for manipulation of User Interface elements.&lt;br /&gt;
&lt;br /&gt;
=== ISDBUI members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBUI::AddMenuItem|AddMenuItem]] |Method |  &lt;br /&gt;
|[[ISDBUI::AddMenuItemSep|AddMenuItemSep]] |Method |  &lt;br /&gt;
|[[ISDBUI::AddMenuItemSub|AddMenuItemSub]] |Method |  &lt;br /&gt;
|[[ISDBUI::AddOptionSheet|AddOptionSheet]] |Method |  &lt;br /&gt;
|[[ISDBUI::DeleteOptionSheet|DeleteOptionSheet]] |Method |  &lt;br /&gt;
|[[ISDBUI::Menu_Edit|Menu_Edit]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Export|Menu_Export]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_File|Menu_File]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Help|Menu_Help]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Play|Menu_Play]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_NP|Menu_Pop_NP]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_NP_MainWindow|Menu_Pop_NP_MainWindow]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_NP_MoreFrom|Menu_Pop_NP_MoreFrom]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_NP_SendTo|Menu_Pop_NP_SendTo]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_TrackList|Menu_Pop_TrackList]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_TrackList_MoreFrom|Menu_Pop_TrackList_MoreFrom]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_TrackList_SendTo|Menu_Pop_TrackList_SendTo]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_Tree|Menu_Pop_Tree]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Pop_Tree_SendTo|Menu_Pop_Tree_SendTo]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Scripts|Menu_Scripts]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbAdvanced|Menu_TbAdvanced]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbCategorize|Menu_TbCategorize]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbEdit|Menu_TbEdit]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbNavigation|Menu_TbNavigation]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbNPEdit|Menu_TbNPEdit]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbNPList|Menu_TbNPList]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbNPMain|Menu_TbNPMain]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbSearch|Menu_TbSearch]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TbStandard|Menu_TbStandard]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_Tools|Menu_Tools]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_TrayIcon|Menu_TrayIcon]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::Menu_View|Menu_View]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewActiveX|NewActiveX]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewButton|NewButton]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewCheckBox|NewCheckBox]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewDockablePanel|NewDockablePanel]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewDockablePersistentPanel|NewDockablePersistentPanel]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewDropDown|NewDropDown]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewEdit|NewEdit]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewForm|NewForm]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewGroupBox|NewGroupBox]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewLabel|NewLabel]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewMultiLineEdit|NewMultiLineEdit]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewPanel|NewPanel]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewRadioButton|NewRadioButton]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewSpinEdit|NewSpinEdit]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewTrackBar|NewTrackBar]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewTranspPanel|NewTranspPanel]] |Property Get |  &lt;br /&gt;
|[[ISDBUI::NewMaskEdit|NewMaskEdit]] |Property Get |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBUI|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::ActiveFilterID&amp;diff=3193</id>
		<title>ISDBDatabase::ActiveFilterID</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::ActiveFilterID&amp;diff=3193"/>
		<updated>2008-02-04T21:03:27Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* Property description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDatabase|ISDBDatabase|Property Get/Set ActiveFilterID As Integer}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Gets/Sets active filter ID. To disable filtering use -1 value as filter ID.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.2.1135.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::ActiveFilterID&amp;diff=3192</id>
		<title>ISDBDatabase::ActiveFilterID</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::ActiveFilterID&amp;diff=3192"/>
		<updated>2008-02-04T21:01:55Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* Property description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDatabase|ISDBDatabase|Property Get/Set ActiveFilterID As Integer}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Gets/Sets active filter. To disable filtering use -1 value as filter ID.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.2.1135.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::GetFilterQuery&amp;diff=3191</id>
		<title>ISDBDatabase::GetFilterQuery</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::GetFilterQuery&amp;diff=3191"/>
		<updated>2008-02-04T20:59:09Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* Method description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDatabase|ISDBDatabase|Function GetFilterQuery(ID As Integer) As String}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ID |Integer |ID of specified filter.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Returns SQL query used by specified filter.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.2.1135.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::GetFilterQuery&amp;diff=3190</id>
		<title>ISDBDatabase::GetFilterQuery</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::GetFilterQuery&amp;diff=3190"/>
		<updated>2008-02-04T20:58:18Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDatabase|ISDBDatabase|Function GetFilterQuery(ID As Integer) As String}}&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
&lt;br /&gt;
{{MethodParameters &lt;br /&gt;
 |ID |Integer |ID of specified filter.}}&lt;br /&gt;
&lt;br /&gt;
===Method description===&lt;br /&gt;
&lt;br /&gt;
Returns SQL query used by specified filter.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::ActiveFilterID&amp;diff=3189</id>
		<title>ISDBDatabase::ActiveFilterID</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=ISDBDatabase::ActiveFilterID&amp;diff=3189"/>
		<updated>2008-02-04T20:55:50Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MethodDeclaration|SDBDatabase|ISDBDatabase|Property Get/Set ActiveFilterID As Integer}}&lt;br /&gt;
&lt;br /&gt;
===Property description===&lt;br /&gt;
&lt;br /&gt;
Gets/Sets active filter. To disable filtering use value -1.&lt;br /&gt;
&lt;br /&gt;
Introduced in MediaMonkey 3.0.2.1135.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Interface ISDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
	<entry>
		<id>https://www.mediamonkey.com/wiki/index.php?title=SDBDatabase&amp;diff=3188</id>
		<title>SDBDatabase</title>
		<link rel="alternate" type="text/html" href="https://www.mediamonkey.com/wiki/index.php?title=SDBDatabase&amp;diff=3188"/>
		<updated>2008-02-04T20:52:46Z</updated>

		<summary type="html">&lt;p&gt;PetrCBR: /* ISDBDatabase members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{AutomationObjectsList}}&lt;br /&gt;
== CoClass SDBDatabase ==&lt;br /&gt;
&lt;br /&gt;
Object for interaction with Database.&lt;br /&gt;
&lt;br /&gt;
=== ISDBDatabase members ===&lt;br /&gt;
   &lt;br /&gt;
{{MethodsList &lt;br /&gt;
|[[ISDBDatabase::ActiveFilterQuery|ActiveFilterQuery]] |Property Get |Gets Active Filter Query  &lt;br /&gt;
|[[ISDBDatabase::ActiveFilterID|ActiveFilterID]] |Property Get/Set |Gets/Sets Active Filter ID&lt;br /&gt;
|[[ISDBDatabase::GetFilterQuery|GetFilterQuery]] |Method |Get Specified Filter Query&lt;br /&gt;
|[[ISDBDatabase::BeginTransaction|BeginTransaction]] |Method |  &lt;br /&gt;
|[[ISDBDatabase::Commit|Commit]] |Method |  &lt;br /&gt;
|[[ISDBDatabase::DatabaseID|DatabaseID]] |Property Get |  &lt;br /&gt;
|[[ISDBDatabase::ExecSQL|ExecSQL]] |Method |  &lt;br /&gt;
|[[ISDBDatabase::OpenSQL|OpenSQL]] |Method |  &lt;br /&gt;
|[[ISDBDatabase::Path|Path]] |Property Get |  &lt;br /&gt;
|[[ISDBDatabase::QuerySongs|QuerySongs]] |Method |  &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Automation objects|{{PAGENAME}}]]&lt;br /&gt;
[[Category:CoClass SDBDatabase|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>PetrCBR</name></author>
	</entry>
</feed>