immer wieder die Frage: "Habe ich diesen Titel schon in einer/mehreren Playlisten und an welcher Stelle?"
Mittels diesem .vbs-Script bekommt Ihr, nach Implementierung mittels "Systemleisten konfigurieren",
auf Knopfdruck eine umgehende Antwort. (PlaylistenNamen und Positionsnummern)
Bitte um Feedback
lg Erwin
Fehlerfrei funktionierend unter:
Design: Glided, Metro M, Pulse, Vitreous (Schriftgröße 17 px)
Eintrag in Scripts.ini: (%appdata%\MediaMonkey\Scripts)
- Code: Select all
[X96_Finde_Titel_in_Playlisten]
FileName=Auto\X96_Finde_Titel_in_Playlisten.vbs
ProcName=X96_Finde_Titel_in_Playlisten
Order=96
DisplayName=96_Finde_Titel_in_Playlisten
Description=96_Finde_Titel_in_Playlisten
Language=VBScript
ScriptType=0
'SCRIPT-Datei unter dem Namen "X96_Finde_Titel_in_Playlisten.vbs" im Ordner "%appdata%\MediaMonkey\Scripts\Auto" speichern:
- Code: Select all
Sub X96_Finde_Titel_in_Playlisten
On Error resume next
'AUTOR: Erwin Hanzl im Dezember 2017
'Andockbares Fenster für Wiedergabelisten - muß nicht, kann aber geschlossen werden
'optimalster Platz im Bereich "Spalten-Browser"
'Sucht einen ausgewählten Musiktitel in ALLEN Playlisten(Wiedergabelisten)
'Zeigt den Wiedergabelisten-Namen und die Position
Dim list, itm, i, z, PlaylistTitel, PlaylistName,children, quelle, tracks, trck
Dim Verzeichnis, VerzeichnisZahl, VerzeichnisKopfTitel, VerzeichnisKopfInterpret
Set currentsonglist = SDB.SelectedSongList
If currentsonglist.count<>1 Then exit sub
Set itm = currentsonglist.Item(0)
quelle=itm.title & "__" & itm.artistName
VerzeichnisKopfTitel=itm.title
VerzeichnisKopfInterpret=itm.artistname
VerzeichnisKopfInterpret=replace(VerzeichnisKopfInterpret,"&","+") '& ist reserviertes Zeichen in labels
Set list = SDB.PlaylistByTitle("")
Set children = list.ChildPlaylists
For i = 0 To children.count-1
If children.count=0 Then exit Sub
Set itm = children.Item(i)
PlaylistName = itm.Title
Set tracks = itm.Tracks
if itm.tracks.count>0 then
For z=0 To tracks.Count-1
Set trck = tracks.Item(z)
PlaylistTitel = trck.Title & "__" & trck.ArtistName
if quelle=PlaylistTitel then
Verzeichnis=Verzeichnis & PlaylistName & chr(13)
VerzeichnisZahl=VerzeichnisZahl & "Nr.: " & z+1 & chr(13)
end if
Next
end if
Next
if len(Verzeichnis)<1 then Verzeichnis="in keiner Wiedergabeliste"
Dim Mnu, Pnl, Lbl, Lbl2, Lbl3
Set UI = SDB.UI
Set Pnl = UI.NewDockablePersistentPanel("Wiedergabelisten")
if Pnl.IsNew then
Pnl.DockedTo = 3
Pnl.Common.Width = 250
end if
Pnl.DockedTo = 3
Pnl.Common.Width = 300
Pnl.Caption = "Wiedergabelisten"
Script.RegisterEvent Pnl,"OnClose", "PnlClose"
Set Lbl1 = UI.NewLabel(Pnl)
Lbl1.Autosize = false
Lbl1.Multiline = true
Lbl1.Common.SetRect 10, 10, Pnl.Common.Width-20, Pnl.Common.Height-20
Lbl1.Common.Anchors = 15
Lbl1.Caption = VerzeichnisKopfTitel & chr(13)& VerzeichnisKopfInterpret & chr(13) & "------------------------------------------" & chr(13)
Set Lbl2 = UI.NewLabel(Pnl)
Lbl2.Autosize = false
Lbl2.Multiline = true
Lbl2.Common.SetRect 10, 10, Pnl.Common.Width-20, Pnl.Common.Height-20
Lbl2.Common.Anchors = 15
Lbl2.Common.Top = 70
Lbl2.Common.Left = 10
Lbl2.Caption = Verzeichnis
Set Lbl3 = UI.NewLabel(Pnl)
Lbl3.Autosize = false
Lbl3.Multiline = true
Lbl3.Common.SetRect 10, 10, Pnl.Common.Width-20, Pnl.Common.Height-20
Lbl3.Common.Anchors = 15
if len(VerzeichnisZahl) >1 then Lbl3.Caption = VerzeichnisZahl
Lbl3.Common.Left = 180
Lbl3.Common.Top = 70
Pnl.Common.Visible = true
End Sub
Sub PnlClose(Pnl)
SDB.Objects("Wiedergabelisten") = Nothing
End Sub