Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.

Nachrichten - phaidros

1
Software / Re: Betty als MPD client
21. Mär 2011, 03:04
Zitat
Wenn die Ergebnisse der Suche vorliegen könnte durch einmaliges drücken nach unten (Selektierung des ersten Suchergebnisses) die Seitenweise-Blättern Steuerung aktiviert werden - durch Selektierung der Suchmaske könnte diese wieder deaktiviert werden. Das wäre zumindest für mich intuitiv bedienbar


Ja, das könnte gehen.
Ich habe eigentlich keine Ahnung wie man ein User-Interface gestaltet und bin mir noch nicht sicher. Die Logik bei deiner Lösung ist ein bißchen anders als vorher. Man braucht einen Tastendruck mehr als vorher, um die Suchmaske zu verlassen.
Eigentlich war die Idee, die Anzahl der Suchergebnisse durch Eingabe weiterer Buchstaben so weit zu verringern, dass nur noch wenige Titel angezeigt werden. Deswegen sträube ich mich innerlich ein bißchen gegen ein seitenweises Blättern. Ist einfach irrational, ich weiß.

Im Moment ist für McBetty sowieso keine Zeit, brauche noch ca. 2 Wochen für was anderes. Nächste Version also vorraussichtlich erst im April.

Gruß
Phaidros
2
Software / Re: Betty als MPD client
14. Feb 2011, 01:27
Zitat
... passiert regelmäßig ein Unglück wenn die Betty in der Ladeschale landet:


Betty macht einen RESET. Ob das so gewollt ist oder nicht kann ich nicht sagen. Passiert auch nicht immer.
Dass dann die Musik spielt, kann man schnell ändern:
in Datei model.c ganz unten Funktion model_init():   user_model.state = PLAY;
ändern in user_model.state = STOP;
Die Idee war irgendwie, wenn es zu einem unbeabsichtigten RESET kommt, soll die Musik nicht aufhören.
Aber das mit dem Baby überzeugt. Werde ich demnächst mal einchecken.

Zitat
Wäre es ein großer Aufwand, auch in den Suchergebnissen Seitenweise Blattern zu können?

Eigentlich überhaupt nicht, ABER die dafür sonst immer benutzten Cursor-Tasten (links/rechts) sind schon belegt, da sie in der Suchmaske den Cursor bewegen.
Wie macht man das konsistent durch alle Bildschirme ?

Zitat
eine Batterieanzeige könnte auch nicht schaden

Ja, ist in Arbeit. Dauert aber noch ein Weilchen (auch die PowerOff Sache), da ich gerade ein anderes Projekt fertig stellen will.

Zitat
hast du Einfluss auch die Reihenfolge der Ergebnisse?

Nur begrenzt. MPD liefert die in irgendeiner Reihenfolge.  mpdtool speichert die zwischen und könnte sie auch sortiert ausgeben, aber wie / wonach sollte ich die sortieren? 

Gruß
Phaidros
3
Software / Re: Betty als MPD client
03. Feb 2011, 04:51
Zitat
Du hast nicht alle Stellen erwischt.

Die "...font.h" Dateien werden automatisch neu generiert, wenn man die Fonts ändert. Jetzt werden sie allerdings mit dem richtigen uint16_t generiert.
Das Problem ist eher, dass make clean die Dinger nicht löscht. Das Makefile ist aber aus altem Boop-Code übernommen und ich verstehe nur die
Hälfte von dem, was da passiert. Rekursives Make ist böse!! Sollte ich auch noch mal ändern.

Zitat
Kann es sein das McBetty die ganze Zeit versucht den Adapter zu erreichen und dabei den Akku leer lutscht?


Definitiv ja!

Zitat
Es wäre schön, wenn man mit einem Druck auf den Power-Knopf die Betty schlafen legen könnte: Display aus, keine Zugriffe auf den Scart-Adapter, Cpu in den Halt schicken (wie bei Boop).


Das wäre doch zu einfach.  ;)

