5#define STEREO_BYTE_MAX 128.0f
6#define MIN_FREQUENCY_RATIO 0.01f
7#define MAX_FREQUENCY_RATIO 100.0f
30 MIX_StereoGains gains = {
35 MIX_SetTrackStereo(track, &gains);
43 SDL_PropertiesID props = SDL_CreateProperties();
45 MIX_PlayTrack(track, 0);
49 SDL_SetNumberProperty(props, MIX_PROP_PLAY_LOOPS_NUMBER, sdl_loops);
50 MIX_PlayTrack(track, props);
51 SDL_DestroyProperties(props);
55 if (rate <= 0 || reference_rate <= 0) {
59 float ratio = (
float)rate / (
float)reference_rate;
76 return stopped_status;
79 if (MIX_TrackPlaying(track) || MIX_TrackPaused(track)) {
83 return stopped_status;
DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 DWORD block DTTR_Graphics_COM_Direct3DDevice7 void void void void DWORD f DTTR_Graphics_COM_Direct3DDevice7 DWORD idx float
#define DTTR_MSS_STATUS_PLAYING
static void dttr_mss_pan_to_stereo_bytes(int pan, int *left_out, int *right_out)
#define DTTR_MSS_STATUS_STOPPED
#define DTTR_MSS_DEFAULT_VOLUME
#define DTTR_MSS_STATUS_DONE
#define DTTR_MSS_MAX_VOLUME
float dttr_mss_track_frequency_ratio(int rate, int reference_rate)
#define MIN_FREQUENCY_RATIO
void dttr_mss_track_apply_pan(MIX_Track *track, int pan)
void dttr_mss_track_play(MIX_Track *track, int sdl_loops)
#define MAX_FREQUENCY_RATIO
float dttr_mss_track_gain(int volume, float master_gain, float headroom)
int dttr_mss_track_status(MIX_Track *track, int previous_status)