MediaMonkey Scripts

Scripts that alter the behavior of MediaMonkey in some way.
  1. General
  2. Playback
  3. Statistics
  4. Nodes
  5. Files
  6. Tagging & album art
  7. Tools


Integrated Browser View - This script creates a menu item that opens a html document in the MediaMonkey embedded browser, the link will be available under tools/scripts. The default behavior is to go to

Previewer 2.2 - Interupts your Now Playing list with the selected song, and then returns to your list and continues playing where it was before. Great for previewing songs without messing your playlist. Has a control form (mini player) to control your preview and allows you to choose whether you want it adding to Now Playing or not.

Resume Playback State at Start of Mediamonkey - Suitable for when you want MM remember where you left a song when closing MediaMonkey. Playes where you left a song, and Pause a song where you left it too at MediaMonkey startup.

LibraryPanes- Adds a dockable panel with library panes as alternative way to browse the library (like in Winamp, iTunes, JRiverMC, ...)

Toolbar_MoreFromTheSame - Adds "More from the same..." functionality to the standard toolbar (for Artist, Album, Genre, Year, FolderLibrary, FolderMyComputer, FolderExplorer)

TrayMoods - Adds "My Moods..." functionality to the tray menu

PlayHotkeys - Adds hotkeys to MediaMonkey so you can let it play songs based on a predefined Genre, Playlist, Mood, ... very easily

TiedSongsGroups - Lets you make groups of songs, so when one song of the group is played, the next songs in the group are also added for playback (in order)

MonkeyRok - MonkeyRok is a script for MediaMonkey inspired by the context panel in Amarok. It shows the album art and info for the current track, a summary of your favourite and most played tracks by the current artist, and a list of all albums by or featuring the current artist. You can click on the headers to show and hide panels and the tracks and art to play songs.

Genre Shortcut Hotkeys - This binds user defined keys to automatically transfer your view to the specified genre. Default behavior is as follows:

Rating Hotkeys - This script lets the user choose hotkey combinations that will allow him/her to modifty the database entry regarding rating, ultimately ending with a rating from 1-5, I believe that the default behavior is to click 1-5, no key combinations needed, very useful for quick ratings. (I already have all of mine rated, that's why I haven't used this script). There is also a similar script on the page preceding this one, but this seems a little more user friendly with the prelude to the script, just my opinion though, so i thought I would mention the original script.

Varying Album Art Views - This script is slightly complicated for the user, but it eventually gives the option to view the album art for a specified song with a few different methods, the three mentioned are via HTML link, opened in browser by a MediaMonkey node, or by the command menu. It appears as if it may be updated at some point to open the album art in the MediaMonkey embedded browser.

Bookmarker 1.1 - This script allows you to save the current track ID and playback time so you can start it where you left off (even after restart). You get a warning if the track is no longer in the library.

Back Button 1.0 - This is a back button which works when you have shuffle on, because it remembers the track ID of each song you play.

PandoraNode - The script lets you put Pandora into a popup window in MM. As Jello Biafra said, give me convenience or give me death. Optionally you can edit the script so that it brings up Pandora in your default web browser instead. Why use a popup or your default browser and not MM's built in browser window? So you can keep using MM while you listen to one of your Pandora stations.


SongPreviewer - Adds a preview playback mode, so only pieces (very advanced-definable previews) of songs are played when the mode is activated

ExportM3UAndPlayInWinamp - Send a selection of tracks to Winamp (or another program) very fast

Previous&Next Album(Artist) - Exposes "Play Next/Previous Album", "Play Next/Previous Album Of Same Album Artist", "Play Next/Previous Album Artist" for e.g. remote controls

NextSongWithoutCrossfade - Start playback of the next song without using crossfading (for SqrSoft crossfading output plugin)

Previewer v2.2 - This script previews a song. If you are playing a song (or have one paused) it remembers this song and position. It then adds the selected song to the end of your now playing list (remembering where it added it) and plays it. When the song has finished, it removes it from your now playing list, and plays the previous song from where it left off.

Album Volume Leveler - Description: The script in post number 5 levels the volume of an entire album, and the second script levels entire albums out of an entire collection. To use this script you must analyze the volume of all of your tracks first, it should work after you have completed this.

