Betty als MPD client

Begonnen von phaidros, 13. Okt 2009, 03:36

« vorheriges - nächstes »
Nach unten

phaidros

Zitat
Echt traumhaft wie stabil die Betty nun rennt!

Gut zu hören.

Zu deiner Idee:
Die Funkschnittstelle an sich ist nicht langsam. Die läuft mit 38kBaud, das sind ungefähr 4000 Bytes pro Sekunde. Also bei 300 Bytes pro Titel sollten mindestens 10 Titel pro Sekunde reinkommen.
Langsamer wird es, wenn die Funkverbindung gestört ist (vielleicht durch andere Sender auf der Frequenz). Dann warten sowohl Betty als auch mpdtool ein paar Sekunden auf einen Time-Out, bevor die Übertragung erneut versucht wird. Kommt bei mir selten vor (recht störungsfreie Umgebung).
Das mit dem Titelspeichern könnte eventuell gehen (ich weiß auch nicht genau, wie der NOR-Speicher anzusprechen ist, kann man aber ja rauskriegen).
ABER:
Was nützen mir 5000 Titel? Meine Sammlung ist deutlich größer. Ich hätte dann doch immer nur einen Teil im NOR, vielleicht gerade den, den ich nicht so oft brauche.
Da wären also ausgeklügelte Cache-Strategien nötig, weil man das NOR ja auch nicht beliebig oft überschreiben kann. Scheint mir recht aufwändig zu werden.
Alternative Möglichkeit.
Betty nutzt im Moment sowieso nur Titel und Interpret bei der Tracklist. Man könnte mpdtool beibringen, alles andere an Infos schon vor dem Senden rauszufiltern.
Vielleicht bringt das was. Ist schnell zu machen. (Infrastruktur für sowas ist in mpdtool schon vorhanden). Werde ich bei Gelegenheit mal austesten.

Gruß
Phaidros
 

jannis

Also ich komm mit dem flashen net klar. ich hab auch nen cp210x und mpd klappt ja auch wie man sieht:
./mpdtool /dev/ttyUSB0  192.168.178.23 6600
Checking scart adapter
Scart adapter firmware V1.0
MPD: OK MPD 0.15.0

(MPD): OK
(MPD): OK
MPD: Available Playlists = 11

Aber warum klappt das hier nicht?!

make resident
./flashtool /dev/ttyUSB0
Sending break
Read 0 characters:
       
Read 0 characters:
       
buffer[0] = 00
Error: Could not negotiate baud rate!
make: *** [resident] Error 20

gerdigerdi

Das Flashen des Scart-Adapters per flashtool hat bei mir erst nach dem einmaligen Einspielen des richtigen Images mit bootloader UND restarten (stromlos machen) des Scartadapters, funktioniert.
Es schien jedoch einen Bug im Linuxkerneltreiber für den cp210x gegeben zu haben. Ich nutze erfolgreich den gentookernel 2.6.35-gentoo-r5 zum Flashen.
Bei mir war es das falsche Image im Scart-Adapter.
Eigendlich sollte es ja klappen wenn der Kontakt zum mpdtool klappt.

Anderes Thema
Zitat
Die Funkschnittstelle an sich ist nicht langsam. Die läuft mit 38kBaud, das sind ungefähr 4000 Bytes pro Sekunde. Also bei 300 Bytes pro Titel sollten mindestens 10 Titel pro Sekunde reinkommen.
Langsamer wird es, wenn die Funkverbindung gestört ist (vielleicht durch andere Sender auf der Frequenz). Dann warten sowohl Betty als auch mpdtool ein paar Sekunden auf einen Time-Out, bevor die Übertragung erneut versucht wird.

Evtl langts ja schon die Time-Outs beidseitig zu verkürzen. In dem Frequenzband wird meines Wissens oft eh nur kurzzeitig gesendet (z.B. Außenthermometer).
Wird die Übertragung eigendlich Hard-oder Softwareseitig irgendwie fehlerkorigiert?

MfG
Gerdi

phaidros

Zitat
Wird die Übertragung eigendlich Hard-oder Softwareseitig irgendwie fehlerkorigiert?

Nein. Es gibt eine CRC-Checksumme, die hardwareseitig erzeugt und auch überprüft wird. Die dient nur der Fehlererkennung.
Eine Fehlerkorrektur wird bei drahtloser Übertragung eher selten gemacht, weil die häufigsten Fehler sind dabei sogenannte
Burst-Fehler, d.h. in einem Paket sind gleich ganz viele Bytes hintereinander gestört. Da bringt dann eine Fehlerkorrektur nicht
mehr viel.

