22#define IX_SYSTEM_FILE "D:\\Rnd\\prj\\ix\\src\\sound\\system.cpp"
55 if (sound->
stopTime != (
unsigned int)-1 &&
71 unsigned int flags = sound->
flags;
72 int voice = sound->
voice;
132 ix_log_printf(
"Not a good ideal to change the number of voices while some are playing.");
165 while (sample != 0) {
205 while (current != 0) {
206 activeNext = current->
next;
208 current = activeNext;
211 while (current != 0) {
212 waitingNext = current->
next;
214 current = waitingNext;
217 while (current != 0) {
218 freeNext = current->
next;
227 int voice = sound->
voice;
240 unsigned int position;
241 unsigned int elapsedTime;
242 unsigned int loopLength;
248 if (sample->
loopEnd < position)
250 (position - sample->
loopStart) % loopLength;
278 sound->
voice = voice;
288 unsigned int minimumPriority)
293 if (sound->
priority > minimumPriority) {
304 unsigned int maximumPriority)
309 if (sound->
priority < maximumPriority) {
void ix_dsp_configure(int option, void *value)
int ix_dsp_get_voice_count(void)
unsigned int ix_dsp_get_tick(void)
void ix_dsp_shutdown(void)
void ix_dsp_set_voice_count(int voiceCount)
void *__cdecl * g_pIxMalloc(unsigned int)
unsigned short ix_dsp_get_master_volume(void)
void ix_dsp_set_master_volume(unsigned short volume)
void ix_dspv_set_channels(int voice, int channels)
unsigned int ix_dspv_get_flags(int voice)
void ix_dspv_set_active(int voice)
void ix_dspv_set_flag4(int voice, int on)
void ix_dspv_set_bits_per_sample(int voice, int bps)
void ix_dspv_set_buffer(int voice, unsigned char *buffer, int length)
void ix_dspv_set_pan(int voice, unsigned short angle)
void ix_dspv_set_position(int voice, int offset)
void ix_dspv_set_frequency(int voice, unsigned int hz)
void ix_dspv_clear_active(int voice)
void ix_dspv_set_volume(int voice, short volume)
void ix_system_set_master_volume(unsigned short volume)
void ix_system_delete_all_samples(void)
void __fastcall ix_sound_stop(IxSound *sound)
IxSound * ix_system_new_sound(IxSample *sample)
void ix_system_shutdown(void)
void ix_system_configure(int option, void *value)
void ix_system_set_voice_count(int voiceCount)
void ix_system_delete_all_sounds(void)
IxSample * ix_system_new_sample(void)
void ix_system_delete_sound(IxSound *sound)
void ix_system_service_sounds(void)
Audio classes, DirectSound interfaces and shared ix state.
unsigned short ix_system_get_master_volume(void)
int ix_system_get_voice_count(void)
int ix_system_find_free_voice(void)
IxSample * g_7_pSampleList
IxSound * g_1_pWaitingSoundList
IxSound * g_1_pFreeSoundHead
void ix_log_printf(const char *fmt,...)
IxSound * ix_system_find_lowest_playing(IxSound *sound, unsigned int maximumPriority)
int ix_system_release_voice(IxSound *sound)
IxSound * ix_system_find_highest_waiting(IxSound *sound, unsigned int minimumPriority)
@ IX_SOUND_FREQUENCY_DIRTY
@ IX_SOUND_DELETE_ON_STOP
void ix_system_assign_voice(IxSound *sound, int voice)
void ix_system_delete_sample(IxSample *sample)
IxSound * g_1_pActiveSoundList
unsigned int g_dwIxSystemBits
unsigned int bitsPerSample
void ix_sample_construct(void)
unsigned int rateNumerator
unsigned int rateDenominator
unsigned int bytesPerFrame
void ix_sample_destruct(void)
void ix_sound_unlink_from_free_list(void)
void ix_system_sound_construct_centred(IxSample *newSample)