Winamp Playlist auslesen
-
Hallo,
Kann mir jemand bei folgendem helfen bzw. sagen was ich für funktionen usw. benützen soll:
Ich arbeite an einem Im-Game Winamp. Jetzt fehlt mir jedoch noch etwas, und zwar die playlist. Damit ich diese auch anzeigen kann muss ich per commands Winamp mitteilen, dass er die playlist speichert. Danach muss ich die Titel der Playlists auslesen. Da die playlist nicht nur Titel sondern noch andere Sachen beinhaltet. Jedoch brauche ich nur die SongTitel.
So sieht eine Playlist aus:#EXTM3U #EXTINF:LängeInSekunden,SongTitel \Pfad\zum\Song\SongTitel.mp3 #EXTINF:LängeInSekunden,SongTitel \Pfad\zum\Song\SongTitel.mp3 #EXTINF:LängeInSekunden,SongTitel \Pfad\zum\Song\SongTitel.mp3 #EXTINF:LängeInSekunden,SongTitel \Pfad\zum\Song\SongTitel.mp3 #EXTINF:LängeInSekunden,SongTitel \Pfad\zum\Song\SongTitel.mp3Hier müsste man die erste Zeile ignorieren. Dann in jeder Zeile die mit
#EXTINF:LängeInSekunden,anfängt, müsste man alles bis zum Komma ignorieren und den Rest "auslesen".
Wie mache ich das jetzt?
Jede Hilfe wäre dankbar.
-
hat sich erledigt...
-
#include <iostream> #include <string> #include <fstream> #include <cstring> int main() { std::string buf; std::string list; const char* s="#EXTINF"; const char* playlist_path=""; std::istream is(playlist_path); if(!is.is_open()) return 1; while(!is.eof()) { std::getline(is, buf); if(buf.compare(0, std::strlen(s), s)) list=buf.substr(buf.find(',') } is.close(); return 0; }Ungetestet und unfertig (list muss in der schleife noch verarbeitet werden, sonst wirds wieder überschrieben) aber vom prinzip her dürfts hinhaun. du hast dann nämlich alle daten die hinter dem komma stehn (und zwar nur in der zeile die mit #EXTINF beginnt) in list gespeichert.