Scripts for Media Monkey
Andreas Weichert (firstname.lastname@example.org)
Take a look
on my Android app Time
Sheriff – the extensive all-in-one timer / reminder.
Media Monkey after installation to get the menu-entries. Entry
in the forums for discussions
and code based on one of the great scripts from trixmoto
the “Previewer”. Thank you for the base script– I have learned much of.
With the Multi-Previewer you can take songs
from your mediathek, quick listen to it iterative and
pick songs you like to fill the now-playing-list.
It works as
- Select one or more songs from you mediathek
- Start the “Multi-Previewer”
(Menu/Player, Context-menu or hotkey)
- The player starts with the first selected song.
The playing can be started at the beginning or from a relative position automatically (Checkbox “Begin at position”)
- You can seek in the song absolute
(to 0%, 25%, 50%, 75%) or relative (by ± 5 sec, 30 sec) with the hotkeys.
The hotkeys are organized as a block on a German keyboard like gamer use
the keyboard. If you want other hotkeys or translate the button text you
can easy manipulate the script. Take a look on the variables at the first
lines of the script.
- If the song end is reached the player jumps
to the next song automatically unless you have enable “Stop track at end”.
- Before the song is finished you must
decide what to do with the current song. “Next” will skip the current song and plays the next. The
current song will be removed from the now-playing-list.
- Append: Append song as last to the
end of the now playing list
- Insert: Inserts it directly after the
song, which was played before you started the Multi-Previewer
- Insert 2: Appends it after your last
inserted song – if you have no inserted one before it’s the same as
- If you press “Close” (or Ecs-key) in the Previewer
window or the last selected song was played, the player starts again with
the song played before (at the position before) or plays the first new song of the now-playing-list
- You can seek in the song by clicking with
the mouse in the area under the red bar.
Before you can do this you must calibrate the mouse. Click on the help
Hold down the Shift & Strg & Alt Key and click with the mouse in the
panel at the most right possible position in the panel. Begin at right
edge outside the panel and move the mouse pixel by pixel to left and click
permanently until you get a message. Maybe you must do again it if you
change the skin.
- Move the mouse over the controls and wait
to get a hint on its function.
- The multimedia key “Stop” seeks to the
next track. (side-effect) The Pause/Play button works, too
- VERSION 1.1.0
- New: Base Help file in
HTML instead of the MessageBox which did not
- New: Play time restriction
- Bug: Mouse-calibration
was not saved (I thought I did it in the last version.)
- Change: Click on red
"seekbar" possible. Seekpanel is smaller now
- Change: Dialog height a
- Change: Song number more
precise in right/top corner
- Change: A
lot of internal changes - a more object orientated design
- VERSION 1.3.1
- A not modal dialog mode.
You can access MM behind the window. (Give rating, put song in a playlist
- You can
disable the automatic song start if you want to configure before.
- VERSION 1.4.0
- The previous versions
made assumptions about some constant properties of MM in the background.
This restriction I removed.
- New Feature: Working on a
copy of the selected tracks and not on the current selection
- => Changing of the maintrack-window during working possible
- (change selection or open an other playlist as drop target)
- New Feature: New button
"insert song just before the current focused track" in the
- New Feature: Store custom
window position as default (reset to screen-center
- Bugfix: Caption of the Pause/Play-button did not toggle
Older Versions: Version
Just Play Now 1.0.0
Download Entry in
the function “Append selected songs to
the now-playing-list and just play it now”. I have integrated this
function in the context menu of the main-tack-list.
was very simple and small. Therefore I took it as a base for more functions I
missed. For the additional functions I found not a good compact name, so I gave
the plugin the name of its first function.
work nearly always with hand-made playlist I wanted to optimise my work with
it. Selecting something, group it and quick sort it with the cursor-keys. The
functions are integrated in sub-menus of the context-menu of the main
track-list: “Selection” and “Moving”
additional functions are:
- From focused to last or from first to
- All, nothing , invert selection
- Only last played or all behind to it to
continue with the next songs I did not hear
- Never/ ever played
- Rating larger/smaller than a special
- All rated song or songs with missing
- Depend on the current focused song,
select all with the same Album, Artist or Album-Artist
- Change the track
order with the usual windows hotkeys (only for manual playlist)
- Move songs up/down one position
- Move songs a “page” up/down. (Ctrl-Page
Up/Down). You can configure the increment
- Move song to top/end of the list
- For a selecting with lags in it you can
remove the lags and group it together (up or down).
Problems with the Moving-Function:
changing of the track order with hot-keys was a hard work.
- The moving functions overwrite the default
hotkeys of MM: Changing the focused track without change the selection.
This function I never use. I take the scrollbars or the mouse wheel to
scroll in the list. Nevertheless this function works yet - if you press
- The hot-key definitions are language
dependent. Therefore you must find out how is the definition for you
language and change the script (variables at the top of the code). The moving
functions without hotkey access make no sense. Current version is English.
- Autoplaylists cannot be manual sorted. In
this case you get an error message.
MM doesn’t allow this.
(Cannot understand why, this should be simple to implement and would be a powerfull additional function. Think this could be my
next MM project. Manual playlist with an additional filter.)
- Manual sorting makes only sense if you
have applied no special sorting. The list must be sorted by the “#”
column. Unfortunately I found no way to find out what is the current state
of the main-track-window to show an error message or ignore the action. If
you use the moving function you must switch to unsorted.
- I found no way to sort the
main-track-window directly. So I sort in the responding playlist. To show
the changings (online) in the window it must be Refreshed AND ProcessMessages must be performed. Then I apply the
new selection based on the type of the moving action.
- During the ProcessMessage
MM reacts on new events (before the applying of the new selection). This
produces problems for fast interaction in my first experiments. With a
trick I avoid this problem. Sometimes the trick does no work and the
section changes to one song. But found no bug in the code, it should work
- The playlist manipulating and the window
refreshes are slow in MM. On slow computers manual sorting function could
work badly. (On my 2.2 GHz Windows 8 it works good.)
- The MM-Scripting interface delivers no
function to reorganize a playlist array by indices. You can work only with
the songs in playlist. Therefore a song position is not clear defined if
you have duplicate songs it. I don’t really know what happens in this
- I wanted to hold the selected track
visible after a moving action - move it not outside the visible area. So I
make a set “focus-bracket” around the selected tracks. That would work
best if I the code has the information how many track are show in the
list, how high is the visible area of the list. But I found no way to get
this information from MM, so I decided that the list scrolls as follows:
Show some more lines additional to the selected lines in the last moving
direction. You can set this value in the settings.
Speak Song Title 1.1.0
Download Entry in
If I am
sitting on my sofa and control MM with my Android remote app, I want to know
some information about the current song I hear. I am to lazy for looking on my phone and the way to the
computer monitor to long. Therefore I made this plug-in.
speaks some information about the current song at its start. You can configure
10 different masks with custom text with place-holder for some song properties:
Title, artits, album, album artist and rating. A delay separator for a more
natural pronunciation is integrated. The information can be spoken
simultaneously or the music can be pause during speaking.
speaking-mask can consist of multiple masks (separated by “|”) now. One of them
will be chosen by random for every song automatically.
the plugin in the options dialog under the player-sheet. Enable/Disable it in
the main-menu under the Play entry.
uses the windows SAPI text-to-speech function. All installed voices can be
Here you see its configuration
is made only for developer ! You can put out text to
trace something. Install the plug-in and paste the code below in your file. You
can show/hide the panel from the View menu.
Show a new
text entry with DebText “Hallo World !”
Const DebugMode = true
Sub DebText (Msg)
If(Not DebugMode) Then: Exit Sub: End If
Dim Deb: Set Deb = SDB.Objects("AWDebugger")
If Deb Is Nothing Then
Comments and ideas are welcome. (email@example.com)