Wing Commander
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
dspv.cpp File Reference

Voice control. More...

#include <signal.h>
#include "ix.h"
#include <stdlib.h>
#include <string.h>
#include <assert.h>

Go to the source code of this file.

Functions

void ix_dspv_set_active (int voice)
void ix_dspv_clear_active (int voice)
void ix_dspv_clear_flag4 (int voice)
unsigned int ix_dspv_get_flags (int voice)
void ix_dspv_set_flag4 (int voice, int on)
void ix_dspv_set_buffer (int voice, unsigned char *p, int len)
int ix_dspv_get_position (int voice)
void ix_dspv_set_position (int voice, int off)
void ix_dspv_set_volume (int voice, short vol)
void ix_dspv_set_pan (int voice, unsigned short angle)
void ix_dspv_set_frequency (int voice, unsigned int hz)
void ix_dspv_set_bits_per_sample (int voice, int bps)
void ix_dspv_set_channels (int voice, int channels)
void ix_dspv_recalc_mix (int voice)

Variables

IxVoice aVoices [34]
CRITICAL_SECTION csMixer
int nVoiceCount
int nVoicesAllocated

Detailed Description

Voice control.

Originally D:\rnd\prj\ix\win95\dsp\dspv.cpp, address range 4467a0-446f73: compiler-generated initializers, then the voice-control functions. The separately assembled sample mixer, dspmix.asm, follows.

Built /Od like the rest of ix: a full EBP frame, EBX, ESI and EDI saved whether used or not, and one shared epilogue.

Definition in file dspv.cpp.

Function Documentation

◆ ix_dspv_clear_active()

void ix_dspv_clear_active ( int voice)

Definition at line 36 of file dspv.cpp.

Referenced by ix_system_release_voice().

◆ ix_dspv_clear_flag4()

void ix_dspv_clear_flag4 ( int voice)

Definition at line 47 of file dspv.cpp.

References nVoiceCount.

Referenced by ix_sound_release().

◆ ix_dspv_get_flags()

unsigned int ix_dspv_get_flags ( int voice)

Definition at line 58 of file dspv.cpp.

References IX_DSPV_FILE, and ix_log_printf().

Referenced by ix_system_find_free_voice(), and ix_system_service_sounds().

◆ ix_dspv_get_position()

int ix_dspv_get_position ( int voice)

Definition at line 96 of file dspv.cpp.

◆ ix_dspv_recalc_mix()

void ix_dspv_recalc_mix ( int voice)

Definition at line 220 of file dspv.cpp.

References csMixer.

◆ ix_dspv_set_active()

void ix_dspv_set_active ( int voice)

Definition at line 25 of file dspv.cpp.

Referenced by ix_system_assign_voice().

◆ ix_dspv_set_bits_per_sample()

void ix_dspv_set_bits_per_sample ( int voice,
int bps )

Definition at line 182 of file dspv.cpp.

Referenced by ix_system_assign_voice().

◆ ix_dspv_set_buffer()

void ix_dspv_set_buffer ( int voice,
unsigned char * p,
int len )

Definition at line 79 of file dspv.cpp.

Referenced by ix_system_assign_voice().

◆ ix_dspv_set_channels()

void ix_dspv_set_channels ( int voice,
int channels )

Definition at line 201 of file dspv.cpp.

Referenced by ix_system_assign_voice().

◆ ix_dspv_set_flag4()

void ix_dspv_set_flag4 ( int voice,
int on )

Definition at line 70 of file dspv.cpp.

References ix_log_printf().

Referenced by ix_system_assign_voice().

◆ ix_dspv_set_frequency()

void ix_dspv_set_frequency ( int voice,
unsigned int hz )

Definition at line 170 of file dspv.cpp.

Referenced by ix_system_assign_voice(), and ix_system_service_sounds().

◆ ix_dspv_set_pan()

void ix_dspv_set_pan ( int voice,
unsigned short angle )

Definition at line 134 of file dspv.cpp.

References csMixer.

Referenced by ix_system_assign_voice(), and ix_system_service_sounds().

◆ ix_dspv_set_position()

void ix_dspv_set_position ( int voice,
int off )

Definition at line 109 of file dspv.cpp.

References aVoices.

Referenced by ix_system_assign_voice().

◆ ix_dspv_set_volume()

void ix_dspv_set_volume ( int voice,
short vol )

Definition at line 122 of file dspv.cpp.

Referenced by ix_system_assign_voice(), and ix_system_service_sounds().

Variable Documentation

◆ aVoices

◆ csMixer

CRITICAL_SECTION csMixer

◆ nVoiceCount

◆ nVoicesAllocated

int nVoicesAllocated

Definition at line 22 of file dspv.cpp.

Referenced by ix_dsp_set_stream_count(), and ix_dsp_set_voice_count().