Bei Anwahl nicht vorhandener Titel fällt der TonUINO in Idle

Hallo zusammen.

Nach etlichen Jahren habe ich für meine Tochter eine neue Box auf Basis der AiO+ gebaut. Im vergleich zu dem alten Softwarestand 2019 hat sich ja inzwischen einiges getan. Allerdings gibt es einen Punkt, der meine Tochter tatsächlich verwirrt. Wenn im Hörspielmodus versucht wird, eine andere Datei zu wählen,oder im Albummodus mit Vor/zurück über den ersten bzw. letzten Titel hinaus gesprungen wird, geht die Box in den Idle, was nur mit erneutem Auflegen der Karte zu überschreiben ist.

V3.1.4 03.10.23

Ver:2
Vol:18 4 9
EQ:1
ST:30
IB:0
AL:0
AP:1111
PCR:0
Volume: 9
MFRC522:146
enter Idle
Command: 6
enter StartPlay
enqueue mp3 262 0
play mp3 262
1 tr in folder 1
enqueue 1-1  
play 1-1
enter Play
enter Idle
Card Inserted
CardData:  31 73 3b 74 02 0e 02 00 00
enter StartPlay
enqueue mp3 262 0
play mp3 262
4 tr in folder 14
enqueue 14-1 2 3 4  
play 14-1
enter Play
Command: 15
enter Idle

Die bisherige Software hat sich da anders verhalten. Im Hörspielmodus war der Titelwechsel ohne funktion und im Albummodus wurde der erste Titel wieder angespielt.

Zwar wurde das bereits ein oder zwei mal thematisiert, scheint aber irgendwie keine Aufmerksamkeit bekommen zu haben, das Thema. Ist das verhalten bekannt / gewollt?

Zudem ist mir sekundär aufgefallen, dass, wenn „Pause beim entfernen der Karte“ aktiviert ist, die Box beim abspielen eines individuellen Starttons noch während der Wiedergabe pausiert und den Startton nicht vollständig abspielt.

Gibt es ein Workaround, dieses Verhalten abzugewöhnen? Ich würde das ggf. als Issue für die nächste Version aufgeben wollen.

Viele Grüßße
Lars

Vielleicht hilft dir kurzfristig der Modus 11 (Wiederhole letzte Karte) als Shortcut. Damit kann man dann das zuletzt gehörte auch ohne die Karte wieder starten. Beim Hörspielmodus ist es aber unwahrscheinlich, dass man wieder das gleiche Hörspiel erhält.

Das stimmt so tatsächlich nicht. Beim Hörspielmodus schien es nur so, dass nichts passiert ist. Tatsächlich wurde das gleiche gemacht, wie wenn der Track zuende gespielt worden wäre, also kein neuer Track abgespielt aber eben auch der Standby-Timer gestartet. Das hat dann dazu geführt, dass der TonUINO nach Ablauft des Timers auch mitten im Hörspiel einfach ausgegeangen ist.

Auch im Albummodus wurde nicht die Wiedergabe sauber wieder gestartet, auch das war letztendlich mehr ein Bug.

Trotzdem stimme ich dir zu, dass aus meiner Sicht beim Hörspielmodus vor und zurück ohne Funktion sein sollten. @Boerge1 die 3.1 kann doch unterscheiden ob der Player oder der Button nextTrack triggern, oder? Dann sollte sich das doch jetzt abfangen lassen.

Beim Albummodus finde ich das schwieriger. @NightBreed was würdest du da erwarten, was der TonUINO stattdessen macht? Soll er einfach nicht mehr reagieren, wenn er ansonsten über den letzten Track hinausspringen würde? Ist das nicht auch verwirrend, wenn die Taste dann nicht mehr funktioniert? Immerhin gibt es neben dem 1er Sprung jetzt ja auch noch den 10er Sprung.
Vor allem sollte die Steuerung zwischen Album- und Hörbuchmodus ja vermutlich identisch sein. Bis auf den Fortschrittspeicher funktionieren die ja gleich. Beim Hörbuchmodus möchte man aber vielleicht auch über den letzten Track hinausspulen, um den Fortschrittsspeicher wieder auf 1 zu setzen.
Bei einem CD Player ist wenn man den letzten Track überspringt auch Schluss und man kann nur mit Play wieder starten.
Da bin ich sehr gespannt auf weitere Überlegungen von anderen.

