MP3-Player
-
- Interessierter
- Beiträge: 69
- Registriert: Donnerstag 4. März 2004, 21:15
MP3-Player
Hallo,
ich wollte gern mal wissen ob diese Art Playlist im MP3-Player zwingend nötig ist. Damit meine ich die Tatsache das ich immer erst irgendwelche Verzeichnisse usw. meiner Liste "hinzufügen" muss bevor ich etwas abspielen kann.
Wäre es nicht sinnvoller direkt das gemountetet Verzeichnis, also die Dateistruktur, anzuzeigen und bei Auswahl einer MP3-Datei sofort das Abspielen zu beginnen, eben so wie im Movieplayer?
Gruß, donygros
ich wollte gern mal wissen ob diese Art Playlist im MP3-Player zwingend nötig ist. Damit meine ich die Tatsache das ich immer erst irgendwelche Verzeichnisse usw. meiner Liste "hinzufügen" muss bevor ich etwas abspielen kann.
Wäre es nicht sinnvoller direkt das gemountetet Verzeichnis, also die Dateistruktur, anzuzeigen und bei Auswahl einer MP3-Datei sofort das Abspielen zu beginnen, eben so wie im Movieplayer?
Gruß, donygros
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
-
- Interessierter
- Beiträge: 69
- Registriert: Donnerstag 4. März 2004, 21:15
Ja natürlich aber wenn ich sofort meine Filestruktur sehe kann ich doch gleich mehrere einzelne Files markieren und die dann abspielen. ohne das ich vorher den Weg über "Hinzufügen" gehe, dort alles markiere auf "OK" drückeSepp776 hat geschrieben:hmm, ich glaube beim MP3-Player ist es eher die Ausnahme, dass man ein einzelnes File abspielt oder?
dann meine eigentliche Playlist sehe und dann über "OK" dann letzendlich etwas starte.
Ausserdem solllte man wenn man z.B. ganze Alben auf der Platte abgelegt hat eh ein Playlistfile in dem Ordner haben (ist zumindest meine Meinung). Wählt man dieses Playlistfile aus und drück auf "OK" wird ebend das komplette Album gespielt. Will ic h dagegen nur ein bestimmtes Stück hören, wähle ich es eben aus und drück auf "OK" was dann das sofortige Abspielen bewirken sollte.
Ich denke das dieses Vorgehen auch einigen Leuten das Leben einfacher machen könnte die die DBOX z.B. ohne Fernseher betreiben, also nur Musik hören. Davon gibt es ja auch einige.
Gruß, dongyros
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
-
- Interessierter
- Beiträge: 69
- Registriert: Donnerstag 4. März 2004, 21:15
Nicht ganz, wenn ich den MP3-Player starte will ich schon direkt die Filestruktur sehen. Also nicht erst eine leere Liste wo ich erst was hinzufügen muss. Deswegen auch meine Frage weiter oben ob dieser Schritt über diese Liste nötig ist?
Ich mein natürlich wäre dein Vorschlag auch schonmal nicht schlecht aber wieso sehe ich erst eine leere Liste? Das ist zumindest in meinen Augen unsinnig.
Eigentlicher Vorgang:
MP3-Player starten->Grüne Taste(hinzufügen)->Gelbe Taste(markieren)->OK->OK
Besserer Vorgang:
MP3-Player starten->Gelbe Taste(markieren)->OK
Das wären dann 2 Schritte weniger.
Ich mein natürlich wäre dein Vorschlag auch schonmal nicht schlecht aber wieso sehe ich erst eine leere Liste? Das ist zumindest in meinen Augen unsinnig.
Eigentlicher Vorgang:
MP3-Player starten->Grüne Taste(hinzufügen)->Gelbe Taste(markieren)->OK->OK
Besserer Vorgang:
MP3-Player starten->Gelbe Taste(markieren)->OK
Das wären dann 2 Schritte weniger.
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
ach so, verstehe. Das wäre ja auch ganz leicht zu realisieren:
Code: Alles auswählen
//beim start des mp3-players:
wenn (playlist_leer)
öffne_filebrowser;
sonst
zeige_playlist;
Philips Sat
Astra 19.2°
Astra 19.2°
-
- Interessierter
- Beiträge: 69
- Registriert: Donnerstag 4. März 2004, 21:15
-
- Senior Member
- Beiträge: 782
- Registriert: Dienstag 25. Februar 2003, 21:35
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
na den source kannst du dir doch problemlos angucken
http://cvs.tuxbox-cvs.sourceforge.net/c ... cvs-markup
Die show() Funktion müsste hier wohl angepasst werden. Würde das ja gerne einbauen, aber leider habe ich gerade keinen Linux-Rechner mit dem ich ne Yadd zum testen laufen lassen könnte
http://cvs.tuxbox-cvs.sourceforge.net/c ... cvs-markup
Die show() Funktion müsste hier wohl angepasst werden. Würde das ja gerne einbauen, aber leider habe ich gerade keinen Linux-Rechner mit dem ich ne Yadd zum testen laufen lassen könnte
Philips Sat
Astra 19.2°
Astra 19.2°
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
Folgende Funktionen bzw. Fehlerbereinigungen wünsche ich mir für den mp3-player, den ich fast ausschließlich fürs musik hören benutze:
- bug: nach sound-mitteilung, dass neue mails auf dem server liegen, kann der player erst wieder nach einem box reset gestartet werden.
- feature: abspeichern von playlists (als m3u)
- feature: fortschrittsbalken in der lcd anzeige (analog zum tv modus)
- bug: anzeige der titeldauer bei vbr codierten mp3s (hier stimmen die initial angezeigten werte überhaupt nicht)
ist da was machbar?
- bug: nach sound-mitteilung, dass neue mails auf dem server liegen, kann der player erst wieder nach einem box reset gestartet werden.
- feature: abspeichern von playlists (als m3u)
- feature: fortschrittsbalken in der lcd anzeige (analog zum tv modus)
- bug: anzeige der titeldauer bei vbr codierten mp3s (hier stimmen die initial angezeigten werte überhaupt nicht)
ist da was machbar?
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
Denke mal das ist das Problem, das npq heute morgen gefixt hat...jotwee hat geschrieben: - bug: nach sound-mitteilung, dass neue mails auf dem server liegen, kann der player erst wieder nach einem box reset gestartet werden.
Das müsste sich recht schnell machen lassen, schau ich mir mal an...- feature: fortschrittsbalken in der lcd anzeige (analog zum tv modus)
Die durchschnittliche Bitrate steht AFAIK halt nirgends im File, genausowenig wie die Tracklänge. Deswegen lässt sich die Tracklänge nur berechnen indem man die Bitraten aus allen Frames des mp3 nimmt und dann den Durschnitt bildet. Man muss das File quasi komplett durchscannen und das dauert halt sehr lang.Im Moment werden deswegen nur ein paar frames am Anfang gelesen und dementsprechend ungenau ist halt die durschnittliche Bitrate und somit auch die Tracklänge. Während des Abspielens müssen die einzelnen Frames dann eh gelesen werden und dabei wird dann auch die durschnittliche Bitrate und die Tracklänge korrigiert.- bug: anzeige der titeldauer bei vbr codierten mp3s (hier stimmen die initial angezeigten werte überhaupt nicht)
Ich weiss im Moment nicht wie das performant zu lösen wäre.
Wenn man sich zB mal winamp anschaut, dann merkt man auch, dass der bei vbr mp3's vergleichsweise lange braucht, um die Tracklänge anzuzeigen...
Zwen
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
Zu der ursprünglichen Sache mit der Playlist hätte ich noch einen Vorschlag (muss etwas weiter ausholen ):
Ein schönes Hintergrundbild würde dem Audioplayer sehr gut stehen. Das bringt aber nur was, wenn man auch was vom Hintergrund sieht.
Wenn einfach nebenbei Musik läuft braucht man die Playlist, die den größten Teil des Bildes ausmacht, eh nicht unbedingt. Wie wäre es also, wenn man die Verwendung der Playlist generell optional macht.
- Wenn sie eingeschaltet ist, bleibt alles wie bisher.
- Wenn sie ausgeschaltet ist, wird beim Start direkt der Filebrowser angezeigt. Nach der Auswahl startet direkt das Abspielen, ohne dass die Playlist angezeigt wird. Die Tastenbelegungen müssten dann allerdings unter die Track-Info oder ganz an den unteren Bildschirmrand wandern.
@Zwen: Vielleicht hast du ja 2-3 Tage übrig *duck*
Ciao,
Sepp.
Ein schönes Hintergrundbild würde dem Audioplayer sehr gut stehen. Das bringt aber nur was, wenn man auch was vom Hintergrund sieht.
Wenn einfach nebenbei Musik läuft braucht man die Playlist, die den größten Teil des Bildes ausmacht, eh nicht unbedingt. Wie wäre es also, wenn man die Verwendung der Playlist generell optional macht.
- Wenn sie eingeschaltet ist, bleibt alles wie bisher.
- Wenn sie ausgeschaltet ist, wird beim Start direkt der Filebrowser angezeigt. Nach der Auswahl startet direkt das Abspielen, ohne dass die Playlist angezeigt wird. Die Tastenbelegungen müssten dann allerdings unter die Track-Info oder ganz an den unteren Bildschirmrand wandern.
@Zwen: Vielleicht hast du ja 2-3 Tage übrig *duck*
Ciao,
Sepp.
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
Neh, das ist nix für mich, da fehlt der thrill
Ich will das das Zeugs funktioniert, wer blaue Schleifchen oder Blümchen haben will, soll das selber machen.
Es könntet ja auch jemand den Screensaver erweitern, dass es ein Bildchen zeigt, da muss man dann nicht die ganze Playlist rauscoden.
Tja und ob jetzt ein Tastendruck mehr oder weniger bis zum Starten des Musik-Vergnügens vonnöten ist Sag ich jetzt mal nix zu
Ich will das das Zeugs funktioniert, wer blaue Schleifchen oder Blümchen haben will, soll das selber machen.
Es könntet ja auch jemand den Screensaver erweitern, dass es ein Bildchen zeigt, da muss man dann nicht die ganze Playlist rauscoden.
Tja und ob jetzt ein Tastendruck mehr oder weniger bis zum Starten des Musik-Vergnügens vonnöten ist Sag ich jetzt mal nix zu
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
hi zwen,
im aktuellen jtg-snap vom 2.6. ist ja schon ein neues lcd layout drin
super!
zwei bemerkungen dazu:
1.) nach verlassen des audioplayers wird die lautstärkeanzeige nicht aktualisiert (bleibt auf dem stand des fortschrittsbalkens)
2.) kannst du denfortschrittsbalken nicht nach oben nehmen (also den neutrino-schriftzug ersetzen)?
gruß,
j
im aktuellen jtg-snap vom 2.6. ist ja schon ein neues lcd layout drin
super!
zwei bemerkungen dazu:
1.) nach verlassen des audioplayers wird die lautstärkeanzeige nicht aktualisiert (bleibt auf dem stand des fortschrittsbalkens)
2.) kannst du denfortschrittsbalken nicht nach oben nehmen (also den neutrino-schriftzug ersetzen)?
gruß,
j
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
Hm, bei mir schon, da erscheint immer nach dem Verlassen des MP3-Players die akt. Lautstärke auf dem TV und dem LCD, ich kann das aber auch explizit setzen, dann sollte es auf jeden Fall gehen...jotwee hat geschrieben: 1.) nach verlassen des audioplayers wird die lautstärkeanzeige nicht aktualisiert (bleibt auf dem stand des fortschrittsbalkens)
Nein, die obere Zeile ist tabu (zumindest halt ich das so), die gehört zum Corporate Design.2.) kannst du denfortschrittsbalken nicht nach oben nehmen (also den neutrino-schriftzug ersetzen)?
Zwen
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
hmm... was kann ich tun, um dich zu überzeugen ;-)Zwen hat geschrieben:... zum Implementieren fehlt mir die Lust bzw. der persönliche Nutzen.
ich fänds halt megapraktisch, wenn ich mir playlists bquem vom sofa aus erstellen kann (da gelingt einem schon manchmal der ultimative mix...) und diese playlists dann später am rechner auf meinen tragbaren mp3-player schieben kann.
da ich einige tausend mp3s auf meinem rechner habe, wär das für mich mehr als nice2have...
aber ok, ich will ja nicht betteln...
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
also ich habe da mal was gemacht:
ist ziemlich einfach gehalten:
Wenn nichts abgespielt wird speichert ? eine m3u playlist in /tmp/playlist.m3u
die Pfade sind absolut, also mit den mounts.
Hier mal ein diff, ich hoffe das waren alle Dateien
Schaut sich eigentlich gelegentlich jemand die locales an?
Ich habe da jetzt nur die deutschen und englischen geaendert.
Vielleicht könnte man ja in ein Verzeichnis des Audioplayers alle Playlists speichern und diese dann auch wieder ladbar machen.
Was mir auch nicht so ganz gefällt ist der absolute Pfad innerhalb der .m3u, aber egal.
Zumindest ist das hier mal ein Anfang.
Wenn die Audioplayer-Devs damit einverstanden sind, dann könnte ich da ein bisschen was machen, nachdem wir uns auf mögliche Änderungen/Erweiterungen geeinigt haben.
Falls irgendwas nicht ok ist (Code, Formatierung, Tastenauswahl, etc), dann bitte gleich sagen, sonst wird es noch schlimmer
Ach ja, in nächster Zeit werde ich nicht unendlich viel Zeit haben, falls sich jemand mit mehr Zeit drum kümmern will...
Noch was: ich habe längere Zeit nicht mehr mitgelesen, kann der Player vielleicht schon .m3us abspielen? Ich habe zwar nichts derartiges gelesen, aber es wäre ja möglich.
ciao,
ChakaZulu
also ich habe da mal was gemacht:
ist ziemlich einfach gehalten:
Wenn nichts abgespielt wird speichert ? eine m3u playlist in /tmp/playlist.m3u
die Pfade sind absolut, also mit den mounts.
Hier mal ein diff, ich hoffe das waren alle Dateien
Code: Alles auswählen
Index: data/locale/deutsch.locale
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/data/locale/deutsch.locale,v
retrieving revision 1.305
diff -u -r1.305 deutsch.locale
--- a/data/locale/deutsch.locale 6 Jun 2004 14:10:59 -0000 1.305
+++ b/data/locale/deutsch.locale 6 Jun 2004 20:13:34 -0000
@@ -461,6 +461,7 @@
mp3player.shuffle Shuffle
mp3player.stop Stopp
mp3player.title_artist Titel, Interpret
+mp3player.save_playlist Playlist speichern
networkmenu.broadcast Broadcast
networkmenu.dhcp DHCP
networkmenu.gateway Standard Gateway
Index: data/locale/english.locale
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/data/locale/english.locale,v
retrieving revision 1.240
diff -u -r1.240 english.locale
--- a/data/locale/english.locale 6 Jun 2004 14:10:59 -0000 1.240
+++ b/data/locale/english.locale 6 Jun 2004 20:13:36 -0000
@@ -461,6 +461,7 @@
mp3player.shuffle shuffle
mp3player.stop Stop
mp3player.title_artist Title, Artist
+mp3player.save_playlist save play list
networkmenu.broadcast Broadcast
networkmenu.dhcp DHCP
networkmenu.gateway default gateway
Index: src/gui/audioplayer.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/audioplayer.cpp,v
retrieving revision 1.8
diff -u -r1.8 audioplayer.cpp
--- a/src/gui/audioplayer.cpp 4 Jun 2004 22:51:15 -0000 1.8
+++ b/src/gui/audioplayer.cpp 6 Jun 2004 20:13:38 -0000
@@ -62,6 +62,7 @@
#include <algorithm>
#include <sys/time.h>
#include <fstream>
+#include <iostream>
#if HAVE_DVB_API_VERSION >= 3
#include <linux/dvb/audio.h>
@@ -555,10 +556,14 @@
}
else
{
- if(m_state!=CAudioPlayerGui::STOP)
+ if(m_state!=CAudioPlayerGui::STOP)
{
key_level=1;
paintFoot();
+ } else {
+ if (!playlist.empty()) {
+ savePlaylist();
+ }
}
}
}
@@ -819,6 +824,11 @@
{
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_OKAY, x + 1* ButtonWidth2 + 25, y+(height-info_height-buttonHeight)-3);
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x + 1 * ButtonWidth2 + 53 , y+(height-info_height-buttonHeight)+24 - 4, ButtonWidth2- 28, g_Locale->getText(LOCALE_AUDIOPLAYER_PLAY), COL_INFOBAR, 0, true); // UTF-8
+ if (m_state==CAudioPlayerGui::STOP) {
+ // help will store a playlist file
+ frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_HELP, x+ 0* ButtonWidth + 25, y+(height-info_height-buttonHeight)-3);
+ g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(x+ 0* ButtonWidth +53 , y+(height-info_height-buttonHeight)+24 - 4, ButtonWidth2- 28, g_Locale->getText(LOCALE_AUDIOPLAYER_SAVE_PLAYLIST), COL_INFOBAR, 0, true); // UTF-8
+ }
}
if(m_state!=CAudioPlayerGui::STOP)
{
@@ -1358,3 +1368,26 @@
}
}
+void CAudioPlayerGui::savePlaylist() {
+
+ // .m3u playlist
+ // http://hanna.pyxidis.org/tech/m3u.html
+
+ std::ofstream playlistFile("/tmp/playlist.m3u");
+ if (!playlistFile) {
+ std::cout << "could not create play list file "
+ << "/tmp/playlist.m3u" << std::endl;
+ return;
+ }
+ playlistFile << "#EXTM3U" << std::endl;
+
+ CPlayList::const_iterator it;
+ for (it = playlist.begin();it!=playlist.end();it++) {
+ // std::cout << "file: " << it->Filename << std::endl;
+ playlistFile << "#EXTINF:" << it->Duration << ","
+ << it->Artist << " - " << it->Title << std::endl;
+ playlistFile << it->Filename << std::endl;
+ }
+ playlistFile.close();
+}
+
Index: src/gui/audioplayer.h
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/gui/audioplayer.h,v
retrieving revision 1.1
diff -u -r1.1 audioplayer.h
--- a/src/gui/audioplayer.h 30 May 2004 16:47:36 -0000 1.1
+++ b/src/gui/audioplayer.h 6 Jun 2004 20:13:38 -0000
@@ -140,6 +140,7 @@
void updateTimes(const bool force = false);
void showMetaData();
void screensaver(bool on);
+ void savePlaylist();
public:
CAudioPlayerGui();
Index: src/system/localize.h
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/system/localize.h,v
retrieving revision 1.38
diff -u -r1.38 localize.h
--- a/src/system/localize.h 6 Jun 2004 14:06:18 -0000 1.38
+++ b/src/system/localize.h 6 Jun 2004 20:13:43 -0000
@@ -532,6 +532,7 @@
#define LOCALE_AUDIOPLAYER_SHUFFLE "mp3player.shuffle"
#define LOCALE_AUDIOPLAYER_STOP "mp3player.stop"
#define LOCALE_AUDIOPLAYER_TITLE_ARTIST "mp3player.title_artist"
+#define LOCALE_AUDIOPLAYER_SAVE_PLAYLIST "mp3player.save_playlist"
#define LOCALE_NETWORKMENU_BROADCAST "networkmenu.broadcast"
#define LOCALE_NETWORKMENU_DHCP "networkmenu.dhcp"
#define LOCALE_NETWORKMENU_GATEWAY "networkmenu.gateway"
Ich habe da jetzt nur die deutschen und englischen geaendert.
Vielleicht könnte man ja in ein Verzeichnis des Audioplayers alle Playlists speichern und diese dann auch wieder ladbar machen.
Was mir auch nicht so ganz gefällt ist der absolute Pfad innerhalb der .m3u, aber egal.
Zumindest ist das hier mal ein Anfang.
Wenn die Audioplayer-Devs damit einverstanden sind, dann könnte ich da ein bisschen was machen, nachdem wir uns auf mögliche Änderungen/Erweiterungen geeinigt haben.
Falls irgendwas nicht ok ist (Code, Formatierung, Tastenauswahl, etc), dann bitte gleich sagen, sonst wird es noch schlimmer
Ach ja, in nächster Zeit werde ich nicht unendlich viel Zeit haben, falls sich jemand mit mehr Zeit drum kümmern will...
Noch was: ich habe längere Zeit nicht mehr mitgelesen, kann der Player vielleicht schon .m3us abspielen? Ich habe zwar nichts derartiges gelesen, aber es wäre ja möglich.
ciao,
ChakaZulu
-
- Einsteiger
- Beiträge: 147
- Registriert: Mittwoch 5. Mai 2004, 10:41
ja, m3u's kann man in die playliste laden und dann auch abspielen...ChakaZulu hat geschrieben:...kann der Player vielleicht schon .m3us abspielen?
danke, das ist ja schon mal ein anfang...
optimal wäre:
- relative pfade in m3u
- abspeichern per tastendruck in bel. verzeichnis (also auch mnt)
- eingabe des dateinamens
Ich weiss, ich bin unverschämt... und wenn ich selbst programmieren könnte, würd ichs tun
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hm, interessant. als ich das gestern mal testweise probiert habe, hat das nicht funktioniert..ja, m3u's kann man in die playliste laden und dann auch abspielen...
zu dem rest:
wenn niemand was dagegen hat, dann könnte ich das schon machen.
aber wie gesagt, es wird nicht allzu schnell passieren, falls es also jemand anderes dann doch machen will, sollte er das mitteilen. doppelte arbeit muss ja nicht gemacht werden.
und ein kommentar zu dem patch oben, ob das so ok ist, wäre auch nicht schlecht (nicht falsch verstehen, ich weiss dass ihr nicht den ganzen Tag im Forum unterwegs seid)
ciao,
ChakaZulu
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50