ScrobblerDJ - The whole point is that most of us have a lot of tracks in our library that we never listen. We usually listen to whole albums or generate some auto-playlists and we listen to them all the time. This script works like an AutoDJ. If enabled it will add a track "recommended" from Last.FM everytime the playback of the last track in the Now Playing List starts.

Big Now Playing - Big Now Playing displays info for the currently playing track in large format so you can see it across the room from your system. It also has several large buttons for functions with a remote mouse: Play the next track, Add the track to a special playlist so you can move/work with it later, and Hide the Big Now Playing window. Big Now Playing sizes itself (window, font size and such) according to your screen size and by truncates long lines of track info (rather than using smaller font sizes and wrapping). More complete track info is reported at the bottom of the window in small text to make it easy to take a closer look. It also displays album art, if present.


Top 40 Weekly Report - Adds a top 40 button to the menu bar the icon looks like 3 pieces of paper. you click that button and it pops up a window then you choose the week you want the report for.

Automaticly updated Top of the Charts Playlist this is the message in which is stated how to set up an automaticly updating top of the charts playlist, it shows you the scripts to use and tells you how to set them up.
to have a playlist where only the songs played in your chosen time line will be in the top of the charts list and have a correct play count for those songs in that list.

Total Track Play Length Report - This adds a Total Song Length when reports are made, it is defined by the number of songs selected when the script is executed.

Play History & Stat Node 3.3 - This script creates a “Play History & Stat” node which reveals how you have played your collection in MM..
It’s like Last-FM but more advanced and stored locally.


Magic Nodes - This is probably the most versatile plugin utilized by MediaMonkey. It's main function is to add "nodes" to the folder tree, which are in turn used to organize and search the music database, essentially creating an unlimited amount of versatility.

Hide Node - This hides a node that is viewable in the folder tree, the default behavior of this script is to hide the location node.

Complete Albums - A script that creates a "complete album" node below the album node that shows only albums that have all the tracks present.

Various Artists - A script to create a Various Artists node that includes Compilations and Mixes, using codes in the comments of the songs to build and maintain this lists. This allows songs to be added and removed without affecting the structure of the compilation/mix. It also allows songs that may exist on both an album and in a compilation, or on multiple compilations, to be included in both places without needing to keep multiple copies of the song.

Selection of the Day Each time you start MM, an album, an artist and a bunch of independent tracks are randomly selected and stored under a specific tree node (namely "Today..."). It is also possible to force a new selection at anytime (icons in toolbar).

FavouriteNodes - Adds the posibility to create shortcuts (with custom names and shortcut keys) to your favourite nodes

StartupNode - Automatically opens or selects the last opened node (or an explicitly specified tree node) when MediaMonkey starts

StreamsTreeNode - Adds a node structure to MM's tree where you can add internet streams (or anything else like text files, images, ...) that start when you click on them

NodeFromFirstCharacter - Adds an alphabet sidebar to browse the tree view

Browse by Art v4.5 - This script will create a new node under Album called Artwork. When you click on this link, a webpage will load in MM (this currently takes a while to prrocess, so be patient!) which will show you all your albums in alphabetical order, with artwork. Click on the artist/ablum link to go to that node. (by trixmoto)

RadioFreeMonkey v1.2 - This creates a "Radio" node, which is basically a randomized song list, but the script also takes ratings into account (a 5 star song is more likely to get played than a 1 star song, etc.) Very useful, the general idea is implemented in 2.5 now.


Export Now Playing to .TXT file - This little package exports the currently playing song information to a text file, which the inventer then had sent to his signature in his email's, I'm unaware of how to do this, but I'm sure someone can find it useful, make sure to look at post #2 as it contains pertinent information.

Album Art as Wallpaper - This is a definite piece of work that displays the currently playing song's album art as a tiled wallpaper, it definitely takes a little bit of time to get working and probably quite a bit of space as well as each has to be turned into a .bmp, but to some I'm sure it will be worthwhile. (Requires: Python 2.4.1 or greater & ImageMagick)

NowPlaying - This script will collect the Title and Artist information from current playing track and save them to a textfile. Beside the above info it will also get the rating of the song, the status of MM-player (paused or stopped) and the MM-version and write it to this file either.