Na gut, ernsthafte Antwort: Ist geplant. Allerdings würde ich gerne Betty selber entscheiden lassen, dass nichts mehr zu tun ist. Nur bei Tastendruck wacht sie wieder auf.
Das ermöglicht viel mehr Schlafphasen. Dazu muss ich aber noch einiges an dem Micro-Kernel umstrukturieren. Kann also noch dauern.
Bis dahin wäre die Power-Taste ganz gut.
Bei Gelegenheit schaue ich mal wie Boop das macht.

Gruß
Phaidros

4
Software / Re: Betty als MPD client
02. Feb 2011, 01:12
Zitat
Für low power Systeme wäre es aus meiner Sicht am besten, die Suchfunktion so zu ändern, dass erst auf "OK" die Suche Richtung MPD geschickt würde


Ich möchte die Tastenbelegung nicht unnötig ändern. Version 1.2.3 auf github hat die blaue Taste definiert als "Jetzt suchen".
Und für low power Systeme sollte man in muc/Makefile die Zeile "EXTRAFLAGS = -D SLOW_HOST" reinnehmen (Kommentarzeichen entfernen).
Dann make clean und make. Jetzt macht Betty keine automatische Suche mehr, sondern wartet auf die blaue Taste.

Gruß
Phaidros 
5
Software / Re: Betty als MPD client
02. Feb 2011, 00:41
Zitat
In fonty.c wird wohl types.h nicht gefunden und dann fehlt u_int16_t.


Ja, den Blödsinn habe ich verzapft. Das muss natürlich uint16_t heißen.
Ist korrigiert. Keine Ahnung warum das bei mir überhaupt kompiliert hat!

Gruß
Phaidros

P.S.:
Zitat
Wann öffnest Du dann EINT wieder?

Keine Ahnung. Ich habe wohl vor einiger Zeit mal lpctool modifiziert, aber jetzt schon wieder komplett vergessen.
Hier nahe dem Ende von meinem lpctool:
   
   setBaud(38400);
setRTS(0); // Release boot loader enable line, needed for normal start.
setDTR(1); // Issue a RESET
usleep(500000);
setDTR(0);

Terminal();
end:
  . . .



6
Software / Re: Betty als MPD client
01. Feb 2011, 05:55
Zitat
Ich wusste gar nicht, dass auf seriellen Schnittstelle was rausgeschrieben wird. Guter Hinweis. Mit welchen Paramtern muss die konfiguriert werden? Mit 115200 8N1 sehe ich nur Müll.


38400 8N1
Bei mir brauche ich nichts machen. Im Makefile gibt es das Target "resident". Ich rufe make resident auf, das flasht die Betty, macht einen Betty-Reset und zeigt anschließend die
Ausgaben der seriellen Schnittstelle an. Also nach dem Flashen Betty einfach am Programmer dran lassen.
Früher gab es tatsächlich keine Ausgaben auf der Seriellen, da ist ein Flag drin was die Ausgaben bei Release-Versionen unterdrückt,
aber ich habe es schon länger ausgeschaltet. Jetzt sollte jede Menge auf der Seriellen zu sehen sein.

Gruß
Phaidros
7
Software / Re: Betty als MPD client
31. Jan 2011, 20:34
Zitat
@phaidros: wieso hast du eigentlich nicht die libmpdclient benutzt für die Kommunikation mit dem mpd?


