Playlisten mit TC erzeugen

German support forum

Moderators: Hacker, Stefan2, white

Azrael
Junior Member
Junior Member
Posts: 21
Joined: 2005-05-19, 12:54 UTC

Post by *Azrael »

ach ja, richtig, da hätt ich auch von selber drauf kommen können :oops:
Trotzdem danke :D
Gregorius007
Junior Member
Junior Member
Posts: 68
Joined: 2003-05-14, 10:01 UTC
Location: kirchseeon

Post by *Gregorius007 »

hallo,

ich bin auch auf der suche nach einer möglichkeit, MP3-playlisten zu erstellen. habe mir den vorschlag mit dem button angeschaut (und ausprobiert), dieser ist jedoch für mich nicht ganz praktikabel.

ich suche am besten ein packer-plug-in (oder ähnliches), in dem ich auf der einen seite (linkes fenster) MP3-dateien auswählen kann, die ich dann auf der anderen seite in die mp3-liste hinzufügen kann (ähnlich, als würde ich einzelne dateien packen).

was ich allerdings suche, ist die mölgichkeit, hintereinander (also nicht in einem "abwasch") die mp3-dateien in die liste hinzufügen, z.b.

1 schritt: verz1 - daraus die datei 1 bis 5 markiert und in die MP3 liste hinzugefügt
2 schritt: verz2 - daraus die datei 3, 7, 8 und 9 markiert und in die MP3 liste hinzugefügt
3 schritt: verz3 - alle dateien markiert und in die MP3 liste hinzugefügt
...

ich möchte also meine MP3-dateien "durchgehen" (mit F3 anhören) und dann in die MP3-liste einfügen (einzeln). mit dem button geht es nicht, der überschreibt mir immer wieder die DEFAULT.m3u datei.

wichtig: relative pfade: wenn ich also links in c:\mp3\soundtracks\ verzeichnis bin und rechts zeigt das fenster c:\mp3 und ich darin eine playlist_soundtrack.m3u datei erstelle, daß der TC die dateien relativ zum pfad c:\mp3 in die playlist einfügt.

gibt es dazu eine (einfache) möglichkeit?

danke im voraus.
--
grüße
gregor
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

Tu Dir eine Batchdatei folgenden Inhalts ins WIndowsverzeichnis:

for /f "tokens=1,2,3,4 delims=:," %%i in ("%time%") do set zeit=%%i%%j%%k%%l
echo %zeit%
move %1 "%2%zeit%.m3u"


und rufe diese mit den Parametern

Parameter "%L" %t
Startpfad: %P

als Button auf. Die relativen Pfade zum Zielverzeichnis kannst Du leider knicken - wenn das Zielverzeichnis auf einem anderen LW leigen würde, leiße sich das nicht relativ angeben. Also steht in der m3u immer der absolute Pfad zur Datei drinne.

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Dalai
Power Member
Power Member
Posts: 9975
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Hier muss doch gleich mal die Batch-Mafia ran :D ;).
Sheepdog wrote:for /f "tokens=1,2,3,4 delims=:," %%i in ("%time%") do set zeit=%%i%%j%%k%%l
Geht kürzer und lässt sich im Dateinamen leichter lesen:

Code: Select all

set zeit=%time::=.%
Heißt: Doppelpunkte ersetzen durch Punkte; die Kommas bleiben bestehen. Zum Entfernen der Doppelpunkte müsste man einfach nur

Code: Select all

set zeit=%time::=%
schreiben.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1050
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Wie wärs mit:

cmd.exe

Code: Select all

/c Type %L >>%TDefault.m3u
So werden die ausgewählten Dateien an die bestehende Playlist gehängt.
Gregorius007
Junior Member
Junior Member
Posts: 68
Joined: 2003-05-14, 10:01 UTC
Location: kirchseeon

Post by *Gregorius007 »

ZoSTeR wrote:Wie wärs mit:

cmd.exe

Code: Select all

/c Type %L >>%TDefault.m3u
So werden die ausgewählten Dateien an die bestehende Playlist gehängt.
reicht jetzt das letzte beispiel? oder was muß ich denn alles von den zuletzt genannten beispielen umsetzen?

danke!
--
grüße
gregor
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Plugin "Wdxinfipacker" von www.totalcmd.net?

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1050
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Einen hab ich noch ;)

Als MakePlaylist.cmd auf C:\ speichern:

Code: Select all

