Suchen in Playlists

Wünsche, Anträge, Fehlermeldungen
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Suchen in Playlists

Beitrag von suse_rulez »

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? :o
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

so weit ich weiß gibt es dieses Feature schon im Filebrowser. Müsste sich eigentlich machen lassen.
Muss nur einer Lust haben das einzubauen :)
Philips Sat
Astra 19.2°
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

Ja-genau diese Funktion meine ich. War wohl nen gesitiger Aussetzer meinerseits, dass so kompliziert zu umschreiben anstelle einfach zu sagen "Wie im Filebrowser" ...
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

mal schauen, wie es dort gemacht ist...
wobei man es konfigurierbar machen sollte, denn direkt über die nummer ist es für manche vielleicht komfortabler (wenn man eher die tracknummer kennt als den namen).

ciao,

ChakaZulu
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

jo, kommt vor allem auf die Größe der Playliste an würde ich sagen :)
Philips Sat
Astra 19.2°
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

also, ich habe mich mal drangewagt 8)

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
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

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.
Philips Sat
Astra 19.2°
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,
- 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?
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.
- 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?
Lineare Suche auf der Liste, ich kann ja wie gesagt nicht von einer Sortierung ausgehen.
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).
Nunja, das könnte man evtl machen, ein Buchstabe nimmt ja nicht soviel Platz weg.

ciao,

ChakaZulu
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

ach so. Klar dass die Liste nicht sortiert ist :P :roll:
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
sowas in der Art :o

Vielleicht erstmal gucken wie handlich deine Lösung im täglichen Betrieb ist :)
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

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 :D DANKE!
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

Die Reihenfolge der Songs ist doch beliebig. Wenn die Sachen bei dir sortiert sind, ok. Aber man kann es halt nicht voraussetzen. Du brauchst ja nur den Shuffle-Knopf zu drücken, dann war's das mit deiner Reihenfolge :D
Philips Sat
Astra 19.2°
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

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 :((
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

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 :D

Damit will ich in keinem Fall deine LEistung schmälern. Wenn jemand was positives zum Projekt hinzufügt kann das nur gut sein.
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

suse_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.
also das stocken sollte kein problem sein, dann wird die suche aber langsamer :(

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
suse_rulez
Einsteiger
Einsteiger
Beiträge: 216
Registriert: Freitag 6. September 2002, 15:32

Beitrag von suse_rulez »

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,...).
Sepp776
Semiprofi
Semiprofi
Beiträge: 1173
Registriert: Samstag 1. September 2001, 00:00

Beitrag von Sepp776 »

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 :)
Philips Sat
Astra 19.2°
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

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
steps
Beiträge: 2
Registriert: Freitag 24. September 2004, 21:25

Bedienung beim Suchen

Beitrag von steps »

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.
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

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
steps
Beiträge: 2
Registriert: Freitag 24. September 2004, 21:25

Suchen in Playlists

Beitrag von steps »

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