Entwickler-Ecke

Multimedia / Grafik - SetEndCallback für Midis ?


mimi - Sa 10.05.03 14:11
Titel: SetEndCallback für Midis ?
Hallo,
kennt wer eine funktioen unter FMOD mit der man das gleiche wie SetEndCallback machen kann ???
wenn ja: bitte mit ein kleines beispiel Antworteten....
Danke


tommie-lie - Sa 10.05.03 18:49

Gar nicht ;-)
FMod wurde für den Einsatz in Soundsystemen von Spielen entwickelt (daher auch der Druck auf die Portierung auf Spielekonsolen). Normalerweise werden dort die Songs in Endlosschleifen abgespielt, als Hintergrundmusik. Daher sind die Musikschnipsel von Spielen (zum Beispiel die von UT) so komponiert, daß man sie irgendwo unterbrechen kann und ein andere starten kann, und es dem Zuhörer kaum auffällt, vor allem nicht, wenn daziwschen ein Fading stattfindet. Deswegen haben die Entwickelr es wohl nicht für nötig gehalten, den Programmierer beim Ende eines Songs zu benachrichtigen, denn die Standardeinstellung für jedes Module ist ja eh endlosschleife.


mimi - Sa 10.05.03 20:58

gut zu wissen, dann muss ich es leider "selbst" machen, oder ich versuche so eine funktion selbst einzubauen :)


tommie-lie - Sa 10.05.03 23:22

Selbst einbauen wird schwierig bis unmöglich (jenachdem, welchen Zugriff man auf den Mixer hat), denn die Quellcodes liegen ja nicht offen.
Was du aber machen könntest um ein ständiges Polling mit einem Timer in 1ms-Abständen zu verhindern wäre, das Interval auf die Zeit der Datei zu stellen. Allerdings weiß ich leider nicht auswendig, ob man die Spielzeit eines Modules abfragen kann.


mimi - So 11.05.03 11:24

ich dachte mir das man ne procedure schreibt die man nicht beendet(also per schleife) z.b.


Quelltext
1:
2:
3:
while Test = False do  begin
  .....
end:

und sowas halt.... aber ich weiß nicht ob das den rechner belasstet :(


tommie-lie - So 11.05.03 11:30

Ohne ProcessMessages wird das den Rechner ganz schön belasten, zumindest deinen Thread. Ich würde da mindestens ein Sleep reinmachen (klein genug, aber nicht zu klein) und das in einen zweiten Thread auslagern.


mimi - So 11.05.03 11:35

ProcessMessages wollte ich auch noch einbauen(mir viel nur der befel nicht ein:))
naja mal sehen wie ich das problem am besten lösen kann, wer ne "einfache" idee ?