@ECHO off
SETLOCAL enabledelayedexpansion
SET listendatei=%1
SET zielpfad=%2
FOR /F %%i in (%listendatei%) do (
SET dateiname=%%i
CALL SET neuerdateiname=%%dateiname:!zielpfad!=%%
ECHO !neuerdateiname! >>!zielpfad!Default.m3u
)
ENDLOCAL
und über nen Button aufrufen:
Kommando:

Code: Select all

cmd.exe /c c:\MakePlaylist.cmd
(Als Symbol anhaken)
Parameter:

Code: Select all

%L %T
Hier wird jetzt der Zielpfad aus den Dateinamen entfernt (falls vorhanden) dh es werden relative Pfade erstellt.

zB ausgewählte Datei (linkes Fenster): C:\Musik\Album1\Titel.mp3
ZielPfad (rechtes Fenster): C:\Musik\
Ergebnis in der Playlist: Album1\Titel.mp3

jedoch
ausgewählte Datei (linkes Fenster): C:\Musik\Album1\Titel.mp3
ZielPfad (rechtes Fenster): D:\Irgendwo\
Ergebnis in der Playlist: C:\Musik\Album1\Titel.mp3

*edit: Batch ein wenig überschaubarer gemacht
Vision
Junior Member
Junior Member
Posts: 42
Joined: 2006-07-30, 16:27 UTC
Contact:

Post by *Vision »

Ich benutze :
Parameter:"%L" %p\DEFAULT.m3u

Ich möchte aber das Default durch den Namen vom Verzeichnis ersetzt wird. Ich kommt nicht auf den Parameter ;)
alfonso
Junior Member
Junior Member
Posts: 9
Joined: 2011-10-14, 08:34 UTC

Post by *alfonso »

Vision wrote:Ich benutze :
Parameter:"%L" %p\DEFAULT.m3u

Ich möchte aber das Default durch den Namen vom Verzeichnis ersetzt wird. Ich kommt nicht auf den Parameter ;)
Genau so eine Möglichkeit suche ich auch.
Vision
Junior Member
Junior Member
Posts: 42
Joined: 2006-07-30, 16:27 UTC
Contact:

Post by *Vision »

Peter wrote:Plugin "Wdxinfipacker" von www.totalcmd.net?

Peter
Gibt es nicht mehr , oder ?
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Vision wrote:Gibt es nicht mehr , oder ?
Doch:
http://www.totalcmd.net/plugring/WdxInfopacker.html
(Da ist ein kleiner Tippfehler in meinem Posting; kann nicht mehr korrigiert werden.)

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Stefan2
Power Member
Power Member
Posts: 4281
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

alfonso wrote:
Vision wrote:Ich benutze :
Parameter:"%L" %p\DEFAULT.m3u

Ich möchte aber das Default durch den Namen vom Verzeichnis ersetzt wird. Ich kommt nicht auf den Parameter ;)
Genau so eine Möglichkeit suche ich auch.
Dieser Parameter (wie zB %P(-1) =Parent folder) fehlt leider dem TC.

Man kann aber ein Skript oder Tool zwischenschalten, welches solche Anpasungen übernimmt.

Das folgende Skript ist universal verwendbare.
Für euren Fall habe ich es entsprechend angepasst:

Anstelle von
Parameter:"%L" %p\DEFAULT.m3u
benutzt
Command: cscript path\to\this.vbs
Parameter: "%L" "%PDEFAULT.m3u"

Code: Select all


' %L will create an temporary file like "C:\Users\myusername\AppData\Local\Temp\CMDB034.tmp" which holds the list of the selected files.
' %P als beliebig oft erlaubter Parameter bewirkt, dass der Pfad des Quellverzeichnisses in die Kommandozeile gestellt wird (inkl. \ am Ende).

'cscript "this.vbs"
' "this.vbs" Parameter 1: the file to copy, here the %L list
' "this.vbs" Parameter 2: the target file, here %Psomething.m3u 
'Example "this.vbs" Para: %L %Psomething.m3u

' Example TC Button:
'TOTALCMD#BAR#DATA
'cscript "%Commander_Path%\VBS\CopyList.vbs"
'"%L" "%Psomething.m3u"
'%Commander_Path%\WCMICONS.DLL,21
'Copy %L list to current folder. Change filename to parent foldername, keep m3u extension.
'
'
'-1




'// THE VB SCRIPT:
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WS   = Wscript.CreateObject("WScript.Shell")

if (Wscript.arguments.count <> 2) Then WScript.Quit
sTCtempList = Wscript.arguments.Item(0) ' The TC temp file due the "%L"
sOutputFile = Wscript.arguments.Item(1) ' The TC para "%Psomething.m3u"