Die kannte ich nicht.  :(
Werde ich mir gleich mal anschauen. Ist aber jetzt vielleicht schon zu spät.

Zitat
Bei mir läuft aber der mpd nicht auf der Vip, sondern auf meinem Debian-Server und der liefert den Sound via EsoundD an die VIP.

Bin erleichtert das zu hören. Weil mpd auch noch auf der Kiste könnte knapp werden. Bei mir läuft MPD auf einem NAS-Server, wodurch sich manchmal
arge Verzögerungen ergeben, weil das NAS erst seine Platten hochfahren muss um Anfragen zu beantworten. MPD hält wohl seine Datenbank nicht im RAM.
Überhaupt, wieso braucht MPD ein paar Sekunden um seine Datenbank nach einem einfachen String zu durchsuchen ? Ein paar Millisekunden vielleicht, aber mehr nicht.
Na ja, es ist wie es ist.
Ich werde mal kucken, ob man noch an der Kommunikation etwas drehen kann, so dass die Last von mpdtool etwas zurück geht.

Zitat
Wenn ich in Ansicht Nr 1. "Current Playlists" zu einer Playlist navigiere und dort OK drücke, sollte doch der laufende Song abgebrochen, die aktuelle Playlist gelöscht, die ausgewählte geladen und Play ausgeführt werden. So stehts zumindest im Sourcecode.


"Current Playlists" gibt es nicht. Entweder "Current Playlist" oder "All playlists".
Das von dir beschriebene Verhalten sollte bei "All Playlists" gegeben sein. Bei mir tut es das auch. Das könnte auch ein Timing-Problem sein. Kannst du mal die Ausgabe von Betty auf der seriellen Schnittstelle mitlesen, während das passiert? Sendet Betty überhaupt irgendwas?
Und vielleicht parallel auch die Ausgabe von mpdtool (via stderr auf der Konsole) anschauen.

Die Bezeichnung der beiden Ansichten ist sicherlich noch zu ähnlich. Vielleicht "Current Playlist" in "Current Tracks" oder so ändern ?

Gruß
Phaidros
8
Software / Re: Betty als MPD client
29. Jan 2011, 15:41
Zitat
Danke, hatte es ohne "*" vor user_model... implementiert - jetzt geht's.


Ist jetzt auch in der neuesten git-hub Version drin. Es macht ja wirklich nur selten Sinn, nach gar nichts (bzw. allem) zu suchen.
Hatte das nur so reingenommen, weil Amarok das auch so macht und es da wirklich funktioniert. Wenn man die Suchmaske löscht,
bekommt man einfach die komplette Musiksammlung zu sehen und kann darin rumscrollen. Nur Betty wird es nie schaffen, die ganze Sammlung anzuzeigen.
Ich hatte ursprünglich mal über eine Art "browse" Modus nachgedacht, wo man Ordner sieht, die man öffnen kann, aber letztendlich ist das Suchen doch
schneller zu implementieren. Und wenn man nur irgendwie Teile des Gesuchten kennt, findet man es ja auch ganz gut.

Gruß
Phaidros
9
Software / Re: Betty als MPD client
29. Jan 2011, 14:19
Zitat
Ich hab mal eine Playlist angehängt.

Ja, danke. Jetzt kann ich es nachvollziehen. Das Problem ist, dass MPD eine Gesamtlänge von 0 schickt. Das soll wohl soviel heißen wie unbekannt.
Außerdem werden Titel und Artist nicht getrennt geschickt. Sehr seltsam. Statt dessen gibt es einen "Name:" Eintrag, der wohl der Radiosender ist.
Bei einer Gesamtlänge von 0 denkt Betty immer, der Song ist gleich zu Ende und es kommt ein neuer. Da werden dann ständig Anfragen hin- und hergeschickt und der
Bildschirmtext wird aktualisiert. Das werde ich bei Gelegenheit ändern!

Zitat

MPD patchen und einen Feature Request einreichen?

Im Prinzip völlig richtig. Ich habe nur etwas Schiss, da eine neue Baustelle aufzumachen. Bei MPD gäbe es meiner Meinung nach einiges zu patchen (damit es eben auf so
schwachen Clients wie Betty rund läuft), das könnte ein Fass ohne Boden werden. Vielleicht macht es ja jemand anders?

Gruß
Phaidros
10
Software / Re: Betty als MPD client
29. Jan 2011, 13:01
Zitat
Eigentlich müsste dafür doch nur user_model.search_string = NULL gesetzt werden, nachdem AV gedrückt wurde (wie bei Initialisierung). Wo ist nur die Stelle im Code der Betty ?


Ich würde das an folgender Stelle machen:
File model.c, Funktion model_needs_action()

   /* Something to search ? */
   if (user_model.search_string != NULL){
      req->str = mpd_get_search_string();
      return SEARCH_CMD;
   };

erstzen durch

   /* Something to search ? */
   if ( (user_model.search_string != NULL) && (*user_model.search_string != '\0') ){
      req->str = mpd_get_search_string();
      return SEARCH_CMD;
   };

Dann sucht Betty nie nach leeren Strings.

Gruß
Phaidros
11
Software / Re: Betty als MPD client
29. Jan 2011, 01:48


Das freut zu hören. Die Probleme sind registriert. Mal sehen, ob sich was machen lässt.


Ähm , meinen Beitrag obe haste gesehen?


Ja, habe ich. Ich benutze gar keine Shoutcasts (was isn das fürn neumodischer Kram?).
Kannst du mir mal eine ganz kurze Anleitung für Dummies geben, wie ich in MPD einen Shoutcast einrichte und wenn ja einen, wo das Problem auftritt?
Dann werde ich es mal testen.

Auch über die anderen Probleme muss ich erst mal nachdenken.
Bisher war ich davon ausgegangen, dass mpdtool auf halbwegs leistungsfähiger Hardware läuft und deshalb Resourcen ohne Ende nutzen kann.
Ist bei mir eine S100 und die hat keine Probleme. Die Vip1710 ist das 1 Euro Teil von Pollin, oder?
Ich weiß noch nicht, was sich da machen lässt. Irgendeiner muss die Arbeit des Aussortierens der Dateinamen und so ja machen. Entweder Betty oder mpdtool.
Und Betty ist nun wirklich nicht so leistungsfähig.
Das eigentliche Problem ist aber, dass MPD auf Suchanfragen unglaublich viel Rümpel schickt, den man gar nicht haben
will. Ich hätte am liebsten 2 Zusatz-Kommandos: count-find liefert nur die Anzahl der gefundenen Ergebnisse zurück, nicht die Ergebnisse selbst und
find-max liefert nur die ersten n Ergebnisse. Das wäre schön praktisch. Da es das nicht gibt., muss man basteln.

Ich könnte einfach bei den Suchbefehlen die Wartezeit der Betty auf 5 Sekunden (oder 10) hochsetzen, möchte das aber nicht.
Betty kann keine weiteren Befehle senden, solange sie auf Antworten des alten Befehls wartet.
Wenn also die Wartezeit zu hoch ist, wird das ganze Ding träge.
Das muss man irgendwie sauber anders lösen.

Das dauert ein Weilchen.

Gruß
Phaidros
12
Software / Re: Betty als MPD client
28. Jan 2011, 13:03

Hallo zusammen,


Bezüglich Suchfunktion hab ich folgendes festgestellt (latest git) :
- insgesamt scheint mpdtool doch etwas sehr ungeduldig, wenn Suche aktiv. Die CPU Auslastung durch mpdtool allein liegt schon um die 30-40% (nur bei Suche).  Hab das Gefühl, MPD kommt gar nicht zum Antworten (Communication broken).
Beispiel: Artist
Suche: New
MPD liegt 60%, mpdtool bei 30%, irgendwann hab ich ein Resultat
gleiche Suche mit NCMPC++ ---> 536 Songs in ca. 6sec
Ähnliches passiert übrigens, wenn ich eine Playlist mit ca. 5500 Songs lade. mpdtool scheint MPD nicht genügend Zeit zu geben

Das stimmt. Die Zeit ist sehr knapp eingestellt (2 Sekunden).

Zitat
- die Resultate haben manchmal nichts mit dem Suchbegriff zu tun. Suche nach "ORD" - ja ich suche immernoch New Order -, ergibt unter anderem "Morrissey" :-)