Das ist mal eine Ausführliche Antwort :grinning:

Das wäre eine Option, würde aber wohl doch eher verwirren. Werde ich ggf. mal testen.

Oh. Das war mir tatsächlich nicht bewusst. Zumindest war das Verhalten plausibel. Und jetzt im Nachhinein erklärt das auch, dass meine Tochter gelegentlich sagte, dass die Box einfach ausgegangen sei. Dem habe ich aufgrund des sporadischen Verhaltens wenig Aufmerksamkeit geschenkt und einfach die Powerbank wieder geladen. :rofl:

Der Punkt ist interessant. Anscheinend zeigen unterschiedliche Spieler unterschiedliches Verhalten. Ich habe das gerade mal Hardwareseitig getestet. CD-Spieler 1: Startet wieder am Anfang; CD-Spieler 2: beendet die Wiedergabe. Spotify f.e. startet wieder bei Track 1 in der Playlist bzw. repeatet den 1. Track beim Druck auf die Zurück-Taste. Wenn das Leben ein Wunschkonzert wäre, wäre aus meiner bescheidenen Sicht folgendes sinvoll:

Albummudus - Bei Auslösen der Zurücktaste über Track 1 hinaus sollte Track 1 wieder neu gestartet werden. Beim Druck der Vorwärtstaste über den letzten Titel hinaus wäre der Sprung zum Anfang plausibel.

Im Hörspielmodus (der wird hier genutzt) sollte der Druck auf die Taste sinnvollerweise gar nichts bewirken. Hier soll ja gerade nur ein zufälliger Titel gespielt werden.

Im Hörbuchmodus würde ich es sinnvoll finden, dass das Verhalten wie im Albummodus ist.

In Summe würde dann jeweils etwas passieren (oder eben auch nicht), aber es würde keine Pause getriggert werden.

Meine bescheidenen Arduino-KEnntnisse haben mich beim Blick in die aktuelle Software schon ein wenig verzweifeln lassen. Der gestackte Code ist für ienen Nichtprogrammierer wie mich schon overkill :melting_face:

Hmm, eigentlich war das Verhalten so gewollt und es sollte genauso funktionieren wie ein CD Player.

Wenn eine Karte aufgelegt wir wird in Abhängigkeit des Modus eine Folge von Tracks zusammengestellt (als wenn man eine CD auswählt) und diese werden dann abgespielt. Wenn man beim letzten Track angekommen ist (beim Hörspielmodus ist das sofort, da ja nur ein Track abgespielt wird) und die Weiter Taste drückt, dann hört die Box eben auf zu spielen (wie das der CD Spieler auch tun würde).

Man könnte sich jetzt streiten, was passieren soll, wenn man beim ersten Track ist und die Zurück Taste gedrückt wird. Im Moment ist das so implementiert, dass auch dann die Box aufhört. Beim CD Player ist es vielleicht so, dass der erste Titel von vorne beginnt. Das könnte ich ändern, wenn eine Mehrheit es so wünscht.

Eine Ausnahme von der obigen Regel habe ich beim Hörbuch Modus einzeln gemacht. Es wird zwar immer nur ein Track gespielt aber die Weiter- und Zurück Taste funktionieren wie beim normalen Hörbuch Modus. Sonst hätte man in diesem Modus keine Möglichkeit, einen anderen Track zu wählen.

Was ich aber ungern machen würde ist, das die Weiter- und Zurück Tasten bei den verschiedenen Modi anders reagieren (mit der einzigen obigen Ausnahme). Da würde man doch nur durcheinander kommen. Ich verstehe auch nicht, warum man die Weiter Taste drücken will, wenn nur ein Track abgespielt wird (Hörspiel Modus).