If  FSO.FileExists(sTCtempList) Then
      '// Debug Info:
      'MsgBox "Tempfile is: " & sTCtempList    '// C:\Users\myusername\AppData\Local\Temp\CMDB034.tmp
      'WS.run "notepad " & sTCtempList
      'MsgBox "sOutputFile is: " & sOutputFile '// X:\Music\Band\Album\something.m3u

      '// Get the parts out of the full file name "%Psomething.m3u"
      sFileName   = sOutputFile
      sPath       = mid(sFileName, 1, InStrRev(sFileName, "") -1)
      aPathArray  = split(sFileName, "")
      sName       = aPathArray(UBound(aPathArray))
      sBase       = left(sName, InStrRev(sName,".") -1) 
      sExte       = right(sName, len(sName) - len(sBase) -1)
      sParent     = aPathArray(UBound(aPathArray) -1)
      sGrand      = aPathArray(UBound(aPathArray) -2)
      sGraGran    = aPathArray(UBound(aPathArray) -3)
      sDrive      = replace(aPathArray( 0),":","")
      sTopFld     = aPathArray( 1)
      sTopFld2    = aPathArray( 2)
      '-----------------------------------------------------------

      '// TEST OUTPUT:
      if ( 1=1 ) Then
        ret = MsgBox("FileName "  & sOutputFile      & vbCRLF _
                   & "Path: "     & vbTab & sPath    & vbCRLF _
                   & "Drive: "    & vbTab & sDrive   & vbCRLF _
                   & "TopFld: "   & vbTab & sTopFld  & vbCRLF _
                   & "TopFld2: "  & vbTab & sTopFld2 & vbCRLF _
                   & "Parent: "   & vbTab & sParent  & vbCRLF _
                   & "GrandP: "   & vbTab & sGrand   & vbCRLF _
                   & "Name: "     & vbTab & sName    & vbCRLF _
                   & "Base: "     & vbTab & sBase    & vbCRLF _
                   & "Ext: "      & vbTab & sExte    & vbCRLF _
                  ,vbOKCancel,"Debug: Input")
        if (ret=vbCancel) Then WScript.Quit
      end if
      '-----------------------------------------------------------
    
    
      '// Do your work here:
    
      'copy_file FileName, TargetName
      ret = MsgBox("copy_file " & sTCtempList & ", " & sPath & "" & sParent & "." & sExte, vbOKCancel,"Debug: Output")
      if (ret=vbCancel) Then 
          WScript.Quit
       else
          copy_file sTCtempList , sPath & "" & sParent & "." & sExte
       End if
    
    
Else
     MsgBox "Input file " & sTCtempList & " not found."
End If



'############### Extra Functions  ##########################################


'---------------------------------------------------------------------------
' Sub copy_File
' copy_File  FileName, TargetName
'---------------------------------------------------------------------------
Sub copy_file(FileName, TargetName)
On Error Resume Next
 If FSO.FileExists (FileName) Then
     'MsgBox "Copy " & FileName & "  zu  " & TargetName,,"Debug: copy now"
     FSO.CopyFile FileName, TargetName, True 'True=überschreiben
 Else
     MsgBox FileName & " not found",,"Copy error"
 End If
End Sub

'<EOF>


HTH? :D
User avatar
rainer.wendland
Senior Member
Senior Member
Posts: 240
Joined: 2007-07-01, 12:28 UTC
Location: Weserbergland

Post by *rainer.wendland »

Ich benutze für playlist, aber auch für das Öffnen von Dateien in bestimmten Programmen das plugin F4menu http://rghost.net/34983171 vers. 0.59
Mit diesem Plugin kann ich festlegen, in welchem Programm über drücken von F4 die ausgewählten Dateien geöffnet werden sollen.
ZB. kann ich parallel zu den gewählten Standard-Programmen f. ein entspr. format per F4 ein anderes wählen.
Beispiel: Prog f. verschied. Image-Formate ist ein Viewer, per F4 kann ich jedoch ein spez. Bearbeitungsprogr. wie photoshop direkt aufrufen.

Jedenfalls leistet es für meine playlists auch gute Dienste. Eine Einschränkung: Es werden max. 16 Dateien auf einmal geladen.
herzliche Grüße
Rainer
User avatar
matixx
Power Member
Power Member
Posts: 1118
Joined: 2003-03-21, 02:37 UTC
Location: ....

Post by *matixx »

Hi, ich brauche hier mal Hilfe.

Ich möchte eine Playlist per Button erstellen deren Name dann den Artist und das Album enthält ODER wenn das nicht geht dann wenigstens den Ordnernamen in denen die Playlist liegt.

Vielen Dank schonmal :-)
Post Reply