Das ist merkwürdig.

Zitat
- hab die max. Ergebnisse nicht gezählt, aber es scheinen keine 50 angezeigt zu werden (wenn >=50 gefunden)
Was passiert mit den anderen Ergebnissen, wenn >50 gefunden werden ?

Die werden einfach weggeworfen. Zur Zeit werden nur ca. 30 angezeigt. Ich dachte, keiner will durch 50 Ergebnisse scrollen. Lieber noch einen Buchstaben
mehr eintippen um die Suche einzischränken ?
Zitat

- Wird eine Suche gelöscht, schickt die Betty Suche:"" Richtung MPD, was die Kommunikation blockiert. Kann man hier, wenn AV gedrückt wird, die Suche nicht umgehend stoppen ?

Mal schauen.

Zitat
Playlistanzeige und laden funktioniert hier gut.
Das Projekt ist einfach klasse - endlich kann ich meine MP3's verwalten ohne TV, vielen Dank dafür.


Das freut zu hören. Die Probleme sind registriert. Mal sehen, ob sich was machen lässt.

Gruß
Phaidros
13
Software / Re: Betty als MPD client
25. Jan 2011, 18:17

Zitat
Also es wird alles was mit send_byte verschickt wird von mpdtool angezeigt?


Ja, alles größer als 0x20.