Ja, das könnte ein Bug sein. Ich schau mir das mal an.

Vielleicht drückt man sie einfach versehentlich, weil man eigentlich die Lautstärke ändern wollte. Dann ist es halt blöd wenn sofort das Hörspiel weg ist. Gerade bei 3 Tasten könnte es einem ja mal passieren, dass man zu lang/ zu kurz drückt. Ich kann das aber auch bei 5 Tasten. Ich hatte dazu ganz am Anfang schon etwas geschrieben

Das finde ich auch wichtig zu bedenken. Gäbe es einen Nachteil, wenn beim letzten Track die „weiter“-Taste einfach nie etwas tun würde? Also weder beim Hörspiel- und Einzelmodus, noch beim Hörbuch- und Albummodus? Wenn man gerne seine Ruhe hätte, kann man ja Play drücken.
Das Einzige was mir einfällt ist der Hörbuchmodus, wenn man den Fortschritt auf Anfang setzen möchte. Dann müsste man in Zukunft den letzten Track anhören oder rückwärts zum Anfang springen.
Genauso was wäre, wenn zurück bei dem ersten Track nicht funktionieren würde? Dann könnte man damit den ersten Track im Albummodus nicht von vorne Starten sondern müsste erst einen Track vor und dann wieder zurück. Aber ich würde andersherum nicht wollen, dass ich im Hörspielmodus den Track versehentlich von vorne beginnen lasse.

Ich machen mal diejenigen, die das Thema in Tester gesucht schon kommentiert hatten, auf die neue Diskussion aufmerksam.
@Mic @Ilko

Ja, das war wirklich ein Bug. Das passierte nicht nur beim Start Shortcut, sondern bei allen Shortcuts.
Ist auf dem Branch issue_118 gefixt. Bitte mal testen. Wenn alles ok ist, merge ich das morgen.

1 „Gefällt mir“

Bin die Tage recht voll, Mal schauen, ob ich das am WE schaffe…

Das Problem ist, dass Kinder etwas anders denken als wir. Zitat Papa „Probier doch mal aus. Sind jetzt zwei Tasten mehr als vorher…“ - Zitat Kind „Papa, jetzt habe ich die Box kaputt gemacht“

Deine Anmerkung verstehe ich. Im Hörbuchmodus ergibt das alles Sinn. Da gibt es auch Tracks, die man ggf. überspringen oder eine Stelle die man noch einmal wiederholen möchte. Im Hörspielmnodus macht das stoppen - wie gesagt nach meiner Meinung - keinen Sinn. Wenn im Hörspielmodus vor oder zurück gedrückt wird, ist der Hörspielspaß vorbei. Ob nun mit Absicht oder aus versehen gedrückt. Der Bug des alten Codes war zumindest dem Sinn nach schlüssig (zumindest in unserer Familie :wink:) Gerade deshalb war ich auch von der „neuen“ Funktionsweise überrascht. Die Bedienlogik ist in diesem Fall, zumindest für Kinder, nicht schlüssig.Und für die war dies ja ursprünglich der Sinn. Für Papa bleiben Projekte auf Raspi und Sonos-Basis… Aber diesem Projekt werde ich auch treu bleiben, zumal mein Sohn (zwei Monate) ja auch bald eine eigene Box braucht :upside_down_face:

Die unterschiedlichen Modi können durchaus sich sinnvoll unterscheidenden Funktionen haben. Z.B.

Hörspielmodus - keine Funktion der Vor-/Zurücktaste. Hier ist ja gewollt random nur eine Datei zu spielen. Weiterer Randomtrack nach neu Auflegen der Karte. (Das würde sich allerdings mit der Funktion „Pause wenn Karte entfernt“ beißen)

Hörbuchmodus - hier macht die Möglichkeit zu springen durchaus Sinn. Diskutabel wäre ob wirklich eine Pause ausgelöst wird, wenn man zu weit vor- oder zurückspringt. Aber das ist hier m.E. auch eher nachvollzieh- und vermittelbar (Kinder)

Albummodus - wie Hörbuchmodus

Was passiert eigentlich im Partymodus? Den nutzen wir bisher noch nicht. Hier wird vermutlich durch Random keine Pause ausgelöst.

Wollte hier auch nichts lostreten. Wir waren nur alle etwas irritiert.

Dank Boerge1’s Hinweis steige ich gern an dieser Stelle mit in die Diskussion ein. (Bisher habe ich den Thread wohl übersprungen, da ich unseren TonUINO nicht mit der AiO sondern mit der Classic gebaut habe.)
Richtig und gut finde ich den Ansatz, die Funktion der Vor- / Zurück-Tasten an das Verhalten von CD- oder MP3-Playern anzulehnen. Allerdings müssen wir das „Spulen innerhalb eines Tracks“ etwas umdenken, da der verwendete Player dies nicht kann.

Bei Karten, die nur einen einzigen Track spielen sollen (Einzel-, Hörspielmodus und ggf. Hörspiel von bis), sollten diese Tasten eigentlich keine Funktion haben. Sie können jedoch dennoch gedrückt werden, weil ein „Spulen innerhalb des Tracks“ versucht oder schlicht an den Tasten „herumgespielt“ wird. In diesen Fällen würde ich bevorzugen, dass der TonUINO statt in den Idle-Mode in den Pause-Mode geschaltet wird und die Wiedergabe durch erneuten Druck der Vor- / Zurüch-Taste oder der Play-Taste fortgesetzt wird. Denkbar wäre auch, dass in diesem Zustand ein langer Tastendruck dieser Tasten den Track von Beginn an startet.

Bei Karten, die mehrere Tracks (zufällig oder in Reihenfolge) abspielen, würde ich mir wünschen, dass die Vor- / Zurück-Tasten den Bereich zyklisch durchlaufen. Nach erreichen des letzten Titels wieder zu Titel 1 springen bzw. bei erreichen des ersten Titels zum letzten Titel springen.

Ausnahme Hörbuch-Modus:
Auch hier der zyklische Durchlauf der Tracks, wie bei den Karten zuvor. Als Besonderheit würde ich mir hier allerdings wünschen, dass der Fortschrittszähler durch einen langen Druck der Play-Taste (zusätzlich zur Ansage der Tracknummer) wieder auf „1“ gestellt werden kann. Eventuell kann man diese Funktion sogar über ein „define“ schaltbar machen, ähnlich dem „Pause, wenn Karte entfernt“.

Aktuell läuft unser TonUINO übrigens mit „Pause, wenn Karte entfernt“, da mir das als Erwachsenem logisch erscheint.

Ich bin gespannt auf Eure Meinungen und Vorschläge.

Soweit ich da auf dem Laufenden bin, gibt es alle diese Funktionen schon. In meinem Fork wird im Hörbuchmodus durch Longpress der Playtaste der Fortschritt auf Anfang gesetzt. Die Vor-Zurück Tasten funktionieren im Partymodus umlaufend. Das ist auch problemlos im Albummodus möglich. Longpress Vor-Zurück macht, dass die Titel in 10er Schritten weiterschalten. Ich bin jetzt nicht sicher, ob @Boerge1 diese Funktionen in seinem Fork integriert hat.

Danke für den Tipp! Werde versuchen deinen Fork zu laden und dann testen.
Der Beschreibung nach sollte das genau meinen Wünschen entsprechen.
Bin z. Zt. leider etwas busy, so dass der Test noch warten muss.

Ja gerne. Allerdings ist die Funktion, Pause, wenn Karte weg, in meinem Fork nicht enthalten. Das nur zur Info. Lies dir auch bitte die Hinweise direkt in der Software gut durch, um die Einstellungen (defines) für deine Hardware zu machen. Auch beachten, dass du die zu meinem Fork gehörigen advert und mp3 Ordner verwendest.
Viel Erfolg und schöne Feiertage.
Hier nochmal der Link.
https://github.com/TommyleeGk/TonUINO-AlwaysQueue-AiO-and-Classic/blob/main/2022-02-01-Alle%20Hardwareversionen/2023-03-08-Alle_HW-Versionen.zip

