The delegate returns false when it is finished (true means keep going). It must fill the buffer with waveform data on demand and must be latency sensitive; as fast as possible.
Makes some old-school style sound effects. Play with them to see what they actually sound like.
Stops playback and unsupends if necessary and exits.
Makes some old-school style sound effects. Play with them to see what they actually sound like.
Plays the given midi files with the nuked opl3 emulator.
Requires mp3.d to be compiled in (module arsd.mp3).
Requires vorbis.d to be compiled in (module arsd.vorbis)
Requires arsd.wav. Only supports simple 8 or 16 bit wav files, no extensible or float formats at this time.
Stops the output thread. Using the object after it is stopped is not recommended which is why this is now deprecated.
Stops the output thread. Using the object after it is stopped is not recommended which is why this is now deprecated.
Stops playing and closes the audio device, but keeps the worker thread alive and waiting for a call to unsuspend, which will re-open everything and pick up (close to; a couple buffers may be discarded) where it left off.
A helper object to create synthesized sound samples.
Stops playing and closes the audio device, but keeps the worker thread alive and waiting for a call to unsuspend, which will re-open everything and pick up (close to; a couple buffers may be discarded) where it left off.
A helper object to create synthesized sound samples.
Cleans up any remaining resources used by this object.
Provides a reference to the calling thread.
Starts the thread and invokes the function or delegate passed upon construction.
Waits for this thread to complete. If the thread terminated as the result of an unhandled exception, this exception will be rethrown.
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
The minimum scheduling priority that may be set for a thread. On systems where multiple scheduling policies are defined, this value represents the minimum valid priority for the scheduling policy of the process.
The maximum scheduling priority that may be set for a thread. On systems where multiple scheduling policies are defined, this value represents the maximum valid priority for the scheduling policy of the process.
The default scheduling priority that is set for a thread. On systems where multiple scheduling policies are defined, this value represents the default priority for the scheduling policy of the process.
Gets the scheduling priority for the associated thread.
Sets the scheduling priority for the associated thread.
Tests whether this thread is running.
Suspends the calling thread for at least the supplied period. This may result in multiple OS calls if period is greater than the maximum sleep duration supported by the operating system.
Forces a context switch to occur away from the calling thread.
Makes an audio thread for you that you can make various sounds on and it will mix them with good enough latency for simple games.
DO NOT USE THIS DIRECTLY. Instead, access it through AudioOutputThread.