Hallo zsuammen
Ich bin gerade etwas mit den Sound-Routinen am spielen und habe da natürlich wieder einmal ein paar Fragen...
1. Ich habe einen Chunk mit den Sound-Events, welche ich per SoundPlayMusic() abspiele. Da übergebe ich den gelockten Memory-Handle von dem Chunk. Gleichzeitig setze ich UNLOCK_ON_EOS, was nach meinem Verständnis den Memory-Lock wieder aufheben sollte.
Code-mässig sieht das so aus:
word *p_music;
SoundStopMusic(highSongHandle);
MemLock(HandleOf(@HighSong));
p_music = LMemDeref(@HighSong);
SoundReallocMusic(highSongHandle, p_music);
SoundPlayMusic(highSongHandle, SP_STANDARD + SP_IMMEDIATE, EIGHTH, UNLOCK_ON_EOS);
Was geschieht nun mit dem Memory-Lock, wenn während dem Abspielen die Funktion SoundStopMusic() aufgerufen wird?
2. Da sich bei Musik sehr oft Teile wiederholen, würde ich diese gerne einzeln definieren und dann in der entsprechenden Reihenfolge ausgeben. Per Sound-Buffer das über Messages zu versuchen, wird wahrscheinlich nichts gescheites geben. Am ehesten würde das wohl über die Stream-Varianten der Sound-Routinen gehen. Die Dokumentation dazu ist aber sehr eingeschränkt und es finden sich auch keine Beispiele in den Sourcen. Hat das schon jemand versucht?
3. Für allgemeine Hinweise und Warnungen zur Sound-Ausgabe bin ich sehr empfänglich. Dass die Instrumente nicht die besten sind und es eigentlich nur etwa 5 verschiedene Sounds gibt, ist leider so. Und dass das Abspielen auch nicht immer ganz sauber im Takt läuft, kann auch an der DosEmu liegen.
Besten Dank schon einmal für Eure Antworten.
Gruss Andreas