Also dann!~
Wie versprochen alles nach 1.2 durchprobiert, bei 1.5c, und das ist später als ich jetzt erwartet hätte, ist Sense.
Da der im Changelog angegebene Fix an der Stelle mit FadeIns zu tun hatte, passt es ja aber irgendwie.
(Ja in SdU2 läuft es auch nicht, darüber war ich wieder darauf gekommen, mal die Trackerformate zu testen.)
wxPlayer klappt wunderbärchen, hätt mich sonst gewundert weil wie du gesagt hast, Audiere ändert sich ja nicht
über die Versionen hinweg, ich hab beim Testen eben auch nur immer Harmony ersetzt, da der Rest eh gleich ist.
--
Solange es hier falschzitierende Ärsche gibt, dulde ich keinerlei Zitatboxen, die von mir sein sollen.
Ich hab hier mal was zu Testen.
Hauptsächlich den alten Multithreading Code (also die Teile mit den Fades) gescheit abgesichert und was nen eigentlich irrelevanten Crash gefixt. Läuft bei mir wie vorher... mehr kann ich dazu erst mal nicht sagen. audieremony_test.zip
Tracks ohne Fade in sollen doch bitte damit abgespielt werden. Bei PlayMusic mit Fade in fände ich Logs ganz interessant, dann kann ich die Reihenfolge der Dinge nochmal genauer beobachten.
Tracks ohne Fade in sollen doch bitte damit abgespielt werden.
...
Yeeeaaah! Da läuft alles soweit nun paletti. So weit wie ich um die Zeit noch testen kann.
Auch der Loop funktioniert.
Zitat
Bei PlayMusic mit Fade in fände ich Logs ganz interessant, dann kann ich die Reihenfolge der Dinge nochmal genauer beobachten.
...
So sei es denn.
Hab was dunkelrot markiert, das wegen nem fehlenden Zeichen komisch aussieht, weiß nicht
ob das nur ein Missgeschick beim loggen ist oder irgendwas sonst bedeutet.
--
Solange es hier falschzitierende Ärsche gibt, dulde ich keinerlei Zitatboxen, die von mir sein sollen.
Die Logs sehen etwas komisch aus, zugegeben. Besonders das eine "(OFF)" sollte da eigentlich gar nicht erscheinen können. HarmonySetMusicVolume nimmt nur einen Int und falls das ne Race-Condition vom Multithreading ist, sieht der Rest ziemlich sauber aus...
Naja, der andere Thread wird in der Release Version eh nicht ins Log schreiben, also ignoriere ich das mal.
Die Reihenfolge der anderen Befehle ist auch ein wenig merkwürdig.
Bei mir sieht das immer so aus:
Wie dem auch sei, ich hab hier nochmal was zum Testen. Das sollte ziemlich nah am Verhalten von 1.5b sein aber trotzdem die richtige Lautstärke bei Fade-ins haben, wie 1.5c+. audieremony_test_b408.zip
Falls das auch nicht geht, ist darin auch eine zweite Version, welche blockiert bis der Fade-in abgeschlossen ist. Dazu Logs, falls nötig wären gut.
Ich fänds ja selber schön wenn noch den Quellcode von den alten Versionen hätte. Dem Verantwortlichen sag ich, dass er in Zukunft Backups von sowas machen könnte.
FadeOut: Hatte ich vergessen mal zu nutzen, ja funktioniert bei der Version aus Post 93.
FadeIn klappt in der ersten Fassung vom neuen Paket, wenn ich versuche, das auszufaden, hängt sich allerdings
soweit ich das beobachten kann irgendein Teil der ganzen Verkettung von Spiel bis Audiere auf und ich kann das
Spiel nicht mehr normal schließen (Spielbildschirm schwärzt sich, Fenster bleibt), sondern nur noch killen.
Der Log zu genau diesem Vorgang:
In der zweiten Fassung kann ich keinen Unterschied zur ersten feststellen, es loggt auch genau gleich.
Nochmal gesondert als klarere Aussage:
Das Problem beim FadeOut taucht nicht auf, wenn kein FadeIn passiert ist, sondern er funktioniert genau so gut
wie in der erwähnten Version davor (Post 93).
--
Solange es hier falschzitierende Ärsche gibt, dulde ich keinerlei Zitatboxen, die von mir sein sollen.
Die zweite DLL war nur gedacht falls die erstere das selbe Verhalten zeigen sollte. Sie warted bis das Fade-in fertig ist, anstatt es im Hintergrund ablaufen zu lassen.
Wir nähern uns dem Ziel wie ich sehe. Den Beschriebenen Deadlock kann ich gut nachvollziehen, am Fade-out hab ich selbst nicht wirklich was geändert und nicht wirklich weiter getestet.
Schockierenderweise konnte ich das ganze nicht Nachbilden... die Hauptverdächtigen hab ich aber so angepasst, dass es sich mit Fade-out nicht mehr locken dürfte (also sollte schon so). audieremony_test_b410.zip
Die Befehlsreihenfolge ist mir aber trotzdem noch ein Rätsel (da fehlen auch Zeilen die gar nicht fehlen könnten...). Ist das vielleicht ne RPG_RT vom offiziellen englischen Release? Hab ich selbst nicht rumliegen, muss ich zugeben.
Ist das vielleicht ne RPG_RT vom offiziellen englischen Release?
...
Nö, für 1.61 hätte auch erstmal der HarmonyPatcher portiert werden müssen, weil genau wie RPG2003 1.05+
auch RPG2000 1.50+ (am gleichen Tag damals rausgekommen) keine DLL mehr verwendet.
Ich bastel die Sachen, die ich im Moment mach, alle mit 2000-1.07.
Lock passiert noch weiterhin, sieht nur im Mitgeschreibsel jetzt so aus:
--
Solange es hier falschzitierende Ärsche gibt, dulde ich keinerlei Zitatboxen, die von mir sein sollen.
Reihenfolge sieht jetzt relativ normal aus. Ins Log aus nem anderen Thread zu schreiben war wohl ne ganz schlechte Idee.
Nun gut.
Ich habe hier quasi meinen letzten Versuch. Im Archiv sind wieder 2 verschiedene Varianten. Einmal mit noch einem versuchten Fix für den Deadlock und eine andere ganz ohne Mutex Zeug.
Letzteres entspricht ungefähr dem was in den alten Versionen gemacht wurde. Das ist aber eigentlich verdammt anfällig für Data Races und jeder Programmierer würde mich wohl dafür hauen. Aber falls es anders wohl erst mal nicht geht und beim Testen trotzdem alles immer in der richtigen Reihenfolge geschieht, bleibt's erst mal dabei. Hat die Jahre ja auch gut funktioniert.
Logs brauche ich hier keine. Nur das Wissen ob und was davon funktioniert. Und wenn beide nicht funktionieren geh ich erstmal in die Ecke... und schau nochmal drüber.
Ist zwar schon wieder megaspät, aber hab eben mal noch die erste der beiden Fassungen getestet.
Ich glaub, wir haben's! Der FadeOut funktioniert (mit und ohne FadeIn getestet). °--°
Heißt dann wohl, Mutex kann bleiben. Ich spare mir dann mal, die ohne auch noch zu probieren.
--
Solange es hier falschzitierende Ärsche gibt, dulde ich keinerlei Zitatboxen, die von mir sein sollen.