1 „Gefällt mir“

Ich bin grundsätzlich immer ein Fan davon, wenn die Taster in verschiedenen Modi nicht unterschiedlich funktionieren. Das wird dann kompliziert. Vor allem muss man dann bei der Bedienung erstmal überlegen, welcher Modus das wohl gerade ist.

Was ist mit Hörbuch einzeln? Da wird auch nur ein Track gespielt, aber man kann mit den Tasten den Titel wechseln.

Der Idle und der Pause Zustand sind von außen nicht zu unterscheiden. Somit finde ich das nicht viel hilfreicher als jetzt. Ein Druck auf weiter führt immer noch zu „es wird nichts mehr gespielt“. Woher weiß ich dass ich Play drücken muss? Wenn ich deshalb wie vorher die Karte erneuert auflege ist das Hörspiel weg. Alle Tasten als Playtasten würde bei 3 Tastennicht funktionieren. Da drücke ich einmal lange + zum Springen, das geht nicht. Deshalb ist dann Pause. Wenn ich jetzt einen Taster lange drücke starte ich den entsprechenden Shortcut.
Was spricht für dich gegen den Vorschlage, dass der TonUINO einfach weiter spielt? Theoretisch könnte man noch ein „bööp“ abspielen, damit man weiß, dass der Tastendruck bemerkt wurde. (Dann bitte zumindest durch Löschen der mp3 abstellbar, sonst kann es nervig werden, wenn Kind das lustig findet und das ständig triggert.)

Beim Partymodus, der ja endlos läuft, sollte das so sein. Bei Albummodus finde ich das schwierig. Dann wird es aber schwerer zu erkennen wo eigentlich Schluss gewesen wäre. Mit einem 10er Sprung landet man dann gefühlt sehr beliebig irgendwo anders. Ich finde es auch komisch, dass der TonUINO nach mehreren Tracks aufhört zu spielen, ich aber mit „Weiter“ noch irgendwohin komme. Je nachdem was man abspielt ist der erste Track ja nicht besonders als solcher zu erkennen. Dann fragt man sich doch, warum der TonUINO da aufhört.

Wie hast du dir das vorgestellt? Soll gleichzeitig mit der Ansage der Tracknummer der Fortschritt zurückgesetzt werden? Kann man dann nicht mehr sich nur die Tracknummer ansagen lassen?

Kannst du ja auch. Deshalb ist es ja konfigurierbar.

Off topic

Ich finde mit der Karte Hörspiel/Musik aussuchen und mit Tastern steuern auch logisch. So kann man das Bild auf der Karte beim Hören anschauen oder mit der Figur spielen. Ich habe die Karten ja auf ein Band gefädelt, da ist es auch praktisch, wenn kurzes Auflegen reicht, weil die anderen Karten da mit dranhängen und ja auch irgendwo hin müsten. Außerdem gibt es keine Stopps wenn der Reader Schwierigkeiten hat den Tag zu lesen und ich bin durchaus Fan davon nicht für jede Folge eine Karte zu machen. Da schätze ich den Hörspielmodus.

Wow, da hast du aber superflott eine umfassende Analyse gemacht, der ich weitgehend folgen kann.

Sehr gut finde ich, dass der TonUINO einfach weiterspielt, zur Bestätigung des Tastendruchs aber ein „bööp“ gespielt wird. Wie du vorschlägst aus einer dedizierten mp3-Datei. Das gäbe mir die Möglichkeit, statt des „bööp“ eine eigene Ansage (z. B. „letzter Titel erreicht“) aufzunehmen und einzubauen.

