This script provides a standard way of adding external tools/applications to MediaMonkey. These tools can use the tracks that are selected in MediaMonkey.
Some possible applications: external music players (e.g. Winamp), encoders (e.g. AAC Encoder), editors (e.g. mp3DirectCut, CoolEdit), ...
Installation Package: ExternalTools14.mmip
Screenshot (v1.4):
Options sheet:

Screenshots (v1.3):
Options sheet:

Toolbar submenu:

Context menus on tracklists and tree:

Version history/details:
Version 1.2 adds an option to set an icon for each tool.
It also adds a confirmation when a lot of applications (10 or more) are going to be started due to a lot of selected files for a tool with "for each selected track, use an instance", to avoid mistakes.
Version 1.3 lets you use the following field masks in the "Parameters" box:
%A --> ArtistName
%C --> Author
%G --> Genre
%L --> AlbumName
%M --> BPM
%R --> AlbumArtistName
%S --> Title
%T --> TrackOrder
%B --> Bitrate
%U --> Custom1
%V --> Custom2
%W --> Custom3
%Y --> Year
And these 3 (will automaticaly be quoted ' '):
%O --> Full path
%P --> Directory/folder (without ending \)
%F --> File name
Version 1.4 adds some minor bug fixes, MM Installation Package support, changed/added parameters: %O = full path, %P = directory/folder (without ending \), %F = file name
You can also specify parameter loops by using the syntax SomeText <LoopParameter:Separator> SomeOtherText
# serves as counter.
Examples:
Resulting parameters conversions when 4 tracks are selected with artist ArtistX and title TrackX:
- -titles "<%S: >" _means_ -titles "Title1 Title2 Title3 Title4"
- -currentorfirsttitle "%S" -alltitles <"%S":,> _means_ -currentorfirsttitle "Title3" -alltitles "Title1","Title2","Title3","Title4"
- -currentorfirsttitle %S <-title# %S: > _means_ -currentorfirsttitle Title3 -title1 Title1 -title2 Title2 -title3 Title3 -title4 Title4
- <-title# %S: > <-artist# %A: > _means_ -title1 Title1 -title2 Title2 -title3 Title3 -title4 Title4 -artist1 Artist1 -artist2 Artist2 -artist3 Artist3 -artist4 Artist4
- <-title# %S -artist# %A: > _means_ -title1 Title1 -artist1 Artist1 -title2 Title2 -artist2 Artist2 -title3 Title3 -artist3 Artist3 -title4 Title4 -artist4 Artist4
E.g. for the 2nd example:
- First instance's parameters: -currentorfirsttitle "Title1" -alltitles "Title1","Title2","Title3","Title4"
- Second instance's parameters: -currentorfirsttitle "Title2" -alltitles "Title1","Title2","Title3","Title4"
- Third instance's parameters: -currentorfirsttitle "Title3" -alltitles "Title1","Title2","Title3","Title4"
- Fourth instance's parameters: -currentorfirsttitle "Title4" -alltitles "Title1","Title2","Title3","Title4"
E.g. for the 2nd example:
- Only instance's parameters: -currentorfirsttitle "Title1" -alltitles "Title1","Title2","Title3","Title4"
When no tracks are selected, then the parameters and parameter loops will be omitted. Then the result would be:
- -titles "<%S: >" _means_ -titles ""
- -currentorfirsttitle "%S" -alltitles <"%S":,> _means_ -currentorfirsttitle "" -alltitles
- -currentorfirsttitle %S <-title# %S: > _means_ -currentorfirsttitle
- <-title# %S: > <-artist# %A: > _means_
- <-title# %S -artist# %A: > _means_
In the future an extra option could be added to the tool specification, that at least one track must be selected for the tool to be launched. This would prevent launching a tool that expects selected tracks, when no tracks are selected.
If you have questions about this, feel free to ask here.




