1. Cookies optimieren die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklärst Du dich damit einverstanden, dass wir Cookies verwenden. Weitere Informationen
    Information ausblenden
  2. Willkommen im Forum von DIGITAL FERNSEHEN - dem führenden Portal für digitales Fernsehen, Medien und Entertainment. Wenn du hier neu bist, schau dich ruhig etwas um und melde dich an, um am Forengeschehen teilnehmen zu können.
    Information ausblenden

Playlist Generator

Dieses Thema im Forum "Palcom / Panasonic / Radix / Relook / Smart" wurde erstellt von Pidi, 7. Mai 2005.

  1. Pidi

    Pidi Junior Member

    Registriert seit:
    19. Februar 2005
    Beiträge:
    31
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Anzeige
    Ich gehöre zu denen, die immer schon gerne mit dem 740 auch Musik bzw. MP3 hören wollten. Hat man nun aber auf einer Platte eine Reihe von Alben, schön in Unterverzeichnisse sortiert, bleibt es mit dem Siemens doch eine Qual ...

    Entweder man wählt über den Media Locator einen einzelnen MP3 aus, und dann den nächsten und und und, oder man erstellt sich eine Playlist, umständlich mit der Fernbedienung, File für File wird hinzugefügt, und dann muss man dieser Playlist auch noch mühselig über die FB einen einigermaßen sinnvollen Namen verpassen.

    Das hat ich genervt. Ich wollte etwas, mit dem ich am PC eine Playlist erstellen kann. Deshalb habe ich mir das Format der Playlist Dateien einmal angeschaut, und dann ein kleines Script geschrieben.
    Da ich sowieso nicht der Type bin, der sich dann am PC individuelle Playlists zusammen stellt, geht dieses Script aller Unterverzeichnisse meines MP3 Verzeichnis Baumes durch, und erzeugt pro Album - ergo pro Unterverzeichnis - eine neue Playlist mit allen MP3 Titeln dieses Albums.

    Ich gehe von folgender Konstellation aus:
    Mein Freigabeverzeichnis auf der 740 ist PC2
    Dies ist ein Laufwerk auf einem PC irgendwo in meinem Netz (NAS)
    Auf meinem Arbeits-PC sehe ich PC2 als Laufwerk S:
    Alle MP3s habe ich auf diesem Laufwerk unter \MP3
    Für die Playlists habe ich das Verzeichnis \PLAYLISTS erstellt

    Wenn ich das Script laufen lasse, wird für jedes Unterverzeichnis unterhalb \MP3, welches .MP3-Dateien enthält, eine Playlist-Datei (.pla) im Verzeichnis \Playlist erstellt, die den Namen des gefundenen MP3-Verzeichnisses trägt.

    Am 740 kann ich dann mit der FB über den Media Locator eine PL aus dem Verzeichnis Playlists aktivieren, und dann über "Playlist Audio" sofort abspielen. Ich habe also zu jedem Album direkt eine fertige Playlist.

    Das Script ist so geschrieben, dass es nur eine neue Playlist erzeugt, wenn noch kein File mit dem gleichen Namen existiert. Also kann man das Script immer wieder von Neuem laufen lassen, wenn neue Alben hinzu gekommen sind.

    Wo ich schon dabei war, habe ich dem Script auch noch ein Feature verpasst, dass die von Siemens unterstützten Meta-Dateien erzeugt werden. Dabei wird eine Datei mit exakt dem gleichen Dateinamen, wie dem der .MP3-Datei mit der Endung .TXT erzeugt - aus ToteHosen.mp3 wird also zusätzlich ToteHosen.txt. In diese .txt Datei kann man dann reinschreiben, was man möchte. Ich schreibe den kompletten Dateinamen hinein. Sinn der Aktion ist, dass man im Menü der 740 in der Auswahlliste immer nur so 10-12 Zeichen der Datei sieht, währedn der Inhalt der Meta-Datei in der rechten Bildschirm-Hälfte komplett angezeigt wird.
    Der Haken liegt natürlich in den vielen zusätzlichen Dateien, die dann auf der Platte entstehen. Wenn einer extrem viele MP3s hat ... Deshalb ist Funktion per Default deaktiviert, und kann auf Wunsch zugeschaltet werden.

    Alle Felder aus dem Playlist-Datensatz konnte ich übrigens nicht entschlüsseln, bzw. herausfinden, ob diese ganzen "0" oder "(null)" Werte eventuell noch einen nutzbaren Sinn haben.

    Hier der Code: (Wenn mir jemand ´nen Tip gibt, wo ich das Script hier hochladen kann, werde ich das gerne tun - bin nicht oft hier ...)


    PUBLIC MP3Root, MP3Source, SharedPath, PlaPath, PlaStore, TypeOfFile, GenMetaInfo, LF, TAB
    DIM OrdnerAngabe, Playlist
    DIM args, WshShell, fso
    SET args = wscript.arguments
    SET WshShell = Wscript.Createobject("Wscript.Shell")
    SET fso = CreateObject("Scripting.FileSystemObject")

    LF = chr(10)
    TAB = chr(9)
    MP3Root = "S:\" 'Das Freigabelaufwerk PC2 ist bei mir auf dem PC als S: gemappt
    MP3Source = "MP3" 'Das Verzeichnis, unter dem die MP3-Files liegen
    TypeOfFile = "MP3 Audio" 'Wie es der Explorer anzeigt
    GenMetaInfo = FALSE
    SharedPath = "/pvr/media/PC2/" 'Das Freigabe-Verzeichnis auf der M740
    PlaPath = SharedPath +"playlists/" 'Die Playlisten von der M740 aus gesehen
    PlaStore = "s:\playlists\" 'Hier werden die neuen Playlisten gespeichert

    FindMP3 MP3Source, "" 'Aufruf der rekursiven Funktion
    '==============================================================================================
    Function FindMP3(Path, NewPath)
    DIM o, o1, oa, Datei, Dateien
    DIM FileCount, Counter
    DIM Playlist, PlaylistName, PlaylistURL
    DIM MetaText, MetaFileName
    IF NewPath <> "" THEN
    NewPath = "\" +NewPath
    END IF
    Set o = fso.GetFolder(MP3Root +Path +NewPath)
    Set oa = o.SubFolders
    IF oa.count > 0 THEN
    For Each o1 in oa
    FindMP3 Path +NewPath, o1.name
    Next
    END IF
    Set Dateien = o.Files
    FileCount = 0
    IF Dateien.Count > 0 THEN
    For Each Datei in Dateien
    IF Datei.Type = TypeOfFile THEN
    FileCount = FileCount +1
    END IF
    Next
    END IF
    IF FileCount > 0 THEN
    PlaylistName = NewPath +".pla"
    PlaylistURL = PlaStore +PlaylistName
    IF NOT (fso.FileExists(PlaylistURL)) THEN
    Set Playlist = fso.CreateTextFile(PlaylistURL, 2)
    'File Header schreiben
    '
    Playlist.Write("Name" +TAB +"(null)" +LF)
    Playlist.Write("FileURL" +TAB +PlaPath +PlaylistName +LF)
    Playlist.Write("MimeType" +TAB +"(null)" +LF)
    Playlist.Write("CreationTime" +TAB +"1112020522" +LF)
    Playlist.Write("LastModificationTime" +TAB +"1112020522" +LF)
    Playlist.Write("Looping" +TAB +"1" +LF)
    Playlist.Write("PlaybackMode" +TAB +"1" +LF)
    Playlist.Write("N" +TAB +FormatNumber(FileCount, 0) +LF +TAB +"0" +TAB)

    Counter = 1
    For Each Datei in Dateien
    MP3File = Datei.Name
    'Datensatz schreiben
    Playlist.Write(SharedPath +REPLACE(Path +NewPath, "\", "/") +"/" +MP3File +LF +TAB)
    Playlist.Write("0" +TAB +"(null)" +LF +TAB)
    Playlist.Write("0" +TAB +"0" +LF +TAB)
    Playlist.Write("0" +TAB +"(null)" +LF +TAB)
    Playlist.Write("0" +TAB +"(null)" +LF +TAB)
    Playlist.Write("0" +TAB)
    Playlist.Write(MP3File +LF +TAB)
    Playlist.Write(FormatNumber(Counter, 0) +TAB)
    Counter = Counter +1
    IF GenMetaInfo THEN
    IF len(MP3File) -4 > 0 THEN
    MetaFileName = MP3Root +Path +NewPath +"\" +Left(MP3File, len(MP3File) -4) +".txt"
    IF (fso.FileExists(MetaFileName)) THEN
    fso.DeleteFile(MetaFileName)
    END IF
    Set MetaText = fso.CreateTextFile(MetaFilename, 2)
    MetaText.WRITE(MP3File +LF)
    MetaText.Close
    END IF
    END IF
    Next
    Playlist.close
    END IF
    END IF
    END Function

    Natürlich wäre ein Playlist Editor schön, aber dazu fehlt mir leider die Zeit. Das wär´ doch was für unsere Java-Freunde vom CridManager.
     
  2. goto3

    goto3 Neuling

    Registriert seit:
    5. Mai 2005
    Beiträge:
    11
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    AW: Playlist Generator

    drauf wirt dier sicherlich goto2 antwohrten abeer der hat immoment keine zeid muss festplaade fangen
     
  3. Pidi

    Pidi Junior Member

    Registriert seit:
    19. Februar 2005
    Beiträge:
    31
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: Playlist Generator

    Hab´ mich auch schon gewundert, dass der noch nicht seinen Senf zumBesten gegeben hat ...
     
  4. ChiefBroady

    ChiefBroady Junior Member

    Registriert seit:
    28. Dezember 2004
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    AW: Playlist Generator

    Das versteht er wahrscheinlich garnicht *gg*
     
  5. goto4

    goto4 Neuling

    Registriert seit:
    5. Mai 2005
    Beiträge:
    10
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    AW: Playlist Generator

    mein bruda vasteht ales, der kan 3 fremtsprahcen gleichzaitich hörn!
     
  6. Pidi

    Pidi Junior Member

    Registriert seit:
    19. Februar 2005
    Beiträge:
    31
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: Playlist Generator auch für .JPG

    Falls irgendwer auch seine Bilder (kann die Siemens Büchse eigentlich nur JPG, oder auch andere Formate) über die M740 anschauen möchte, wird beim Erstellen von Playlists mit der FB in Anbetracht der Wartezeiten nach jedem eingefügten Bild wohl endgültig die Fassung verlieren.

    Ich habe mich weder lange, noch besonders ausführlich mit diesem Thema befasst, aber die Playlists für Bilder haben grundsätzlich das gleiche Format. Also kann man mit meinem Script nach leichten Modifikationen nach dem gleichen Prizip wie für die MP3s auch Playlisten für alle Unterverzeichnisse mit JPG Dateien erstellen.



    Angepaßt werden müssen (sinnvollerweise unter Umbenennen der Variablen)
    Das Quellverzeichnis (Mp3Source -> JPGSource = ...)
    Das Zielverzeichnis (PlaPath -> PlpPath = ...)
    bzw. (PlaStore -> PlpStore = ...)

    TypeOfFile = "JPEG-Bild"

    und bei

    Playlistname = ... die Endung ".plp" anstatt ".pla"


    That´s it. Danach wird aus jedem Unterverzeichnis im Quell-Pfad, das .jpg Dateien enthält, eine Playlist mit genau diesen Bildern.

    Wie das mit der Vorschau funktioniert, habe ich noch nicht untersucht, aber die Playlist laufen als Slide-Show durch.

    Pidi
     
  7. Pidi

    Pidi Junior Member

    Registriert seit:
    19. Februar 2005
    Beiträge:
    31
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: Playlist Generator - da war doch noch was ...

    jetzt hatte ich es ganz vergessen. Das Script hat ja noch einen Fehler.

    In der 2. Schleife
    FOR EACH Datei IN Dateien

    fehlt noch der Filter:

    IF Datei.Type = TypeOfFile THEN

    Bisher wurden zwar nur die Dateien mit der korrekten Endung gezählt, jedoch auch Dateien mit anderen Extensions in die Playlist geschrieben. Das tut zwar nicht weiter weh, muss aber nicht sein ...

    Pidi
     
  8. Pidi

    Pidi Junior Member

    Registriert seit:
    19. Februar 2005
    Beiträge:
    31
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: Playlist Generator

    War gerade mal im M740 Forum. Da hat jemand ein PERL script für die Geschichte mit den JPG playlists geschrieben. Jetzt ist mir das mit den thumbs (.ths und .thp) auch klar.

    $cmd = "nconvert -resize 720 576 -out png -o $_.ths $p";
    system( $cmd );
    $cmd = "nconvert -resize 240 192 -out png -o $_.thp -in png $_.ths";
    system( $cmd );

    Allerdings ist dieses script für Unix und damit mangelt es mir an den converter-Programmen, die es natürlich auch für Windows geben wird.

    Das nur der Vollständigkeit halber

    Pidi
     
  9. 1halligalli

    1halligalli Junior Member

    Registriert seit:
    14. Dezember 2004
    Beiträge:
    43
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: Playlist Generator

    Jau pidi, dazu zähle ich mich auch.
    Nuuur, wie setze ich als "hardcore-WindowsUser" ohne Script-/Programmierkenntnisse (mal abgesehen von ein paar DOS-Befehlen aus vergangenen tagen) jetzt diesen Script/diese Kommandozeilen ein?! Das Anpassen der relevanten Kommandozeilen krieg ich gerade noch so hin.
    Kurz gesagt: brauche eine Anleitung für Dummys (oder 6-jährige):eek:

    greetz
    halli
     
  10. karlo.h

    karlo.h Junior Member

    Registriert seit:
    11. November 2004
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    AW: Playlist Generator

    Ich hab' hier schon einen Menüpunkt "Playlisten" im CridManager ;-) Ich vermute mal, dass die 1.1.2-developer davon schon was zeigen wird...