M3U Playlist Creator
Liste der Anhänge anzeigen (Anzahl: 1)
Dieser sogenannte Playlist Creator erstellt auf einfache Art und Weise M3U Playlists mit fixen oder relativen Pfaden. Das Programm ist noch in der Testphase und kann auf Herz und Nieren geprüft werden.
Die Technik sollte grösstenteils schon funktionieren, die Optik ist noch nicht so wie sie sein sollte... Das Tool inkl. Delphi Sourcecode kann hier runtergeladen werden: Click für Download (Grösse ca. 1MB) Bitte die Ini-Datei vor Benutzung anpassen (Pfade für Medien Source und Export Pfad). Damit das Projekt in Delphi 2007 geöffnet werden kann, müssen die JVCL (Jedi) Komponenten installiert sein. Siehe: http://sourceforge.net/project/showf...group_id=45786 Feedback erwünscht. Hintergrund zur Entstehung des Tools: Da meine Musikdaten in vielen Unterordnern liegen wollte ich ein einfaches Tool machen welches mit fixen Pfaden Playlisten erstellen kann. Meine zukünftige Vision für dieses Tool wäre allerdings, dass es sämtliche Verzeichnisse einliest, in eine SQL DB speichert und über ein GUI aus der DB die Media Files ausgewählt und damit eine Playlist erstellt wird. Dies hätte den genialen Nebeneffekt, dass man gleich noch alle Musik schön archiviert hätte und auch noch schön suchen könnte... |
Re: M3U Playlist Creator
Servus,
also hab dein Programm grade mal getestet. Leider ist es für mich nicht nutzbar, ich bekomme von start ab immer einen Fehler wenn er was ins log schreiben will :( Ich kann dir leider nicht sagen woran es liegt, da die Fehlermeldungen selbstgemacht aussehen und wohl nicht von Delphi selbst stammen. Wenn ich ca 10 Fehler wegklicke dann bin ich im hauptprogramm. Da ichs nicht testen kann mal ne frage: speichert er auch die ID3 infos von mp3 im Winamp Format in die m3u datei? wär ein klasse feature Edit: bin nun ins hauptfenster gekommen. Ein kleinen bug hab ich gefunden: WEnn ich auch advanced playlist klicke, dann werden die 2 radiobuttons deaktiviert und ich kann nichtmehr auf simple gehen :( MfG |
Re: M3U Playlist Creator
Zitat:
könnte daran liegen, dass er das logfile nicht ins userprofil schreiben kann. er will dies unter anwendungsdaten\plc speichern im profil von deinem benutzer (also sprich: c:\documents and settings\... oder hast du VISTA? auf vista hab ich es nämlich nicht durchgetestet, sollte aber eigentlich auch funzen. die ID3 infos werden derzeit noch nicht beachtet. das die radiobuttons deaktiviert werden ist bewusst so, weil du wieder auf NEU bzw. NEW klicken sollst um eine neue Liste abzulegen. wenn du während der erstellung den modus wechseln könntest, hätte ich nachher beim speichern ein problem ;-) |
Re: M3U Playlist Creator
Hallo
Ein Screenshot vom Programm wäre jeweils wünschenswert! |
Re: M3U Playlist Creator
Zitat:
Wär toll wenns funktioniert, würde es sehr gerne testen. MfG |
Re: M3U Playlist Creator
Zitat:
C:\Documents and Settings\%benutzername%\Application Data\PLC\Logs eigentlich sollte das programm dies selber tun. hat er bei mir zumindest. aber scheint bei dir nicht zu funzen. wenn der pfad vorhanden ist sollte er ja dann schreiben können und somit sollte das programm auch laufen. |
Re: M3U Playlist Creator
daran scheints nicht gelegen zu haben :(
die selben errors kommen und dahinter hängt nun noch ein "Ungültiger Dateiname". Edit: Okay ich weiß nun woran es liegt: dein programm versucht auf biegen und brechen nach c:\Dokumente und Einstellungen\User\Application Data\PLC\Logs zu schreiben. aber ich hab ein deutsches XP, da heißt er ordner leider "Anwendungsdaten" statt application data. Du solltest vielleicht den pfad %appdata%\PLC\Logs verwenden und %appdata% auflösen, hier ein code wie das geht:
Delphi-Quellcode:
MfG
function TForm1.GetDirectory: String;
var Appdata : String; begin Appdata := SysUtils.GetEnvironmentVariable('appdata'); if not DirectoryExists (Appdata + '\PLC') then mkdir (appdata + '\PLC'); if not DirectoryExists (Appdata + '\PLC\Logs') then mkdir (appdata + '\PLC\Logs'); result := Appdata + '\PLC\Logs'; end; |
Re: M3U Playlist Creator
Hi!
Könntest du bitte im ersten Beitrag noch die Größe des Downloads angeben? Danke! Ciao, Frederic |
Re: M3U Playlist Creator
Zitat:
Delphi-Quellcode:
allerdings hänge ich danach noch fix die tas_AppData konstante an, welche in meiner myGlobals Unit fix definiert ist (ich arbeite immer auf englischen Systemen).
function getUserProfilePath : String;
begin GetEnvironmentVariable('USERPROFILE', cmdBUffer, SizeOf(cmdBuffer)); {Userprofile Variable auslesen} result:=cmdBuffer; Profilepath:=cmdBuffer; end;
Delphi-Quellcode:
myGlobals:
// Konfiguration einlesen
getinipath; getusername; // Verzeichnis prüfen u. erstellen für Logfile Dateien (Profil\Appdata...) chkdir(getuserprofilepath+tas_appdata);
Delphi-Quellcode:
werde dies umbauen und diese konstanten ins Ini-File auslagern oder aber deine funktion reinhängen...
const
condatei:string = 'plc_init.con'; inidatei:string = 'plc_init.ini'; logdatei:string = 'plc_log.log'; sqlcondatei:string = 'plc_conn.dat'; expcdatei:string = 'plc_excp.dat'; logfilesdir:string = '\Application Data\PLC\Logs'; tas_appdata:string = '\Application Data\PLC'; m3u_zeile1 = '#EXTM3U'; m3u_zeile2 = '#EXTINF:'; |
Re: M3U Playlist Creator
Die Variable AppData ist nicht nötig, wenn es sowieso Result zugewiesen wird. Dann gibt die obige Function bei Fehlschlagen auch einen ungültigen Pfad zurück?
Delphi-Quellcode:
Ist jetzt ungetestet, weil ich hier kein passendes Delphi zum ausprobieren hab'. D5 kennt "GetEnvironmentVariable" nicht, gibt die Function den Pfad mit/ohne Delimiter zurück?
function TForm1.GetDirectory: String;
begin Result := SysUtils.GetEnvironmentVariable('appdata'); if FileCtrl.ForceDirectories(Result + '\PLC\Logs') then Result := Result + '\PLC\Logs'; end; // Alternativ function TForm1.GetDirectory(const Default : String): String; begin Result := SysUtils.GetEnvironmentVariable('appdata'); if FileCtrl.ForceDirectories(Result + '\PLC\Logs') then Result := Result + '\PLC\Logs' else Result := Default; end; |
Re: M3U Playlist Creator
hi, die funktion gibt es ohne ein "\" zurück, also einfach c:\blabla\Anwendungsdaten
ich hab in meinem project joytoany ne funktion verbaut, die das appdata verzeichniss auf allen system sucht (teils systemabhängig) und eine fehlerbehandlung besitzt, kannst es dir ja auf sourceforge mal anschaun. ist in der uJTAFunctions.pas drinne. MfG |
Re: M3U Playlist Creator
Nochmal zum Thema Logfile Erstellung.
Habe das Problem erkannt und nun die Technik überarbeitet. Neu sollte also die OS Sprache kein Problem mehr darstellen. Ausserdem wird die Ordnerstruktur nun auch wirklich automatisch erstellt (da war auch noch ein Bug drin). Ich verwende neu die getAppDataPath Funktion für die Erkennung des Anwendungsdaten Ordners im Profil. Download: Source ist aktuell, siehe erster Beitrag. |
Re: M3U Playlist Creator
Naja man kann ja nur mp3 und wav in die playlist einfügen.Veleicht ist das hier was für dich hab ich sogar hier gefunden.
Ist auf der bass.dll aufgebaut und ist aus dem Porject Mein erster mp3 player.
Delphi-Quellcode:
Gespeichert wird das ganse so
procedure TForm1.BtnAddFilesClick(Sender: TObject);
var i: Integer; begin if FilesOpenDialog.Execute then for i := 0 to FilesOpenDialog.Files.Count - 1 do MeMPPlaylist.Add(FilesOpenDialog.Files[i]); end;//Die Sounds werden in eine Tlistview eingefügt
Delphi-Quellcode:
procedure TForm1.BtnSaveListClick(Sender: TObject);
begin if PlaylistSaveDialog.Execute then MeMPPlaylist.SaveToFile(PlaylistSaveDialog.FileName); end;
Delphi-Quellcode:
// ================================================
// Playlist-Dateien laden und speichern // ================================================ procedure TMeMPPlaylist.LoadFromM3U(aFilename: String); var mylist: tStringlist; i: Integer; s: String; begin mylist := TStringlist.Create; mylist.LoadFromFile(aFilename); if (myList.Count > 0) then begin if (myList[0] = '#EXTM3U') then //Liste ist im EXT-Format begin i := 1; while (i < myList.Count) do begin // Zuerst kommen ggf. die ExtInf-Daten s := myList[i]; if trim(s) = '' then inc(i) else begin if (copy(s,0,7) = '#EXTINF') then // ExtInf-Zeile überspringen inc(i); Add(ExpandFilename(myList[i])); inc(i); end; end; end else // Liste ist nicht im EXT-Format - einfach nur Dateinamen for i := 0 to myList.Count - 1 do begin if trim(mylist[i])='' then continue; Add(ExpandFilename(myList[i])); end; end; FreeAndNil(myList); end;
Delphi-Quellcode:
Hier wird sie direckt alls m3u gespeichert
procedure TMeMPPlaylist.SaveAsM3U(aFilename: String); var myList: tStringlist; i:integer; aAudiofile: TAudioFile; begin myList := TStringList.Create; myList.Add('#EXTM3U'); for i := 0 to fPlayList.Count - 1 do begin aAudiofile := fPlaylist[i] as TAudioFile; myList.add('#EXTINF:' + IntTostr(aAudiofile.Dauer) + ',' + aAudioFile.Interpret + ' - ' + aAudioFile.Titel); myList.Add(ExtractRelativePath(aFilename, aAudioFile.Pfad )); end; myList.SaveToFile(afilename); FreeAndNil(myList); end; |
AW: M3U Playlist Creator
Playlist Creator - Download geht nicht.
|
AW: M3U Playlist Creator
Zitat:
|
AW: M3U Playlist Creator
Da wird niemand den Link fixen können. Die Domain scheint tot zu sein und somit ist der Download wohl auch gestorben. Außer jemand hat das Ding noch.
Das kommt aber davon, wenn man meint extern hosten zu müssen -- I hate it! |
AW: M3U Playlist Creator
Ihr könntet versuchen eine PN an toyoman zu schicken,
wenn dieser sich via eMail über den PN-Empfang informieren läßt, die Mail-Addy noch existiert, er darauf auch noch reagiert usw., dann könntet ihr Glück haben. PS: Er war hier seit über einem Jahr nicht mehr online. oder, man gehe auf www.google.de und suche dort mal nach "M3U Playlist Creator" (inkl. der Anführungszeichen) und habe Glück bei der Suche oder finde ein Alternativprodukt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz