Ergebnis 1 bis 20 von 112

Thema: Audieremony - Ogg, Mp3, Flac, Aiff, Mod, S3m, Xm, und It im Maker abspielen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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.

  2. #2
    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

  3. #3
    Hm, das war's noch nicht.
    Merke hier auch keinen Unterschied. =0

    Nach wie vor ohne Fade ein Knacks, mit Fade stumm (oder vielleicht ganz weg, vom Hören her
    ist das ja gleich) sobald der Timer um ist.

    Geändert von MagicMaker (28.09.2016 um 00:08 Uhr)

  4. #4
    Und weiter geht's...
    audieremony_test_b391.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.

  5. #5
    Zitat Zitat
    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 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.

    Code:
    Audieremony Version 1.6a, Build 391
    Debuglevel is 3
    
    Runtime called HarmonyCreate()
    Initialized Audiere audio device
    Initialized otherharmony.dll
    Runtime called HarmonyInitMidi()
    Runtime called HarmonyInitWave()
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyStopMusic()
    Runtime called HarmonyStopSound()
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyFadeOutMusic(1000)
    Runtime called HarmonyStopMusic()
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyPlayMusic('*:\********\Music\confront.ogg.wav')
    Playing file with Audiere
    Reading metadata...
    Tag: vendor=Xiph.Org libVorbis I 20070622
    Tag: Software=Sound Forge Pro 10.0
    Tag: LOOPSTART=2044631
    Tag: DATE=2014-01-27
    Tag: LOOPLENGTH=4979089
    Opened sample source
    Adding loop point from 7023720 to 2044631
    Setting Audiere audio stream loop state
    Runtime called HarmonyFadeInMusic(1000)
    Locking Stream Fade Mutex...
    Runtime called HarmonySetMusicVolume((OFF)')
    Runtime called HarmonyPlayMusic('*:\********\Music\confront.ogg.wav')
    Playing file with Audiere
    Reading metadata...
    Tag: vendor=Xiph.Org libVorbis I 20070622
    Tag: Software=Sound Forge Pro 10.0
    Tag: LOOPSTART=2044631
    Tag: DATE=2014-01-27
    Tag: LOOPLENGTH=4979089
    Opened sample source
    Adding loop point from 7023720 to 2044631
    Setting Audiere audio stream loop state
    Runtime called HarmonyFadeInMusic(1000)
    Locking Stream Fade Mutex...
    Waiting for Stream Fade Mutex...
    Thread got Stream Fade Mutex...
    Runtime called HarmonyPlaySoundEx('*:\********\Sound\loctime.wav', 10, 150, 50)
    Playing file with Audiere
    Runtime called HarmonyPlaySoundEx('*:\********\Sound\hover.wav', 10, 100, 50)
    Playing file with Audiere
    Runtime called HarmonyRelease()
    Freed otherharmony.dll
    Stopping Audiere audio stream
    Clearing sound list
    Stopping Audiere audio stream
    Closing Audiere audio device
    Runtime called HarmonyRelease()
    Freed otherharmony.dll
    Stopping Audiere audio stream
    Clearing sound list
    Stopping Audiere audio stream
    Closing Audiere audio device
    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.

  6. #6
    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:
    Code:
    Runtime called HarmonyPlayMusic('[Dateipfad]')
    Playing file with Audiere
    Reading metadata...
    Opened sample source
    Setting Audiere audio stream loop state
    Runtime called HarmonyFadeInMusic([Fade-in in Millisekunden])
    Locking Stream Fade Mutex...
    Runtime called HarmonySetMusicVolume([Ziellautstärke in Prozent])
    Unlocking Stream Fade Mutex...
    Runtime called HarmonySetMusicSpeed([Geschwindigkeit in Prozent])
    Runtime called HarmonySetMusicPanpot([Balance in Prozent])
    Waiting for Stream Fade Mutex...
    Thread got Stream Fade Mutex...
    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.

    Edit: Gehen eigentlich die Fade-outs bei dir?

    Geändert von elvissteinjr (28.09.2016 um 19:10 Uhr)

  7. #7
    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:

    Code:
    Audieremony Version 1.6a, Build 391
    Debuglevel is 3
    
    Runtime called HarmonyCreate()
    Initialized Audiere audio device
    Initialized otherharmony.dll
    Runtime called HarmonyInitMidi()
    Runtime called HarmonyInitWave()
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyStopMusic()
    Runtime called HarmonyStopSound()
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyFadeOutMusic(800)
    Runtime called HarmonyStopMusic()
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyReserveSound('(OFF)')
    Runtime called HarmonyPlayMusic('*:\********\Music\confront.ogg.wav')
    Playing file with Audiere
    Reading metadata...
    Tag: vendor=Xiph.Org libVorbis I 20070622
    Tag: Software=Sound Forge Pro 10.0
    Tag: LOOPSTART=2044631
    Tag: DATE=2014-01-27
    Tag: LOOPLENGTH=4979089
    Opened sample source
    Adding loop point from 7023720 to 2044631
    Setting Audiere audio stream loop state
    Runtime called HarmonyFadeInMusic(3000)
    Locking Stream Fade Mutex...
    (OFF)')
    Runtime called HarmonyPlayMusic('*:\********\Music\confront.ogg.wav')
    Playing file with Audiere
    Reading metadata...
    Tag: vendor=Xiph.Org libVorbis I 20070622
    Tag: Software=Sound Forge Pro 10.0
    Tag: LOOPSTART=2044631
    Tag: DATE=2014-01-27
    Tag: LOOPLENGTH=4979089
    Opened sample source
    Adding loop point from 7023720 to 2044631
    Setting Audiere audio stream loop state
    Runtime called HarmonyFadeInMusic(3000)
    Locking Stream Fade Mutex...
    Runtime called HarmonySetMusicVolume(Waiting for Stream Fade Mutex...
    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).

    Geändert von MagicMaker (28.09.2016 um 19:58 Uhr)

  8. #8
    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.

  9. #9
    Zitat Zitat
    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:
    Code:
    [...]
    Runtime called HarmonyPlayMusic('*:\********\Music\confront.ogg.wav')
    Playing file with Audiere
    Reading metadata...
    Tag: vendor=Xiph.Org libVorbis I 20070622
    Tag: Software=Sound Forge Pro 10.0
    Tag: LOOPSTART=2044631
    Tag: DATE=2014-01-27
    Tag: LOOPLENGTH=4979089
    Opened sample source
    Adding loop point from 7023720 to 2044631
    Setting Audiere audio stream loop state
    Runtime called HarmonyFadeInMusic(2000)
    Locking Stream Fade Mutex...
    Runtime called HarmonySetMusicVolume(30)
    Unlocking Stream Fade Mutex...
    Runtime called HarmonySetMusicSpeed(100)
    Runtime called HarmonySetMusicPanpot(50)
    Runtime called HarmonyFadeOutMusic(5000)

  10. #10
    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.

    audieremony_test_b418.zip

    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.

  11. #11
    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.

  12. #12
    Code:
    Version 1.6a, Build 420 (29.09.2016)
        Fix:
    	- Crash bei Schließen des Spiels während eines Fade-in/out
    	- Crash bei versuchter Wiedergabe nicht unterstützter Formate
    	- Race-Condition bei Musikwiedergabe (resultiert in 0% Lautstärke) auf manchen Systemen (Danke an MagicMaker)
    	- Zugriffsverletzung beim Nutzen von Sound-Dateinamentag "&sPos&" bevor Musik wiedergegeben wurde
    Download im Startpost.
    Das war's dann hoffentlich mal vorerst. Vielleicht.


    Edit: SdU 2 enthält jetzt auch die neue Version, falls daran Interesse besteht.

    Geändert von elvissteinjr (29.09.2016 um 21:24 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •