Alternative Software AiO always queue und mehr

GitHub-Workflow für Einsteiger. Damit habe ich angefangen.

1 „Gefällt mir“

Super, danke für die Tipps. Da werde ich bestimmt fündig. Habe mich schon versucht, bevor die Tipps kamen. Irgendwie hab ich auch was geschafft, werde mir die Tipps mal ansehen und schauen was ich richtig oder falsch gemacht habe.

1 „Gefällt mir“

Hallo @Thomas-Lehnert,
danke für Deine Arbeit! Mir gefällt die Version sehr gut. Habe nun doch die Funktion „Pause wenn Karte entfernt“ von hier mit eingebaut, Ergebnis siehe hier. Die Änderung ist per Define de-/aktivierbar. Eine Umsetzung als Modifier habe ich nicht versucht.

Funktioniert soweit. Allerdings beißt sich das mit der LED-Animation: wenn diese ebenfalls aktiviert wird, kommt es durch die ständigen Polls des RFID-Readers zu einer verlangsamten LED-Animation. Da ich (noch) keine LEDs nutze, habe ich hier noch keine weitere Arbeit investiert.

Außerdem habe ich festgestellt, dass bei Nutzung von zumindest einer Modifier-Karte (bisher nur: Stopptanz) Schwierigkeiten auftreten: das Wegnehmen der Karte ändert nichts mehr, der Modifier kann auch nicht deaktiviert werden. Durch Aufruf der Funktion readCard(&myCard) (hier in Form einer Konsolenausgabe, siehe Zeile 4721 und drumrum) kann das teilweise behoben werden. Nun kann auch während des laufenden Stopptanzes die Karte entfernt werden und die Musik pausiert. Den Stopptanz kann man allerdings nicht mehr mit der Karte deaktivieren. Die Deaktivierung wird zwar akustisch bestätigt, aber es Stopp-Tanzt weiterhin…

Für meine Zwecke genügt das fürs erste und vielleicht hat hier ja noch jemand eine Idee woran es hängt…

Bzgl. der Schwierigkeiten mit der LED-Animation wäre eine Nutzung von Interrupts vom RFID-Reader schön, aber das gibts nicht soweit ich das bislang recherchieren konnte…

Beste Grüße,
Matthias

2 „Gefällt mir“

Danke @matthiash. Habe gerade erst vor ein paar Minuten überlegt, dass ich die Funktion bauen möchte. Du hast mir eine Stunde Zeit gespart :wink: Ich weiß noch nicht wann ich zum Testen komme.

Hallo,
noch eine Idee wo ich mir nicht sicher bin ob das bereits integriert ist.
Eine Ausschaltfunktion nach x Minuten Inaktivitaet
Die Idee ist Batterie zu sparen. Sleeptimer kann ja per Karte oder Menu aktiviert werden.
Wenn ein Ordner fertig abgespielt ist und keine neue Karte kommt schaltet die Box nach einer gewissen Zeit ab.
Im Falle, dass Pause aktiv ist sollte der Timer nicht loslaufen.

Hintergrund ist, dass wir beim hoeren immer einschlafen und die Box dann die ganze Zeit an bleibt weil wir eigentlich immer die Sleep-Karte vergessen aufzulegen.

Ich hab im Code einiges zu Shutdown gefunden, aber das genau nicht.
Danke dafuer!

Das sind 2 Verschiedene Timer

Das ist natürlich die Grundfunktion. In der Variante von @Thomas-Lehnert werden beim Schlummermodus beispielsweise ja auch noch Tasten gesperrt und keine neue Karte mehr erkannt.

Danke fuer die Aufklaerung, wer lesen kan… :laughing:
Weiss nicht warum ich das ueberlesen hatte.

Jetzt einfach ueber das Adminmenu aktiviert und funktioniert einwandfrei… :crazy_face:

Moin Moin ich hab zu der Stop When Card Away Funktion welche weiter oben thematisiert wurde eine Frage.

ich konnte diese Zwar auch in @Thomas-Lehnert Fork bei mir integrieren an sich Funktioniert das ganze auch, nun das ABER

folgendes spuckt mir der ser. Monitor aus solange keine Karte aufliegt


17:23:49.409 -> readCard(mycard)=Card UID: 93 40 9D 16
17:23:49.409 -> PICC type: MIFARE 1KB
17:23:49.409 -> Authenticating Classic using key A...
17:23:49.456 -> PCD_Authenticate() failed: Timeout in communication.
17:23:49.456 -> 0

und das solange bis ich eine Karte auflege oder den Stecker ziehe^^

Ich habe mich da nicht groß mit beschäftigt, aber ich denke, dass das normal ist, weil ja der Leser in jedem Schleifendurchlauf abgefragt wird ob eine Karte aufliegt.

Das hab ich mir auch gedacht, das Problem dabei ist aber, dass der Standby Timer nicht mehr gesetzt wird solange die Schleife läuft. :face_with_monocle:

In Marcos affenbox fork auf meiner 2. Box ist das nicht der fall

D u musst den Standbytimer etwas abändern.
Im Original sind an verschiedenen Stellen checks ob die Standyzeit schon erreicht ist.

Es macht aber nir an zwei Stellen Sinn das abzufragen.
Die erste Stelle ist am Anfamg der Mainloop, die zweite im Voice Menue.
Das sin die beiden loops die das Programm durchläuft.
Dirt musst du abfragen ob gerad was gespielt wird, wenn nicht setze timeout bzw. prüfe ob der timeout erreicht wurde.

1 „Gefällt mir“

Hab den Part gefunden und auch das Prinzip verstanden, aber leider keine Ahnung was ich da reinschreiben muss.

Es müsste ja sowas wie:
If CardPause,
prüfe ob Karte aufliegt dann Standby Off
oder wenn Karte weg dann Standby on
oder wenn Karte zuende Standby on

Reingeschrieben werden.