Neue Funktion für die Taste Play/Pause im IDLE State

@tuetenk0pp möchte, dass im Idle State die Play/Pause Taste die letzte aufgelegte Karte nochmal abspielt. Diese Taste ist da auch noch unbelegt, so dass das ohne weiteres möglich ist.
Wer will kann das ja auch schon mal ausprobieren mit dem Branch issue_142.
Die Frage ist nun, ob das allgemein aktiviert sein soll oder ob man das per #define in der Datei constants.hpp aktivieren muss. Was mein ihr?

Schonmal vielen Dank @Boerge1 für die Umsetzung.

Ich persönlich denke, dass das Feature die Bedienbarkeit sehr verbessert. Meine Tochter hat regelmäßig ohne Erfolg auf der Play/Pause Taste rumgedrückt, um die Wiedergabe von vorne zu starten. Zusammen mit den DONT_ACCEPT_SAME_RFID_TWICE und RESUME_ON_SAME_RFID ist die Bedienung jetzt echt top! Ob das hard coded sein sollte oder als #define-Toggle ist wahrscheinlich nur für neue Nutzer*innen relevant. Es wäre ja auch denkbar, das über #define zu regeln, aber Standardmäßig aktiviert zu haben - vielleicht meine präferierte Lösung; auch für die anderen beiden angesprochenen Funktionen.

Soweit ich das in Erinnerung habe liegt auf Play/Pause doch das Abschalten auf dem langen Druck. Deshalb hatten wir den Shortcut doch extra verschoben. Abschalten und neu starten so nah bei einander kann nur zu Fehleingaben führen. Ich wäre auch dagegen den Standard erneuert anzupassen

Und wo ist jetzt der Unterschied zwischen diesem Ansatz und der Möglichkeit Modus 11 auf einen Shortcut zu legen (Außer dass der nicht auf Play gelegt werden kann)?

Im Grunde habe ich immer etwas gegen eine define Einstellung, da ich es extrem kompliziert finde.
An habe ich mal mit einem Code, den ich irgendwo kopiert habe und über die Arduino IDE auf einen vorinstallierten nano geladen habe.
Die AiO hat die Hardware zwar einfacher gemacht, die Software wurde aber komplizierter aufzuspielen.
Dann kam das online Update um auch diesen Schritt wieder total einfach zu machen.
Aber nun wird es wieder unfassbar schwer deine Software zu laden und dann noch die ganzen einstellungen auszukommentieren.
Sauber wäre aus meiner Sicht, alles im admin Menü oder im online Updater wählen zu können.

Wie viele Varianten willst du denn dann im Online-Upload anbieten?

  • 3 Taster, 5 Taster, 3x3 Buttonboard
  • 4 unterschiedliche Optionen als Anpassung an die unterschiedlichen DFPlayer (+ keine Anpassung)
  • zusätzliche Hardware wie
    • LED-Ring
    • Poti
    • Drehencoder

Da kommen wenn du alle Kombinationen anbieten willst ganz schön viele zusammen. Ich glaube nicht, dass das online-upload das leisten kann und auch nicht, dass es das leisten muss.

Ja, es bietet einen leichten Einstieg. Aber selbst bei der AiO galt schon immer: Wenn man etwas anderes möchte als den Standard, dann muss man die Software selbst kompilieren. Das ist ja nicht nur so, wenn man einen Fork nutzen möchte sondern begann auf vor der Version 3 schon dann, wenn man die AiO mit 3 Tastern nutzen wollte oder man sonst einen Anpassungswunsch hatte. Das ist für mich ein ganz klarer Vorteil des TonUINOs: Man kann ihn an die Bedürfnisse der Nutzer anpassen, auch wenn das vielleicht nicht für alle praktisch ist. Entweder über ein #define oder auch direkt über eine Anpassung am Code. Trotzdem muss ja nicht jede Version zum direkten Aufspielen angeboten werden. Immerhin haben das in den letzten 5 Jahren auch viele ohne online-upload geschafft.
Selbst wenn du jetzt nur alle Taster-Optionen und alle Player-Varianten anbieten wollen würdest, wären das schon ( 3 x 5 = ) 15 Optionen. Mit jedem weiteren Feature was du da anbieten möchtest verdoppelt sich die Anzahl nochmal.
Und alles was man stattdessen im Adminmenü konfigurierbar macht, braucht Speicher für alle Varianten, obwohl ja keiner alles gleichzeitig nutzen wird. Und der Speicher ist schon knapp. Für die Nutzung des LED-Rings müssen die Debug-Ausgaben schon gekürzt werden. Ich fände es jetzt nicht hilfreich, wenn an den Debug-Ausgaben gespart wird um unbedingt Features über das Adminmenü konfigurierbar zu machen.

Hast du das mit PlatformIO schon einmal ausprobiert? Ich stimme dir zu, dass es mit der Arduino IDE kompliziert geworden ist. Aber das bedeutet ja nicht, dass die einzige Alternative ein online-upload ist.

Da muss ich dir zustimmen. Ich habe gestern zum ersten Mal mit PlatformIO kompiliert und es war so viel einfacher als die Arduino IDE! Bin sehr beeindruckt davon. Deshalb finde ich die #define-Methode total in Ordnung :slight_smile:

Das Risiko würde ich in Kauf nehmen. Die Play/Pause Taste ist ja auch sonst mit der Play/Pause-Funktion belegt. Nun halt zusätzlich im idle-State.

Ok, ich habe dann dieses Feature optional implementiert, man kann es also per #define REPLAY_ON_PLAY_BUTTON aktivieren. Ist schon im neuen Release drin: Version 3.1.5 (07.12.2023)

1 „Gefällt mir“