Backup v3.5 - This script is very customisable and allows you to backup MediaMonkey files to a folder or archive. It also creates a restoration script, allowing you to easily restore from the backup. There is also an option to automatically run the backup each time MM starts up (with a user specified delay) or when MM shuts down.

Batch M3U Creator 1.6 - This script, as requested, creates an M3U playlist for each album in your library. If you have tracks selected when you run the script then there is the option to limit the batch to just those albums. The playlists are saved in the album folder (same as folder as the first track in the album) unless you specify a playlist directory.

Import M3U 2.5 - Well, this script imports m3u playlists.

It searches for the filename (not the full path) in your database, so this is useful if you moved files in the playlist.

Also has the option to ignore the extension in case you've converted your files since creating the playlist, as well as the option to ignore punctuation.

Move Files 1.0 This script allows you to define a list of filetypes which are "buddy" files. This means a file which has the same name as, and is in the same folder as, a music track, but has a different extension. This script will move/copy these "buddy" files when you move/copy/auto-organise your files within MM. The default list contains just the "asd" extension.

Backup Playlists 1.2 - This script allows you to export your autoplaylist criteria into a separate database. This allows you to backup your criteria, or transfer them from one database to another.

Shortcut Creator 1.0 - Creates shortcuts to the selected tracks in the specified directory.

SignatureWriter - Writes the name, artist and album of the currently playing track to a text file, that can be used as signature for e-mails

ExtensionToLowercase - Changes the file extension to lowercase for all selected files

CasedFileName - Changes filename to "<TrackNumber> <ARTIST> <songname>.<extension>" or "<ARTIST> <songname>.<extension>"

Modify Track Behavior - This modifies track behavior when a specific track is getting modified. Such a change could include opening a track in a different program such as a track editor, or by default, winamp.

Tagging & album art

Split Artist Title 2.0 - Often FreeDB returns a compilation album with the Artist field as "Various" and the Title field with Artist - Title. This script is designed to fix this into Artist, Title and Album Artist.

If you find you have Title - Artist then you can use the swap variable to automatically fix this too!

Advanced Rename 2.1 - This script allows you to batch rename artists "Firstname Lastname" to "Lastname, Firstname". This of course works with middlenames: "Firstname Middlename Lastname" -> "Lastname, Firstname Middlename".

Fix Trailing The 3.2 - Checks all selected tracks for ..., The and corrects to The .... Useful for those who tried to get around the sort issue before MM2.5 and now wish to correct their collection.

Confirmation box is launched so changes can be viewed before they take effect. Allows you to enter a list of "The" words, allowing for international users.

Make Trailing The 2.0 - Checks all selected tracks for The ... and corrects to ..., The. Requested to do the opposite of the original script (Fix Trailing The).

Confirmation box is launched so changes can be viewed before they take effect. Allows you to enter a list of "The" words, allowing for international users.

Find Missing The 3.1 - Checks all selected tracks for artists that do not have The in front but should (ie. The Beatles) and adds the prefix. User definable list allows for international artists. Finds mismatches in your library and shows a confirmation box before affecting your database.

Automatic Rating of Songs - this runs in the background while playing music with media monkey. will auto rate your songs for you it allows you the options to set the time it checks the last played dates as far back as you want to go.

Automatic Rating of Songs Catch UP Script - Diddeleedoo says this is just to use as a script to make playlists of your top rated songs for now. more on what it does in his post of it.

AutoRateAccurate - This script rates your songs automatically with informations like Playcounter, DaysInLibrary, PlayedPerDay, LastPlayed and SkipCounter. Additional the script has some feature like SkipDetector (detects if you skip a song. A lot of skips = decrease of rating) with a button in the menu to (de)activate quickly, KeepManualRating (ratings you set by hand will never be overwritten) and Auto-Calibration which adjusts the algorithm so that you never get too much low or too much high rated songs. Optionsheet included.

ExtractFields - Lets you tag your tracks based on the current tags contents (e.g. switch/copy fields, remove unwanted prefix numbers, split FreeDB titles as title and artist, ...)

Auto-Tag From Tag List - Imports Artist and Title info from a text (txt) file. A great way to tag an entire .flac concert at once.

PersonalTagEnhancer - Fixes tags using your personal preferences (e.g. "Featuring --> ft.", "RMX --> Remix", ...) that can easily be added/changed

