Moin zusammen ! Da sich ja noch niemand erbarmt hat ein LastFM Plugin für E1 zu bauen, bin ich die Sache nun angegangen. Da dies mein erstes Plugin ist, wollte ich mir die Sache nicht zu kompliziert machen und das Rad nicht neu erfinden. Mit der shell-fm von Jonas Kramer gibt es ja ein wunderbares freies CLI für LastFM . Die shell-fm habe ich für meine DM7000 angepaßt und übersetzt. Das Plugin greift über den eConsoleAppContainer auf das CLI zu und steuert es auch darüber. Das funktioniert bis auf einige Schönheitsfehler schon ganz gut. Ein grundsätzliches Problem habe ich mit der Audioausgabe. Die funktioniert zwar generell gut, wirft aber zwei Probleme auf.
- shell-fm nutzt die libmad und die libao (ohne die libao tut sich leider auf der Tuxbox garnichts, sieht nach einem endian Problem aus ..) Die libmad ist zwar im Image, aber natürlich wie alle Libs nicht vollständig, sondern um die vom Image nicht genutzte Funktionen/Symbols reduziert. Shell-fm benötigt leider ein paar der fehlenden Die libao gibts es garnicht im Image. Gut man kann die funktierenden Version zusätzlich installieren (so riesig sind die nicht), wäre aber unschön. Die libao läd zur Laufzeit ihr(e) OSS Plugin/Library nach. Aufgrund dieses Konstruktes unterstützt die libao so ohne weiteres keine statisches Linken
- die Wiedergabe läuft zwar wunderbar, leider läuft aber auch noch parallel die Audioausgabe des aktuell laufenden Transponders
Daher habe ich zwei Fragen:
- Gibt es eine Enigma Klasse/Funktion, mit der ich im Plugin die Audioausgabe des laufenden Transponders deaktiveren kann ?
- Hat jemand ein kurzes Beispiel, wie ich für die Wiedergabe eines MP3 Streams die Enigma eigenen Klassen nutzen kann (z.B. die Klasse eAudioDecoderMP3) ? Z.b. ein Auszug aus Dreamcast, etc. ?
Die Erste Frage brennt mir unter den Nägeln. Da ich im ersten Schritt neben dem Plugin eh auch die (fast) native shell-fm installieren muss, wäre die Lösung zu 2. sehr interessant, aber nicht ganz so dringend. Es sei denn, die Lösung zu 1. ist die Realisierung von 2. ....
Danke & Gruß, Marc