0
0

What is the difference between using or not System::update() in a simple player like winamp? (without 3D, effects, etc).
Without System::update() works fine, any reason for use it?

  • You must to post comments
0
0

There is a statement in the documentation

[quote:8tudcbsb]
Inside the update, things like 3D sound, virtual channel updates, and emulated voice updates are executed.
If this is not called when using Channels and 3D sound, then incorrect results could occur.
[/quote:8tudcbsb]

If you dont use the above you should be ok.

edit: i just updated the docs with the following.

[quote:8tudcbsb]
This updates the following things.
– 3D Sound. 3D positioning will not update if this function is not called.
– Virtual voices. If more voices are played than there are real hardware/software voices, this function must be called to handle the virtualization.
– *_NRT output modes. This function must be called to drive the output for these output modes.
– FMOD_INIT_STREAM_FROM_UPDATE. This function must be called to update the streamer if this flag has been used.
– Callbacks. This function must be called to fire callbacks if they are specified.
– FMOD_NONBLOCKING. This function must be called to make sounds opened with FMOD_NONBLOCKING flag to work properly.
[/quote:8tudcbsb]

  • You must to post comments
0
0

Don’t forget Channel::setDelay(). The channel will never get marked as finished unless System::update() is called.

  • You must to post comments
0
0

Ok. Tanks for reply.
And what is the best way to do it in a player like winamp? In a Do-Loop in another thread? Any advice?

  • You must to post comments
0
0

well our examples just use WM_TIMER which it also does painting in.
You could possibly do it in your main message loop as well i guess (that is probably a bit fast, you could make sure it only happens once every x milliseconds)

  • You must to post comments
Showing 4 results
Your Answer

Please first to submit.