Gruß
Phaidros

jannis

muss man die 3,3v anschliessen beim flashen des scart adapters? ich hab im mom nur folgende kabel angeschlossen: cp210x: rx/tx/gnd -> scart: tx/rx/gnd
Wenn es mit dem mpdtool klappt, kann das dann sein, dass es mit dem lpctool nicht klappt?! Oder kann mein cp210x dann tatsaechlich keinen break senden?!

gerdigerdi

#65
11. Jan 2011, 20:22 Last Edit: 11. Jan 2011, 20:27 by gerdigerdi
Der Scartadapter muss zum Flashen per Bootloader genauso angeschlossen sein wie er es zum Betrieb auch ist (Versorgungsspannung wie auch immer + rx/tx/gnd).
Zum Flashen natürlich das "flashtool" aus dem scart_image Verzeichnis - lpctool war nen Vertipper, oder ;)

Das habe ich zum "break-bug" des cp210x gefunden:
(falls Links nicht erlaubt sind bitte löschen) ;)https://patchwork.kernel.org/patch/129491/
Schließe daraus das der bug bis zum 2.6.34 er Kernel überlebt hat.

phaidros: Hab ich das richtig gesehen, dass du mit nem 2-Zeiler die Titelvergabe per Dateinamen gelöst hast? (hab die neuste noch nicht geflashed) 

MfG
Gerdi

jannis

Argh, ok, ich kompiliere meinen 2.6.33 dann jetzt zum 5. mal neu :D

phaidros

Zitat

phaidros: Hab ich das richtig gesehen, dass du mit nem 2-Zeiler die Titelvergabe per Dateinamen gelöst hast? (hab die neuste noch nicht geflashed) 


Im Prinzip ja. Ich habe das Problem einfach von Betty auf mpdtool verlagert. Da habe ich die schöne basename() Funktion schon, die ich sonst für Betty hätte schreiben mössen.
Vorher waren aber noch ein paar Aufräumarbeiten in Bettys Code nötig.
Ich habe auch gemerkt, dass ich viel mehr Stücke ohne richtigen Titel-Tag habe als gedacht.

Gruß
Phaidros

gerdigerdi

#68
12. Jan 2011, 12:57 Last Edit: 13. Jan 2011, 09:35 by gerdigerdi
Hab das noch bissel erweitert. Nun sollts auch in der Playlistansicht helfen ;)

Hatte noch keinen Nerv mit mit dem Git auseinander zu setzen, daher die Änderungen als File. Hab die Datein nochmal hochgeladen.

Leider scheints noch einen Bug in der Playansicht zu geben. Es wird nicht immer der Artist angezeigt zumindest nachdem ich meine Änderungen gemacht habe.
Es werden alle Artists angezeigt die als id3-tag existieren. Wird dann auf einen Tittel mit FakeArtist(ohne ide-Tag) ungeschaltet, wird der Erste Fehlerfrei angezeigt. alle weiteren danach nicht mehr (Siw werden aber zur betty gesendet!). Es scheint aber an meinen "Fuschcode" zu liegen. Wenn du zeit hast schaus dir mal an. 
MfG
Gerdi

phaidros

Zitat
Hatte noch keinen Nerv mit mit dem Git auseinander zu setzen, daher die Änderungen als File.


Das hat bei mir nicht funktioniert. Das tar Archiv enthält keine C-Datei?

Zitat
Leider scheints noch einen Bug in der Playansicht zu geben. Es wird nicht immer der Artist angezeigt.

Oha! Lässt sich das reproduzieren? Wenn ja, wie ?

Gruß
Phaidros

gerdigerdi

#70
13. Jan 2011, 09:35 Last Edit: 13. Jan 2011, 09:41 by gerdigerdi
Ich hab die Datei nochmal hochgeladen - nun sollts klappen - sorry!
Der Aufbau der Playlist funktionierte mit der Filterung übrigends flüssigst. Wie kann man im mpdtool filtern ob schon ein Titel/Artist Tag vorhanden ist, oder ob die Fake-Tags gesendet werden müssen? Mit doppelten Tags in der Tracklist (meine Änderung) wirds wieder langsam. Irgendwie steige ich noch nicht 100%ig durch deinen Code durch :/

