SCRIPT: Titel schon in Playlisten??? optimiert auf andockbar

Wenn Sie Hilfe benötigen oder über MediaMonkey diskutieren möchten...

Moderators: onkel_enno, Maximus

Erwin Hanzl
Posts: 57
Joined: Tue Jun 13, 2017 8:47 am

SCRIPT: Titel schon in Playlisten??? optimiert auf andockbar

Post by Erwin Hanzl » Mon Aug 28, 2017 7:53 am

Hallo Leute,
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
Last edited by Erwin Hanzl on Wed Jan 10, 2018 5:58 am, edited 31 times in total.
:D MMW 4.1.21.1871 GOLD Beta
:D Design: Glided 18 px
:D AddOn: Find currently playing track
:D Laptop mit Samsung SSD 840Pro 512GB partitioniert: ~200 GB C: nur System und Programme ~300 GB D: meine Daten - 32 GB RAM
:D WIN 10 Pro-1803-64 Bit --- Sicherheit: ausschließlich Windows-Defender mit Echtzeitschutz

MMuser2011
Posts: 1205
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: SCRIPT: Titel schon in Playlisten???

Post by MMuser2011 » Mon Aug 28, 2017 8:38 am

Danke für das Script (habe es noch nicht ausprobiert).
Du solltest aber keine absoluten Pfade "C:\Users\1808\AppData\Roaming\MediaMonkey\Scripts" angeben, die passen ausschliesslich auf Deinem Windows-PC.
Verwende anstelle von "C:\Users\1808\AppData\Roaming" die allgemein gültige Bezeichung %appdata%. Die löst automatisch auf jedem Gerät an die richtige Stelle auf, egal wie der angemeldete User heisst.
Also konkret: %appdata%\MediaMonkey\Scripts
Magic Nodes v4.2 (2011-07-01) SQL Viewer v2.4 (2009-10-25)
ExternalTools v1.4 (2011-05-09) iTunesMonkey 1.0 + Acoustid
Calculate Cover Size v1.7 (2012-10-23) RegExp Find & Replace v4.3 (2011-07-06)

Erwin Hanzl
Posts: 57
Joined: Tue Jun 13, 2017 8:47 am

Re: SCRIPT: Titel schon in Playlisten???

Post by Erwin Hanzl » Mon Aug 28, 2017 8:57 am

Ich habe mein Posting Deinen Entpfehlungen entsprechend, adaptiert.
Melde Dich bitte nach der Testphase.
Code bitte neu kopieren. Ich habe heute, am 30.8.2017 Optimierungen durchgeführt!!!!!
Danke
:D MMW 4.1.21.1871 GOLD Beta
:D Design: Glided 18 px
:D AddOn: Find currently playing track
:D Laptop mit Samsung SSD 840Pro 512GB partitioniert: ~200 GB C: nur System und Programme ~300 GB D: meine Daten - 32 GB RAM
:D WIN 10 Pro-1803-64 Bit --- Sicherheit: ausschließlich Windows-Defender mit Echtzeitschutz

M.Moeritz
Posts: 96
Joined: Fri Feb 21, 2014 7:54 am

Re: SCRIPT: Titel schon in Playlisten???

Post by M.Moeritz » Wed Sep 13, 2017 3:51 pm

Hallo, bevor ich dein Script ausprobiere eine Frage. Ich kann doch unter Dateieigenschaften/Klassifikation mir anzeigen lassen ob ein Titel in anderen Playlisten vorhanden ist, wo liegt der Vorteil in deinem Script?
"translate with google"

Gruß

Miron

WiFi Syncing
MM Gold 4.1.21.1866 auf Windows 10 Pro 64 Bit "portable Installation" auf interner Festplatte. Syncronisiert über Nextcloud mit Laptop
MM Android 1.3.2.0704 Pro auf folgenden Geräten

Phones: Huawei P10 Android 8.0 / Samsung Galaxy S5 Lineage OS 14.1 / LG Spirit 8 Android 6.0.1 / Vodafone smart ultra 6 Android 6.0.1 / Samsung S4 Lineage OS 14.1 / Xiaomi Redmi Note 4 Android 6.0 / Tablet: Samsung Galaxy Tab S2 S9.7 Android 7.0 / Autoradio Erisin 3015V Android 5.1.1 /

Erwin Hanzl
Posts: 57
Joined: Tue Jun 13, 2017 8:47 am

Re: SCRIPT: Titel schon in Playlisten???

Post by Erwin Hanzl » Wed Sep 13, 2017 5:54 pm

Hallo Miron,
Deine Vorgangsweise ist auch OK.
Aber wie schon beschrieben, ich drucke nur auf EINEN Knopf
und bekomme noch zusätzlich die Positions# aus den Playlisten.

Probiere es doch aus.
lg erwin
Last edited by Erwin Hanzl on Wed Jan 10, 2018 5:34 am, edited 1 time in total.
:D MMW 4.1.21.1871 GOLD Beta
:D Design: Glided 18 px
:D AddOn: Find currently playing track
:D Laptop mit Samsung SSD 840Pro 512GB partitioniert: ~200 GB C: nur System und Programme ~300 GB D: meine Daten - 32 GB RAM
:D WIN 10 Pro-1803-64 Bit --- Sicherheit: ausschließlich Windows-Defender mit Echtzeitschutz

Post Reply