14
Software / Re: Betty als MPD client
25. Jan 2011, 06:13



x = cc1100_read_fifo();
switch(x){
case 0x10: KB7=0; break;
case 0x11: KB7=1; break;
}

Funktioniert nicht.

Hast du auch KB7 auf Output gesetzt? Ist der Pin wirklich frei? Probier mal statt dessen einfach X auf ein anderes Zeichen zu setzen, z.B "a" oder "b".
Das sollte man dann im output von mpdtool sehen können.

Zitat
Oder wie debugged ihr sowas? Ist echt anstrengend immer wieder meine betty zu flashen um damit den scart adapter zu flashen usw...
Vielleicht sollt ich zuerst endlich mal diesen Kernel mit funktionierendem usb-serial kompilieren...

Ja, nur so kommt man voran. Das Flashen über Betty ist einfach zu umständlich.

Gruß
Phaidros
15
Software / Re: Betty als MPD client
25. Jan 2011, 05:56

Zitat
Nur der letzte Punkt im "Suchmenu" (irgendwas mit play (hab die betty nicht hier)) ist etwas zweideutig. Dacht damit geht direkt abspielen - scheint aber quasi Abbruch zu sein, oder war das nicht so geplant?

Ist jetzt umbenannt in "Main Screen". Sollte einfach wieder auf den "Playing" Bildschirm umschalten. War aber wirklich sehr missverständlich.

Zitat
Für mich wünschenswert wäre (falls problemlos möglich), wenn nach einer Suche und neuer Playlisterstellung gleich die Wiedergabe beginnen würde.

Das geht in der neuesten Version mit der "C" Taste (Add & Play). Das Löschen des Eingabefeldes wurde deswegen verlegt auf die AV-Taste.

Zitat
Aber das ist "Luxusschnickschnack". Genauso wie das Abbspeichern der zusammengestellten Playlist :)

Das ist ja wohl ein Wink mit dem Zaunpfahl. Aber dazu brauchen wir wieder einen eigenen Bildschirm mit einer Eingabemaske für den Dateinamen.
Meine bisherige Maske gibt aber nicht mehr als 15 Zeichen her. Alles andere ist schwerer zu implementieren.
Andere Möglichkeit wäre eine automatische Dateinamengenerierung. Ist deutlich einfacher zu machen. Vielleicht als "Save01.m3u" oder mit Datum und Uhrzeit im Namen?


Zitat
Die Suche hat manchmal auch noch einen kleinen Schönheitsfehler.

Ja. War ein ganz blöder Fehler. Habe jetzt die entsprechenden Routinen noch mal überarbeitet. Hoffe es klappt jetzt besser. Bin noch nicht richtig zum Testen gekommen.

Zitat
Noch was .. beim Wechsel von Playansicht zur Playlist springt der Cursor nicht zum aktuellen Track, war das nicht mal implementiert? Ist besonders bei Randomplay in langen Playlists interessant.

Macht er jetzt wieder. Hatte ich rausgenommen, weil der Code so unelegant war. Ist jetzt besser.
Zitat
Langsam muss ich mir ne 2. Betty zulegen.

Wie? Du hast nur eine?  :)I

Gruß
Phaidros