Ja, so hatte ich mir das zunächst vorgestellt, sehe nun aber auch den „Haken“. Dennoch bleibt mir die Funktion, das Hörbuch wieder auf „Anfang“ setzen zu können, wichtig. Vielleicht muss es ja gar nicht über Tasten gesteuert werden, sondern könnte auch durch eine allgemeine Spezial- / Modifikationskarte, die das gerade laufende Hörbuch auf „Anfang“ setzt gelöst werden. Das ist sicherlich eine Funktion, die nicht sehr häufig genutzt wird und könnte somit (durch die spezielle Karte ) den Administratoren (Eltern?) vorbehalten bleiben.
Zu „Hörbuch einzeln“ kann ich z. Zt. noch nichts sagen. Ich muss diesen Modus erst noch tiefer durchdringen bevor ich einen diskussionwürdigen Vorschlag machen kann.

Da in der Software ja nur sowas wie „spiele Datei 0500.mp3 aus dem advert Ordner“ stehen wird, könnte man das individuell ändern. Aber für „letzter Titel erreicht“ müsste man für jeden Fall (z.B kein vorheriger Titel) separate mp3s (Nummern) nutzen.
Eine universell nutzbare Datei, egal ob mit Geräusch oder Ansage, könnte man auch in Zukunft verwenden. Bei an das Problem angepassten Ansagen müsste man für jede Erweiterung eine weitere Datei auf die SD-Karte packen. Änderungen an den Soundfiles machen ein Software-Update immer komplizierten.

Das Zurücksetzen eines einzelnen Fortschritts würde ich vielleicht separat diskutieren. Ich mache dazu gleich mal ein Thema

Wäre natürlich ideal, wenn für jede nicht mögliche Aktion eine separate mp3-Datei abgespielt würde, aber ob das den Programmier- und Erstellungsaufwand rechtfertigt?
Ein universelles „bööp“ (wie auch z. B. in Windows bei nicht möglichen Eingaben/Aktionen das „dong“) wäre schon toll.
Mit „eigener Ansage“ hatte ich tatsächlich gemeint, dass ich die universelle Datei auf meiner SD-Karte gegen eine individuelle austauschen könnte. Hier würde ich mir dann auch einen universelleren Text einfallen lassen (z. B. „Aktion nicht möglich“ oder so).

1 „Gefällt mir“

Das geht auf jeden Fall. Der Software ist nur der Name der Datei wichtig.

Ja genau. Außerdem brauchen diese Sonderlocken immer auch zusätzlichen Programmspeicher auf dem Flash. Und der ist bei der AiO fast komplett aufgebraucht.

Ich würde also vorschlagen, dass die Zurück Taste beim ersten Track, diesen von vorne abspielt.
Und die Vorwärts Taste beim letzten Track macht gar nichts. (Für den Reset beim Hörbuch Modus gibt es ja einen eigenen Thread.)

Finde ich ok. Auch wenn ich hier ja dafür war, dass auch zurück nichts macht, weil man dann bei einem langen Hörspiel-/Einzelmodustrack diesen nicht versehentlich von vorne startet.

Im laufe der Diskussion sehe ich durchaus, dass meine Vorstellungen etwas „over-the-top“ waren, besonders hinsichtlich des verfügbaren Speichers.
Ich kann mir auch die Version gut vorstellen, in der beide Tasten nichts machen, gerade im Hörspielmodus bei langen Dateien, wie schon an anderer Stelle angemerkt.
Ein Tastendruck, der nichts macht, führt m. M. nach zu Verwirrung oder wird sogar für einen Fehler gehalten. Deshalb finde ich das „bööp“ für eine nicht erlaubte oder nicht mögliche Aktion fast unerlässlich, da das ja eine Bestätigung für den Anwender ist, dass das Gerät den Tastendruck „verstanden“ hat.
Ich habe die Bedienung noch nicht vollständig durchdrungen, aber vielleicht gibt es anderswo ja vergleichbare Situationen, in denen nicht die angeforderte Aktion ausgeführt werden kann. Dann wäre dieses „bööp“ auch hier universell einsetzbar.

Da unzulässige Aktionen im Code schon weitestgehend abgefangen werden, kann ein zusätzlicher Play-Befehl doch eigentlich fast keinen Speicher kosten.
Mit so einem „Warnsignal“ wäre die Sache für mich dann „rund“

1 „Gefällt mir“