Suchen in Playlists
-
- Einsteiger
- Beiträge: 216
- Registriert: Freitag 6. September 2002, 15:32
Suchen in Playlists
Wie schauts mit der Suche in Playlists aus? Ich persönlich habe das Problem, dass ich einige sehr große Playlists habe. Um hier ein sepzielles Stück zu finden ist es recht müsig die Seiten durch zu blättern.
Meine Vorstellung ist, per Zifferntastatur Anfangsbuchstaben des gesuchten Tracks einzugeben, und die Selektion springt automatisch an die gewünschte Stelle.
Die jetzige Belegung der Ziffern zur Direktanwahl der Nummerierung der Tracks könnte dann weg fallen.
ODer gibt es schon ein solches Feature, das ich bis jetzt noch nicht gefunden habe?
Meine Vorstellung ist, per Zifferntastatur Anfangsbuchstaben des gesuchten Tracks einzugeben, und die Selektion springt automatisch an die gewünschte Stelle.
Die jetzige Belegung der Ziffern zur Direktanwahl der Nummerierung der Tracks könnte dann weg fallen.
ODer gibt es schon ein solches Feature, das ich bis jetzt noch nicht gefunden habe?
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
-
- Einsteiger
- Beiträge: 216
- Registriert: Freitag 6. September 2002, 15:32
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
also, ich habe mich mal drangewagt
Im Audioplayer-Optionenmenü gibt es eine neue Einstellung:
Titelsuche nach Name (SMS)
Wenn "ja", dann wird bei Tastendruck der erste Titel angesprungen, der mit dem Buchstaben anfängt. Wenn "nein", dann bleibt alles beim alten (Titelnummer wird angesprungen).
Das ganze reagiert etwas träge, da:
- jede Taste steht für drei Buchstaben. für ein b muss man z.b. zwei mal die 2 drücken. Damit nicht nach dem ersten druck der Titel mit a angesprungen wird brauche ich ein timeout um zu erkennen, dass der endgültige Buchstabe selektiert wurde. leider heisst das auch, dass der timeout die minimale Reaktionszeit definiert.
Wer eine bessere Lösung kennt, her damit
- die Liste bis zum nächsten Titel durchsucht werden muss, der mit dem Buchstaben anfängt, oder die ganze Liste, wenn es einen solchen Titel nicht gibt. Für alle Titel, die noch nicht angezeigt wurden, müssen dann auch noch die Metainformationen (Titel etc) gelesen werden, bei einer langen Liste kann das erste Suchen also seeeeeeeeehr lange dauern.
Im Audioplayer selber kann man dann die globale Einstellung noch überschreiben, mit der ?-Taste und wenn nichts abgespielt wird.
Ich hoffe mal, das funktioniert so.
ciao,
ChakaZulu
also, ich habe mich mal drangewagt
Im Audioplayer-Optionenmenü gibt es eine neue Einstellung:
Titelsuche nach Name (SMS)
Wenn "ja", dann wird bei Tastendruck der erste Titel angesprungen, der mit dem Buchstaben anfängt. Wenn "nein", dann bleibt alles beim alten (Titelnummer wird angesprungen).
Das ganze reagiert etwas träge, da:
- jede Taste steht für drei Buchstaben. für ein b muss man z.b. zwei mal die 2 drücken. Damit nicht nach dem ersten druck der Titel mit a angesprungen wird brauche ich ein timeout um zu erkennen, dass der endgültige Buchstabe selektiert wurde. leider heisst das auch, dass der timeout die minimale Reaktionszeit definiert.
Wer eine bessere Lösung kennt, her damit
- die Liste bis zum nächsten Titel durchsucht werden muss, der mit dem Buchstaben anfängt, oder die ganze Liste, wenn es einen solchen Titel nicht gibt. Für alle Titel, die noch nicht angezeigt wurden, müssen dann auch noch die Metainformationen (Titel etc) gelesen werden, bei einer langen Liste kann das erste Suchen also seeeeeeeeehr lange dauern.
Im Audioplayer selber kann man dann die globale Einstellung noch überschreiben, mit der ?-Taste und wenn nichts abgespielt wird.
Ich hoffe mal, das funktioniert so.
ciao,
ChakaZulu
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
Hi Chaka!
Super, da hast du ja richtig was geschafft
Hätte zwei Ideen dazu:
- Bei Handys ist es ja in der Regel so gelöst, dass der aktuell gewählte Anfangsbuchstabe berücksichtigt wird. Wenn du also bei a... bist und die ABC-Taste drückst, wird zu b gesprungen. Dann braucht's keinen Timeout. Oder habe ich was falsch verstanden?
- Die Suche kannst du vielleicht mit nem besseren Suchalgorithmus noch verbessern. Mein Wissen dazu ist etwas eingerostet. Was hast du denn für einen Suchalgorithmus implementiert?
Man könnte überlegen, bei dem Füllen der Playliste eine zusätzliche Liste mit den Positionen der einzelnen Buchstaben abzuspeichern, damit dauert das Erstellen der Liste nur unwesentlich länger und die Suche nach der Position des Anfangsbuchstabens geht in o(1).
CU,
Sepp.
Super, da hast du ja richtig was geschafft
Hätte zwei Ideen dazu:
- Bei Handys ist es ja in der Regel so gelöst, dass der aktuell gewählte Anfangsbuchstabe berücksichtigt wird. Wenn du also bei a... bist und die ABC-Taste drückst, wird zu b gesprungen. Dann braucht's keinen Timeout. Oder habe ich was falsch verstanden?
- Die Suche kannst du vielleicht mit nem besseren Suchalgorithmus noch verbessern. Mein Wissen dazu ist etwas eingerostet. Was hast du denn für einen Suchalgorithmus implementiert?
Man könnte überlegen, bei dem Füllen der Playliste eine zusätzliche Liste mit den Positionen der einzelnen Buchstaben abzuspeichern, damit dauert das Erstellen der Liste nur unwesentlich länger und die Suche nach der Position des Anfangsbuchstabens geht in o(1).
CU,
Sepp.
Philips Sat
Astra 19.2°
Astra 19.2°
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
ciao,
ChakaZulu
Prinzipiell richtig, aber ich kann nicht davon ausgehen, dass die Liste sortiert ist. Also bei A,B,A will ich beim ersten A vielleicht zum nächsten A und nicht zu B.- Bei Handys ist es ja in der Regel so gelöst, dass der aktuell gewählte Anfangsbuchstabe berücksichtigt wird. Wenn du also bei a... bist und die ABC-Taste drückst, wird zu b gesprungen. Dann braucht's keinen Timeout. Oder habe ich was falsch verstanden?
Lineare Suche auf der Liste, ich kann ja wie gesagt nicht von einer Sortierung ausgehen.- Die Suche kannst du vielleicht mit nem besseren Suchalgorithmus noch verbessern. Mein Wissen dazu ist etwas eingerostet. Was hast du denn für einen Suchalgorithmus implementiert?
Nunja, das könnte man evtl machen, ein Buchstabe nimmt ja nicht soviel Platz weg.Man könnte überlegen, bei dem Füllen der Playliste eine zusätzliche Liste mit den Positionen der einzelnen Buchstaben abzuspeichern, damit dauert das Erstellen der Liste nur unwesentlich länger und die Suche nach der Position des Anfangsbuchstabens geht in o(1).
ciao,
ChakaZulu
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
ach so. Klar dass die Liste nicht sortiert ist
Dann kannst du den ganzen Kram natürlich vergessen. Das speichern der Anfangsbuchstaben bringt dann ja auch nix.
Das einzige was mir dann noch einfällt ist, sofort beim Druck auf a,b,c zum nächsten Auftreten von einem der drei zu springen. Also
sowas in der Art
Vielleicht erstmal gucken wie handlich deine Lösung im täglichen Betrieb ist
Dann kannst du den ganzen Kram natürlich vergessen. Das speichern der Anfangsbuchstaben bringt dann ja auch nix.
Das einzige was mir dann noch einfällt ist, sofort beim Druck auf a,b,c zum nächsten Auftreten von einem der drei zu springen. Also
Code: Alles auswählen
für alle songs ab hier
wenn song.ersterbuchstabe == a || b || c
return song.position
Vielleicht erstmal gucken wie handlich deine Lösung im täglichen Betrieb ist
-
- Einsteiger
- Beiträge: 216
- Registriert: Freitag 6. September 2002, 15:32
Hi. Würde es auch gerne testen, aber im akteuellen YADI scheints noch net drin zu sein, und ausgerechnet jetzt hat die Platte meiner Linuxmaschine ihren Geist aufgegeben, so dass ich mich nicht am CVS bedienen kann..Schicksaal...
Was ist noch nciht so ganz verstanden habe--wieso ist die Liste nicht sortiert? Im großen und ganzen sehen mene eigentlich sortiert aus, so dass ein Handling ohne timeout genau wie beim filebrowser doch möglich sein sollte,oder welches Brett verspert mir mal wieder die Sicht.
Ansonsten super Sache dass du dich sofort meiner Idee angenommen hast DANKE!
Was ist noch nciht so ganz verstanden habe--wieso ist die Liste nicht sortiert? Im großen und ganzen sehen mene eigentlich sortiert aus, so dass ein Handling ohne timeout genau wie beim filebrowser doch möglich sein sollte,oder welches Brett verspert mir mal wieder die Sicht.
Ansonsten super Sache dass du dich sofort meiner Idee angenommen hast DANKE!
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
-
- Einsteiger
- Beiträge: 216
- Registriert: Freitag 6. September 2002, 15:32
OK-das mit dem shuffel ist sicherlich ein ARgument. Aber bei mir sortiert der Dateibrowser automatisch nach Namen (oder was man halt einstellt..) und genauso sortiert werden die Tracks auch in die Playlist aufgenommen. (Wohlgemerkt sortiert nach Dateinamen--nicht nach ID3, wie es später im Player steht...).
Um es also genau wie im Dateibrowser zu ermöglichen müßte man die selbe Funktionialität der Sortierung einbringen (nach Dateiname,ID3,Datum..)
Alternativ wäre es zu überlegen wie bereits angesprochen eine extra Liste mit Sortierung anzulegen, und diese dann (unabhängig von Sortierung der Playliste) bei der Suche zu nutzen und anzuzeigen. So könnte man eine unsortierte Playlist haben, und beim Druck einer Buchstabentaste dann eine auf diesen beschränkte Auswahlliste aus der sortiereten Liste bekommen.
Nach Auswahl des gewünschten Tracks springt man dann wieder in die "Original-Playlist"..
Das ist allerdings zugegebenerweise eine extrem aufwendige MEthode....ICh denke dass es auch zu aufwendig ist, um eine Sache wie die Suche zu realisieren-aber man wird ja noch träumen und spinnen dürfen
Vielleicht ist es ja auch so OK wie es ist-aber ich kann ja @mom nicht testen (
Um es also genau wie im Dateibrowser zu ermöglichen müßte man die selbe Funktionialität der Sortierung einbringen (nach Dateiname,ID3,Datum..)
Alternativ wäre es zu überlegen wie bereits angesprochen eine extra Liste mit Sortierung anzulegen, und diese dann (unabhängig von Sortierung der Playliste) bei der Suche zu nutzen und anzuzeigen. So könnte man eine unsortierte Playlist haben, und beim Druck einer Buchstabentaste dann eine auf diesen beschränkte Auswahlliste aus der sortiereten Liste bekommen.
Nach Auswahl des gewünschten Tracks springt man dann wieder in die "Original-Playlist"..
Das ist allerdings zugegebenerweise eine extrem aufwendige MEthode....ICh denke dass es auch zu aufwendig ist, um eine Sache wie die Suche zu realisieren-aber man wird ja noch träumen und spinnen dürfen
Vielleicht ist es ja auch so OK wie es ist-aber ich kann ja @mom nicht testen (
-
- Einsteiger
- Beiträge: 216
- Registriert: Freitag 6. September 2002, 15:32
So, hab auch endlich wieder nen Linux zur Verfügung, und habe mir mal ein aktuelles Image gebaut.
We du schon beschrieben hast reagiert die Suche wirklich leider sehr träge-teilweise stockt bei großen Playlists sogar die Wiedergabe.
Zu überlegen wäre wirklich die Playslist immer von vornherein zu sortieren, und es dann vom Filebrowser "zu klauen"..
Nur leider fahre ich übermorgen erstmal in den Urlaub, so dass ich momentan auch keine Zeit mir da nähere Gedanken zu zumachen-abgesehen von meiner geringen Erfahrung in Sachen tuxbox-programmierung aber schließlich fängt ja jeder mal klein an
Damit will ich in keinem Fall deine LEistung schmälern. Wenn jemand was positives zum Projekt hinzufügt kann das nur gut sein.
We du schon beschrieben hast reagiert die Suche wirklich leider sehr träge-teilweise stockt bei großen Playlists sogar die Wiedergabe.
Zu überlegen wäre wirklich die Playslist immer von vornherein zu sortieren, und es dann vom Filebrowser "zu klauen"..
Nur leider fahre ich übermorgen erstmal in den Urlaub, so dass ich momentan auch keine Zeit mir da nähere Gedanken zu zumachen-abgesehen von meiner geringen Erfahrung in Sachen tuxbox-programmierung aber schließlich fängt ja jeder mal klein an
Damit will ich in keinem Fall deine LEistung schmälern. Wenn jemand was positives zum Projekt hinzufügt kann das nur gut sein.
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
also das stocken sollte kein problem sein, dann wird die suche aber langsamersuse_rulez hat geschrieben: We du schon beschrieben hast reagiert die Suche wirklich leider sehr träge-teilweise stockt bei großen Playlists sogar die Wiedergabe.
evlt. kann man das mit dem delay noch ändern, ich hab da eine Idee
eine zweite suchstruktur würde evtl. die einlesezeit erhöhen, mal schauen. nur sortierte playlists zu akzeptieren fände ich persönlich nicht so toll.
/edit
ach ja, wie gross sind eigentlich die playlists bei euch so? hat das hinzufügen lange gedauert?
ciao,
ChakaZulu
-
- Einsteiger
- Beiträge: 216
- Registriert: Freitag 6. September 2002, 15:32
Also mit 1000 oder mehr handele ich gelegentlich schon. Gerne würde ich auch noch mehr nehmen-jedoch wird es dann einfach zu unübersichtlich, und man scrollt stundenlang herum-was sich mit der suche natürlich vereinfacheren würde.
Anstelle von nur sortierten Playlists zu akzeptierren könnte man doch (wie im großen Vorbild dem Filebrowser) verschiedene Sortiermöglichkeiten anbieten (nach NAme,Datum,...).
Anstelle von nur sortierten Playlists zu akzeptierren könnte man doch (wie im großen Vorbild dem Filebrowser) verschiedene Sortiermöglichkeiten anbieten (nach NAme,Datum,...).
-
- Semiprofi
- Beiträge: 1173
- Registriert: Samstag 1. September 2001, 00:00
für ganz große Playlisten kann so eine Sortierung vielleicht vorteilhaft sein, aber in der Regel denke ich doch mal, dass man die Sortierung der Playlist beibehalten will. Zb bei einem Album, da soll die Reihenfolge halt genau wie auf der CD sein.
Als Zusatzfeature ist die Sortierung also super, aber als Voraussetzung für die Suche denke ich eher nicht.
Ich glaube auch eine zweite Struktur zu nehmen und diese zu sortieren wäre nicht das Gelbe vom Ei, weil dann in der sichtbaren (unsortierten)Liste scheinbar willkürlich hin- und hergesprungen würde. Käme aber natürlich auf einen Versuch an
Als Zusatzfeature ist die Sortierung also super, aber als Voraussetzung für die Suche denke ich eher nicht.
Ich glaube auch eine zweite Struktur zu nehmen und diese zu sortieren wäre nicht das Gelbe vom Ei, weil dann in der sichtbaren (unsortierten)Liste scheinbar willkürlich hin- und hergesprungen würde. Käme aber natürlich auf einen Versuch an
Philips Sat
Astra 19.2°
Astra 19.2°
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
ich mache gerade ein paar Änderungen, vllt bring das ja was.
zum filebrowser:
da geht es zwar schnell, aber nicht so wie ich es mir vorstelle
Verzeichnisse (sortiert):
M1
M2
M3
N1
N2
Tastenfolge:
M (->M1 ausgewählt)
Pause
M (->M2 ausgewählt)
Pause
MM (->zuerst M3, dann N1 ausgewählt)
Pause
MM (->zuerst M1, dann N1 ausgewählt)
ich komme also nie zu N2, obwohl ich mit den letzten beiden M eigentlich hätte hinkommen müssen.
ciao,
ChakaZulu
ich mache gerade ein paar Änderungen, vllt bring das ja was.
zum filebrowser:
da geht es zwar schnell, aber nicht so wie ich es mir vorstelle
Verzeichnisse (sortiert):
M1
M2
M3
N1
N2
Tastenfolge:
M (->M1 ausgewählt)
Pause
M (->M2 ausgewählt)
Pause
MM (->zuerst M3, dann N1 ausgewählt)
Pause
MM (->zuerst M1, dann N1 ausgewählt)
ich komme also nie zu N2, obwohl ich mit den letzten beiden M eigentlich hätte hinkommen müssen.
ciao,
ChakaZulu
-
- Beiträge: 2
- Registriert: Freitag 24. September 2004, 21:25
Bedienung beim Suchen
Als Newbie bin ich erstaunt, was man alles programmieren könnte.
Zum Suchen ist die schnellste Methode die der sog. hierarchischen Suche mit den Pfeiltasten der FB (wenn diese denn zu fangen wären):
Nach unten erhöht den Buchstaben, nach rechts fügt einen hinzu, nach links löscht, nach oben zählt zurück.
Unten: >a; Rechts:>aa; Unten: >ab; Rechts:>aba; Unten: >abb; Rechts:>abba
Noch schneller wird es wenn, man dann zusätzlich noch die Ziffern verwendet.
Zum Suchen ist die schnellste Methode die der sog. hierarchischen Suche mit den Pfeiltasten der FB (wenn diese denn zu fangen wären):
Nach unten erhöht den Buchstaben, nach rechts fügt einen hinzu, nach links löscht, nach oben zählt zurück.
Unten: >a; Rechts:>aa; Unten: >ab; Rechts:>aba; Unten: >abb; Rechts:>abba
Noch schneller wird es wenn, man dann zusätzlich noch die Ziffern verwendet.
-
- Developer
- Beiträge: 457
- Registriert: Sonntag 23. März 2003, 00:39
hi,
nun, ich hab mal etwas dran rumgebastelt. momentan siehts so aus, dass sich das Einlesen sehr stark verlängert, da für die momentan unterstütze Suche nach dem Anfangsbuchstaben alle Metadaten (ID3) eingelesen werden müssen.
Bei etwa 1000 Dateien hat es 3 Minuten gedauert, bis die Playlist angezeigt wurde
Superideal ist das mit der SMS-Eingabe auch nicht, wenn man nicht mehr Tasten zur Verfügung hat. Vielleicht sollte ich da einen über ? erreichbaren Modus machen, um die bunten Tasten nutzen zu können.
Mal schauen
ciao,
ChakaZulu
nun, ich hab mal etwas dran rumgebastelt. momentan siehts so aus, dass sich das Einlesen sehr stark verlängert, da für die momentan unterstütze Suche nach dem Anfangsbuchstaben alle Metadaten (ID3) eingelesen werden müssen.
Bei etwa 1000 Dateien hat es 3 Minuten gedauert, bis die Playlist angezeigt wurde
Superideal ist das mit der SMS-Eingabe auch nicht, wenn man nicht mehr Tasten zur Verfügung hat. Vielleicht sollte ich da einen über ? erreichbaren Modus machen, um die bunten Tasten nutzen zu können.
Mal schauen
ciao,
ChakaZulu
-
- Beiträge: 2
- Registriert: Freitag 24. September 2004, 21:25
Suchen in Playlists
Hallo ChakaZulu,
ich freue mich, dass Du die Idee aufgenommen hast.
Die Suche in noch nicht bekanntem Datenstand kann unendlich lang dauern. Was fehlt ist ein Index, in dem die ID3-Daten vorgespeichert werden.
Hilfreich wäre eine Text-Datei der Form <Autor> chr(9)<Album> chr(9) <Titel> chr(9) <Pfadangabe>, in der gesucht wird.
Zur Suche könnte aber auch z.B. eine vorbereitete (WinAmp-)Playlist dienen, die an einem bekanntem Ort bereitliegt, z. B. auf dem Musikserver. Format: #EXTINF:<NNN>,<Interpret>- <Titel> CRLF
<Pfad>
Je besser die Datei sortiert ist, desto kürzer dauert die Suche.
bis dann,
steps
ich freue mich, dass Du die Idee aufgenommen hast.
Die Suche in noch nicht bekanntem Datenstand kann unendlich lang dauern. Was fehlt ist ein Index, in dem die ID3-Daten vorgespeichert werden.
Hilfreich wäre eine Text-Datei der Form <Autor> chr(9)<Album> chr(9) <Titel> chr(9) <Pfadangabe>, in der gesucht wird.
Zur Suche könnte aber auch z.B. eine vorbereitete (WinAmp-)Playlist dienen, die an einem bekanntem Ort bereitliegt, z. B. auf dem Musikserver. Format: #EXTINF:<NNN>,<Interpret>- <Titel> CRLF
<Pfad>
Je besser die Datei sortiert ist, desto kürzer dauert die Suche.
bis dann,
steps