Wie soll das eigentlich mit der Suche funktionieren (blaue Taste). Ergebnisse werden angezeigt aber nicht gespielt oder ist das noch nicht funktional?
MfG
Gerdi

phaidros

Zitat
Wie soll das eigentlich mit der Suche funktionieren (blaue Taste). Ergebnisse werden angezeigt aber nicht gespielt oder ist das noch nicht funktional?


Ein paar Buchstaben eingeben (wie auf Handy-Tastatur). Es erscheint eine Liste mit möglichen Kandidaten.
Mit dem Steuerkreuz hoch- und runterscrollen, bis man beim gewünschten Künstler ist. Dann OK drücken.
Alle Titel dieses Künstlers sollten dann in die laufende Playliste übernommen werden. Geht bei mir.

Zitat
Ich hab die Datei nochmal hochgeladen - nun sollts klappen - sorry!

Werde ich mir gleich mal anschauen.

Gruß

Phaidros

phaidros

Ich habe nur ganz kurz auf deinen Code geschaut. Du includest am Anfang die libgen. Das ist nicht gut. Die basename() Funktion in libgen garantiert nicht, dass der Original-String unverändert bleibt. Die GNU basename() verändert nichts am übergebenen string.

Wenn ich deinen Code richtig verstehe, möchtest du den Ordner-Namen als Namen des Künstlers übergeben. Das geht zwar, macht aber doch nur bei den Leuten Sinn, die ihre Dateien entsprechend gespeichert haben. Bei mir ist der Ordner-Name meistens (aber auch nicht immer) der Album-Titel. Und bei Compilations taucht der Künstler wahrscheinlich gar nicht im Dateinamen auf. Die Lösung ist also wohl nur selten wirklich gut. Ich finde es besser, dann einfach nichts (oder "?") anzuzeigen. Das erhöht den Leidensdruck auf den Anwender, endlich seine mp3s richtig zu taggen!

Zitat
Wie kann man im mpdtool filtern ob schon ein Titel/Artist Tag vorhanden ist, oder ob die Fake-Tags gesendet werden müssen?

Das kann man erst erkennen, wenn "OK" gesendet werden soll. Erst dann weiß man, dass nichts mehr kommt. Man mus vorher alle Antworten interpretieren und speichern,
wenn "Artist: " oder "Title: " erkannt wird.

Gruß
Phaidros

gerdigerdi

Das der Original-String verändert wird ist mir auch schon aufgefallen .. manchmal kommen da seltsame Ergebnisse zustande. Dann lieber wie gehabt.
Klappt das so mit der Tracklistansicht wie ich mir das gedacht habe? Du hast die Dateinamen ja nur in der Play-Ansicht übernommen.

Apropos Leidensdruck: Ich habe mich mal mit Kid3 drangemacht und meine MP3s nachgetagt.  Geht recht gut - mit quasi automatisierter suche im i-net.

Zitat
Alle Titel dieses Künstlers sollten dann in die laufende Playliste übernommen werden.

Da muss ich ja mal schauen wie lange nun meine playlist ist. Der hängt das dann ans Ende nehme ich mal an. Ich dachte er spielt das dann direkt. O.K. das erklärt einiges!
Da fehlt dann evtl. noch eine Taste zum direkt nach der suche abspielen. Die Suche klappt übrigends super!
Thx.
Gerdi

phaidros

Zitat
Klappt das so mit der Tracklistansicht wie ich mir das gedacht habe? Du hast die Dateinamen ja nur in der Play-Ansicht übernommen.


Muss ich mir noch mal anschauen. Aber im Prinzip schon.

Zitat
Da fehlt dann evtl. noch eine Taste zum direkt nach der suche abspielen.

Genau! Das ist noch irgendwie unausgegoren. Er hängt sie wirklich hinten dran. Ist verwirrend. Ich lösche immer vorher die Playlist, um dann die Ergebnisse
der Suche besser sehen zu können. Vielleicht die grüne Taste (die ja sonst auch PLAY bedeutet) zum direkt abspielen nehmen?
Oder nach Druck auf OK ein extra Menü einblenden, wo der Anwender wählen kann:

<<< 42 Titel gefunden. >>>

A = an aktuelle Playliste anhängen
B = als neue Playliste übernehmen
Exit = cancel

Was meinst du  ?

Gruß
Phaidros

Nach oben