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.
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