RatePlayedSong - When activated, it pauses the music between each song and prompts for a rating (if it isn't present yet) for the just played song

RateiRate - Calculates a rating based on the iRate algorithm, and puts it in the comment field

CopyTagDataWithinPairs - Some script previews, to copy all tag information from one set of selected songs to another set (will be continued on feedback)

SelectedFilesStoreDate - Writes the "Date Created" date or the "Date Modified" date to a custom field

Rate-Up by using Remote Control v1.01 - Using the AutoRateSongs script I can rate a song down by simply skipping it, but what about giving a song a boost in rating via Remote Control. Solved here by doing a double click on the Pause button. Double clicking the Pause button will give the song an extra star in rating.

Swap Artist and Title Fields - This little script swaps the title and artist fields in your music database. Implemented in 2.5

Album Art Location Script - This script exports the filename and location of the album art saved to a song into one of the database fields, could be handy if you have your album art saved in multiple directories.

Duplicate Titles Search - This searches for duplicate items in the database, but they must have both Artist AND Title fields the same, not just one or the other. Apparently it can be quite lethargic on large collections.

Multiple Scripts Regarding the Play Count - There are two scripts at the front of the page, the first lets the user define a playcounter for selected songs and the second completely re-establishes the database playcount by setting all equal to 0, so be wary when using that script, later on more are mentioned that I'm not going to delve to deeply into, but if you are looking to modify the play count of a certain song this is the thread you should look at. Hopefully you'll find something that suits your needs!

Multiple Album Disc # Fix - This changes an album from something like: Best of (disc 1), Best of (disc 2) and so forth, to a much more organized theme, where it is all under one disc. Most users still want to know if there are multiple discs though so it adds a special feature that changes the track number - say it was track 7 on disc 2, the track number would become 207, or say it was track 9 on disc 3, the outcome would be track 309 if I understand the concept correctly.

Re-order Tracks - This nifty little piece of text reorders the tracks that are not yet part of the library, it only works on tracks that have been selected, make sure to look at the latest version lower in the thread to avoid any problems.

Octopod wrote:
Just wanted to mention it works with tracks that are or are not part of the library and if no tracks are selected, the current track list is used.
However, a similar script will be automatically released with MM2.5 (but with mine --latest version-- you can choose the starting value as well as the increment between the tracks )

Set Tempo - a script to automaticly set the tempo's of your song files. you want to put it in either your auto scripts folder or just the scripts folder of media monkey. you can go to the first page of the thread to find out how to make it work in other ways.
This Tempo script needs to have a BPM in the songs properties. after you click the tempo script link it will adjust the songs in the background, but you need to restart media monkey for it to write them in the properties for the song. If there is no bpm in your song you can use the other script posted at this link also. which is called.

Multiply BPM - used for adding BPM to your songs. I have modified it to work automaticly as in you just need to click the links for it. just put it in the scripts folder and then use the tools/ scripts/ menu link to make it work. it will add 57 bpm each time you click the link. you need to have a song selected or it does not do anything.

Field Manipulator - Several functions to modify and swap Album, Artist, etc.

Title Case - Sets title case for Artist, Title, Album Name and Album Artist, using standard grammar rules. It takes into account punctuation, most acronyms, and roman numerals. It's customizable to include "forced-case" exceptions, such as non-English words or words you'd rather have always be a certain case (ex: vs., ft., ELO, BTO, KoRn, and so on).

Number Tracks - If I understand correctly, this script numbers tracks, or deletes track numbers that the user has previously defined, i'm not entirely sure of its use though as I have never used it, and haven't seen any feedback regarding it either.

Batch Art Finder 1.7 - This is the long awaited batch version of my Google Art Finder script. It checks all your albums, lists all with no art and queries google for the images. When you got all you want hit the save button and all your tracks will be updated.

There is also an option to include your non-album tracks in the batch. I recommend using the maximum batch size option to avoid slow performance. The next button can then be used to quickly start the next batch.

Album Art Tagger 3.2 - This script runs many processes which allow you to tag your tracks with current artwork in batches. A confirmation screen is always shown before any changes are made, which has checkboxes to allow you to chose which tracks are updated.

The processes are:

1. Extract artwork (copy from tag to mask)
2. Embed artwork (copy from mask to tag)
3. Remove artwork (delete from tag)
4. Extract artwork and resize external image
5. Remove artwork not matching storage
6. Remove artwork not matching size

Update Titles from Clipboard - Update Titles from Clipboard updates titles of selected tracks based on text in the clipboard (containing one title per line). It is useful for when you want to update tracks from titles found in online discographies, performance set listings, and any source other than Update from Web. It's also useful if you have to type a bunch of titles by hand (you can write them into a word processor document rather than entering them one by one into MM title fields).


Import MPC As TXT 1.1 - This script imports an "MP3 Collectorz" database that has been exported as a TXT. It is a custom script so will probably need modifying for your own export.

Unicode To ASCII 1.0 - This script converts Unicode tags into ASCII tags. Not all fields are supported, but more can easily be added.

Combine Albums 1.0 - This script looks for the string you use to represent disc number in the album name " (CD1)" and removes " (CD1)" and converts the track number from 1 to 101 (etc).

MusicMatch Ratings 1.0 - This script converts your MusicMatch ratings into MediaMonkey ratings.

Mp3Splitter - Adds a right-click (context menu) item to tracks, so they can easily be opened in another program (mp3-splitter mp3DirectCut in this case)

AssignCDMedia - Adds cd serial number to selected files. This can be used to re-link tracks, imported from another database, with their physical cd albums.

ExportM3Us_modified - Modified ExportM3U script that puts the exported playlists in a folder structure (based on the playlists structure), instead of in one single folder

ImportsUserSpecificDBToMM - Script to import a user-specific database into MediaMonkey's library

Play History & Statistic Node - Creates Weekly/Monthly Chart Nodes based on what you have played in MM. You also get a Top 100 Node and an advanced statistic Node which let you browse your played music in many cool ways.

Advanced Duplicate Find & Fix - Find your duplicates and browse them in a smart way so you easily can decide what to do with them. The script also lets you transfer the Play History from duplicates you want to delete to songs you want to keep so your Play History is intact.

Last 100... Played, Edited, Added - This script creates a node which gives you easy access to your last 100 Played, Edited and Added tracks, correctly sorted descending in the main window.

Windows Scheduler - This script should be started after MediaMonkey has been started. In using this script you are creating scheduled tasks that sets a time that a certain playlist should start, viable options with this script are alarm clocks, timers, etc... Very handy.

Find Icons - This short script shows the number assigned to all icons used in the folder tree view used in MediaMonkey, along with the pictures that they are assigned to. At least, this is what I believe it does without actually testing the functionality of the script.

playlist randomizer add in for the windows scheduler or other playlists scripts - randomizes the playlists so they don't keep starting on the same song all the time.

Calculate Cover Size 1.0 - This script calculates the cover size (width multiplied by height) for all the selected tracks and stores the value in the custom field of your choice. You can choose to calculate average/maximum/minimum/first/total.

In order for you to be able to sort in MM (which is alphabetical) you need to add leading zeros, which you can specify on the confirmation screen that is presented.

Lyric Timer 3.0 - This script reads the lyrics tag for the playing song and allows you to easily add basic timestamps. It highlights the currently playing line to make it easy to see progress so far and adjust times accordingly.

Displays in a dockable panel which updates with the currently playing track. Loop feature included to ease perfecting timestamps.

Is now a full editor with options to add, edit and delete the lyric lines as well. Lyrics are also imported from EvilLyrics automatically.

Fix Playlist Dups 4.2 - Checks the entered playlist for duplicate tracks and removes them. If you wish to confirm each item to be removed, you need to have the confirmation option ticked in MM.

Allows user to select how they want duplicates detected (track ID, artist & title, last played or file path). Starts with the selected playlist and allows the option of automatically recursing through child playlists.

A warning is shown if the playlist is not found, and also allows you to check the Now Playing list!

A-B Looper 1.1 - Whilst playing the song you wish to loop, run this script. Select your [A] and [B] and click 'Loop'.

The song will continue looping from A-B until you click stop.Pausing the song or skipping to the next one will not break out of the loop.

**Autocue Playlist** - This script starts with a user playing a playlist, once the playlist has finished another playlist will start automatically, ala autocue. This creates an unfinishable playlist, while still retaining the order of your original playlists.