-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Farbprung beim Minutenwechsel, Überblenden und Geschwindigkeit > 0 #459
Comments
Hallo @RoHA1965, wow, an diesem Bug hab ich etwas zu knabbern. Erst einmal vielen Dank für die detaillierte Beschreibung, dass hat wirklich gut geholfen, zu verstehen das da vor sich geht. In diesem Kontext vielleicht noch wichtig, dass eine der Optionen Ich habe hier einige Dinge ausprobiert und das zugrundeliegende Problem näher untersucht. Selbst wenn man vor jedem Wechsel direkt in den work in act wechselt, kommt es zu einem störenden Farbwechsel. Da über die led.hpp Routine die gespeicherte Farbe 'G.color[Foreground]' auf dem Stripe gespeichert wird und dann in der 'Transition.hpp' wieder vom Stripe gelesen und in den act geschrieben wird. Dabei kommt es zu einem Farbsprung, da sich 'G.color[Foreground]' nicht ändert. Aktuell aber zu vernachlässigen, da die Transition das komplett überblendet. Hier mein Lösungsansatz:
Hierzu hatte eine If-Abrage gefehlt, die ich bald in einem Commit ergänzen werde.
Für das Minutenarray habe ich auch etwas gefunden: hier sollte man statt Foreground -> foregroundMinute schreiben. Somit sollte sich hier die Farbe auch mit ändern.
Generell wollte ich jetzt nur Bugfixing betreiben, damit wir irgendwann mal einen fehlerfreien Stand haben. Etwas Neues werde ich bis dahin auf ToDo verschieben. Denn dieser ganze Code der Übergänge sollte neu geschrieben werden, ich finde es nicht gut, wenn die Farben hier neu analysiert werden müssen und dann wieder manipuliert werden. |
Testen kann man die Änderungen in meinem Repo https://github.com/dbambus/Wortuhr |
Auch wow. Ich hatte nicht mit einem solchen Feedback gerechnet. |
Farbsprünge bei Tranition Typ Übergang und Speed > 0.
Beim Minutenechsel wird in saveMatrix "act" in "old" gespeichert und "act" neu coloriert.
Dann wird zwischen "old" und "akt" Überblendet und letztendlich ist akt=work wobei work immer die aktuelle Anzeige enthält.
Wenn speed = 0 dann ist das IO, da nach einer minute die Matrix noch immer act=work ist.
Aber wenn speed > 0 ist dann ändert sich die Farbe "work" zwischen den Minuten. Act bleibt wie beim "Minutensprung".
Wenn jetzt die nächste Minute kommt, dann wird wieder das "nicht mehr angezeigte act" in old copiert. Old entpricht aber einem "Urold".
Daruch gibt es einen Farbsprung beim Minutenwechsel weil zwischen "Urold" (also einem old, das aber zwischenzeitlich nicht mehr stimmt) und dem neuen act Überblendet wird.
Das Minutenarray macht bei Geschwindigkeit > 0 auch nicht mit. Die Farbe bleibt beim Mínutenwechsel "hängen".
The text was updated successfully, but these errors were encountered: