Here is a very partial solution for re-ordering tracks.
All is explained in the file's header. I hope it could help some users even if there is a lot of inconvenience.
Scripts/Scripts.ini:
Code: Select all
[Reorder]
FileName=ReorderTracks.vbs
ProcName=ReorderTracks
Order=7
DisplayName=&Reorder selected tracks
Description=Reorder selected tracks from 1 to N
Language=VBScript
ScriptType=1
Shortcut=Shift+Alt+R
Code: Select all
' ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
'
' "ReorderTracks.vbs", March-05-2004
' VBScript for MediaMonkey 2.3.1 (or above), written by Octopod
'
' Purpose:
' - Re-number SELECTED tracks from MM's tracklist if tracks are **not** part of
' the library), according to the current sorting order from 1 to N
'
' Disavantages:
' - The tracks have to be explicitely selected because user must manually
' follow on synchronize the ID3 tags (Ctrl+S) -- note that this will not add
' these tracks to the library
' - Will not work with tracks already added to the library
'
' Advice:
' - If you cannot find any suitable sort using the columns to get the wanted
' order: create a temporary playlist, drag&drop files to then within the
' playlist, select all (Ctrl+A) then apply the script and remove the files
' from the playlist
'
' Notes:
' - Only tested with MP3s
' - Although this script should be safe, USE AT YOUR OWN RISK
'
' ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
' MM constant
NO=7
Sub ReorderTracks
' Get a list of songs to be exported
Set list = SDB.SelectedSongList
' -- Do not use this block as the tracks need to be selected
' -- in order to follow on tags synchronization
' If list.count=0 Then
' Set list = SDB.AllVisibleSongList
' End If
If list.count=0 Then
res = SDB.MessageBox("Select tracks to be numbered", mtError, Array(mbOk))
Exit Sub
End If
message="Reorder tracks from 1 to " + CStr(list.count) + "?"
res = SDB.MessageBox(message, mtConfirmation, Array(mbYes, mbNo))
If res=NO Then
Exit Sub
End If
Dim i
for i=0 to list.count-1
Set itm = list.Item(i)
itm.TrackOrder = i+1
next 'i
res = SDB.MessageBox("Manual tags synchronization: Ctrl+S, cancellation: F5", mtWarning, Array(mbOk))
End Sub