Posts by Reichi

    Wird da noch was für das parallele Abspielen einer mp3 zum TV-Ton kommen?

    Ja, wird es, es ist alsa-seitig schon vorbereitet.

    Auch in e2 habe ich die entsprechenden Änderungen bei mir lokal schon im Test.

    Aber mal eben bei allen Ton kaputt machen ist dann auch eher nur so mittelmäßiger Spaß!


    Sobald enigma2 dann die Devices aus der neuen alsa.conf nutzt können auch externe apps "normal" abspielen während e2 läuft.

    Es gibt aber eben noch einige Dinge die getestet werden müssen.

    Das changelog findet Ihr hier.


    Ergänzend noch:


    Durch die Änderungen am Kernel und enigma2 werden SD-Karten nun enigma2 erkannt und gemounted.

    Außerdem wurde ein technisches Problem mit CEC behoben das dazu geführt hat, dass in manchen Konstellationen eine Dreambox One/Two das senden jeglicher CEC-Messages abbrach (eine übereifrige Fehlerbehebung sozusagen).

    Es gab auch im CEC 2.0 Plugin ein paar Ergänzungen damit dieses AVR (aka AV-Receiver) zuverlässiger erkennt, falls das jemand mal wieder Probieren möchte.

    Auch die Geräteliste funktioniert dort nun.

    ABER: Es kann IMMER sein dass einige CEC Geräte im Netzwerk nicht in der Liste stehen. Wir "suchen" (das ist wirklich der falsche Begriff, aber ich weiß grad keinen Besseren) derzeit nur TV und AVR aktiv.

    Hast du mal ein Log für mich von nem e2 start in so nem Fall?

    Ich hab das jetzt etwas ausführlicher gelöst, würde aber vorher gerne mal ein Log mit eben diesen self.giveDevicePowerStatus.... sehen.


    Nachtrag: ich hab mal eine Änderung gepusht! Ich bitte darum diese auszutesten.

    Es kann gut sein, dass wir den AVR etwas agressiver ansprechen müssen.

    Ein erster Ansatz wäre eventuell folgende Änderung (ich hab die geänderte Zeile unten mit nem Kommentar versehen).

    Das ist noch in nem vernünftigen Rahmen was potentielle Nebenwirkungen angeht...


    Es gibt keinen scan aller Geräte ;).

    Die neue version ist ja bewusst "sparsam" gehalten (für den Anfang).

    Viele Geräte reagieren auch bestimmte Broadcasts direkt mit Rückfragen.

    Deswegen auch das Log ;).


    Du kannst auch gerne mit beiden Versionen ein Log erstellen, dann wird man das relativ schnell erkennen.

    OK ja, da hab ich eine Kleinigkeit im Vergleich zur alten Implementierung übersehen.


    ergänz doch in _onMessage einfach mal


    Python
    elif cmd == eCec.MSG_SET_SYSTEM_AUDIO_MODE:
        self.onSystemAudioModeStatus(sender, message)

    Ich schieb das derweil schon mal ins git.

    Muss ich nochmal testen, was bei self.giveSystemAudioModeStatus() zurückkommt.

    Das kommt asynchron zurück gell.

    Ich finde es allerdings eher merkwürdig, dass der AVR darauf gar nicht antwortet.

    Welches Modell ist das?

    Ggf. können wir im IRC auch gerne mal ein Log von deinem Fall durchsprechen.


    Das kann gut und gerne auch ein Bug in CEC 2.0 sein.

    Dafür gibts im ALTEN Cec die möglichkeit das Ziel zu forcieren (z.B. den TV).

    Im Neuen ist das so noch nicht implementiert.


    Code
    MSG_SYSTEM_AUDIO_MODE_STATUS

    schickt der AVR als antwort auf

    Code
    MSG_GIVE_SYSTEM_AUDIO_MODE_STATUS

    welches CEC 2.0 in

    Python
    def _onReady(self, logicalAddress, physicalAddress):

    abfragt (via self.giveSystemAudioModeStatus())

    Von nem TV habe ICH das in Logs noch nie gesehen.


    Die Standarddokumentation für CEC findet man im Supplement 1 der High-Definition Multimedia Interface Specification Version 1.4.

    Interessant und wichtig für die eigentliche Kommunikation sind m. M. n. die Kapitel CEC 3 und alle ab CEC 10 (alles Andere ist technischer Kram der euch nicht kümmern muss).


    Man kann sich natürlich auch die libcec zu Gemüte führen, für einen Einstieg ins Thema, ganz ohne theoretische Grundlagen, halte ich das aber für harten Tobak.


    Sven H Eine Möglichkeit für dich wäre es

    Python
    def sendSystemAudioKey(self, keyid, test=False):

    so abzuändern, dass es, wenn self._volumeDest != ADDR_AUDIO_SYSTEM ist, du den Request an den TV schickst.

    Und dann den config Eintrag auf True zu setzen (gerufen wird das dann aus CecRemote).

    Das entspräche dann funktional der alten "TV (forciert)" Einstellung.

    vorsicht: "AVR Volume Control"

    Dass ein TV das überhaupt kann ist halt eigentlich schon am Standard vorbei (ich hab mir das alles nicht ausgedacht!)


    Nachtrag: Im *-Text von Samsung liest es sich so als müsste es eigentlich gehen, das sollte aber mit der alten CEC Implementierung auch schon funktionieren.


    Nachtrag 2: OK in der Tabelle geht's wohl viel mehr darum ob der TV den AVR steuert. Vond aher wird die wenig helfen ;).

    Ich muss glaube nochmal darauf hinweisen, dass die wenigsten hersteller Laustärkesteuerung über CeC überhaupt ermöglichen.

    Was auch immer man vor hat, man sollte da vorher gut recherchieren ob das technisch überhaupt möglich ist.


    Meiner leicht getrübten Erinnerung nach war das eigentlich nur Sony.

    Hey, wir haben CEC in python, ihr dürfte gerne mal ausprobieren wie ekelhaft das ist.

    Tatsächlich ist es aber eher, so, dass sich dieses Problem mit den "sterben" älterer Geräte langsam aber sicher von alleine Löst.

    Die neueren Geräte-Generationen (von TVs und AVRs) verhalten sich, was CEC angeht, insgesamt schon sehr viel besser.


    Aber im Ernst.

    Dass das Ganze in python "rebootet" wurde, hat schlicht den Grund, dass es einfach nötig war das ganze nochmal von Null neu aufzubauen.

    Es ist auch nicht "fertig", funktioniert aber in sauberen, Standardkonformen Umgebungen eigentlich ziemlich gut.


    Im Übrigen wäre es relativ einfach einen "Vendor-Handler" zu bauen der z.B. Herstellerspezifische Tastendrücke für Lautstärke senden kann (oder wie auch immer das bei LG und konsorten gelöst sein mag).

    Sollte also doch mal jemand Interesse haben sich in das Thema reinzufuchsen, steh ich jederzeit!!! für Fragen und Anregungen und auch gerne entsprechend Starthilfe zur Verfügung.