void digi_set_max_channels(int n) { OSErr err; song_resource *song; digi_max_channels = n; if ( digi_max_channels < 1 ) digi_max_channels = 1; if ( digi_max_channels > MAX_SOUND_CHANNELS ) digi_max_channels = MAX_SOUND_CHANNELS; if ( !digi_initialized ) return; if (digi_midi_song_playing) digi_stop_current_song(); if (midi_volume <= 0) ChangeSystemVoices(0, digi_max_channels/2, digi_max_channels); else ChangeSystemVoices(MAX_MUSIC_CHANNELS, 4 + (digi_max_channels/2), digi_max_channels); if (digi_last_midi_song != 0) digi_play_midi_song(digi_last_midi_song, digi_last_midi_song_loop); digi_reset_digi_sounds(); }
void digi_set_midi_volume(int n) { int old_volume = midi_volume; if (!digi_initialized) return; if (n < 0) midi_volume = 0; else if (n > 255) midi_volume = 255; else midi_volume = n; #ifdef MAC_SHAREWARE SetSongVolume(midi_volume); #else redbook_set_volume(midi_volume); #endif if (!old_volume && midi_volume) { #ifdef MAC_SHAREWARE ChangeSystemVoices(MAX_MUSIC_CHANNELS, 4 + (digi_max_channels/2), digi_max_channels); #endif digi_play_midi_song(digi_last_midi_song, digi_last_midi_song_loop); } else if (old_volume && !midi_volume) { digi_stop_current_song(); #ifndef MAC_SHAREWARE digi_cd_started = 0; #else ChangeSystemVoices(0, digi_max_channels/2, digi_max_channels); #endif } }
void do_options_menu() { // newmenu_item m[14]; newmenu_item m[14]; int i = 0; do { m[0].type = NM_TYPE_SLIDER; m[0].text=TXT_FX_VOLUME; m[0].value=Config_digi_volume;m[0].min_value=0; m[0].max_value=8; m[1].type = NM_TYPE_SLIDER; m[1].text=TXT_MUSIC_VOLUME; m[1].value=Config_midi_volume;m[1].min_value=0; m[1].max_value=8; m[2].type = NM_TYPE_CHECK; m[2].text=TXT_REVERSE_STEREO; m[2].value=Config_channels_reversed; m[3].type = NM_TYPE_TEXT; m[3].text=""; //added/changed on 10/27/98 by Victor Rachels to increase brightness range m[4].type = NM_TYPE_SLIDER; m[4].text=TXT_BRIGHTNESS; m[4].value=gr_palette_get_gamma();m[4].min_value=0; m[4].max_value=16; //end this section addition - Victor Rachels m[5].type = NM_TYPE_TEXT; m[5].text=""; m[6].type = NM_TYPE_MENU; m[6].text=TXT_CONTROLS_; m[7].type = NM_TYPE_MENU; m[7].text=TXT_DETAIL_LEVELS; m[8].type = NM_TYPE_MENU; m[8].text=TXT_CAL_JOYSTICK; //added/changed on 10/27/98 by Victor Rachels to increase sensitivity range m[9].type = NM_TYPE_SLIDER; m[9].text=TXT_JOYS_SENSITIVITY; m[9].value=Config_joystick_sensitivity; m[9].min_value =0; m[9].max_value = 8; //end this section addition - Victor Rachels //added on 4/13/99 by Victor Rachels to add joystick deadzone option m[10].type = NM_TYPE_SLIDER; m[10].text="Joystick Deadzone"; m[10].value=joy_deadzone; m[10].min_value=0; m[10].max_value=16; //end this section addition - VR m[11].type = NM_TYPE_TEXT; m[11].text=""; m[12].type = NM_TYPE_CHECK; m[12].text="Ship auto-leveling"; m[12].value=Auto_leveling_on; m[13].type = NM_TYPE_MENU; m[13].text="D1X options..."; i = newmenu_do1( NULL, TXT_OPTIONS, 14, m, joydef_menuset, i ); switch(i) { case 6: joydefs_config(); break; case 7: do_detail_level_menu(); break; case 8: joydefs_calibrate(); break; case 13: d1x_options_menu(); break; } Config_channels_reversed = m[2].value; Config_joystick_sensitivity = m[9].value; joy_deadzone = m[10].value; Auto_leveling_on = m[12].value; } while( i>-1 ); if ( Config_midi_volume < 1 ) { digi_play_midi_song( NULL, NULL, NULL, 0 ); } write_player_file(); }
void songs_play_level_song( int levelnum ) { int songnum; Assert( levelnum != 0 ); if ( !Songs_initialized ) songs_init(); if (levelnum < 0) songnum = (-levelnum) % NUM_GAME_SONGS; else songnum = (levelnum-1) % NUM_GAME_SONGS; songnum += SONG_LEVEL_MUSIC; digi_play_midi_song( Songs[songnum].filename, Songs[songnum].melodic_bank_file, Songs[songnum].drum_bank_file, 1 ); }
void songs_play_song( int songnum, int repeat ) { songs_init(); //stop any music already playing songs_stop_all(); // The endgame track is the last track... if (songnum < SONG_ENDGAME) play_redbook_track(songnum + 2,0); else if (songnum == SONG_ENDGAME) play_redbook_track(REDBOOK_ENDGAME_TRACK,0); else if (songnum > SONG_ENDGAME) play_redbook_track(songnum + 1,0); if (!Redbook_playing) //not playing redbook, so play midi digi_play_midi_song( Songs[songnum].filename, Songs[songnum].melodic_bank_file, Songs[songnum].drum_bank_file, repeat ); }
void songs_play_level_song( int levelnum ) { int songnum; int n_tracks; Assert( levelnum != 0 ); songs_init(); songs_stop_all(); if (cGameSongsAvailable < 1) return; current_song_level = levelnum; if (levelnum < 0) songnum = (-levelnum) % cGameSongsAvailable; else songnum = (levelnum-1) % cGameSongsAvailable; if (!RBAEnabled() && GameCfg.SndEnableRedbook) // need this to determine if we currently have the official CD reinit_redbook(); n_tracks = RBAGetNumberOfTracks(); if (RBAEnabled() && GameCfg.SndEnableRedbook) { //try to play redbook play_redbook_track(REDBOOK_FIRST_LEVEL_TRACK + (songnum % (n_tracks-REDBOOK_FIRST_LEVEL_TRACK+1)),!songs_haved1_cd()); } if (! Redbook_playing) { //not playing redbook, so play midi songnum += SONG_LEVEL_MUSIC; digi_play_midi_song( Songs[songnum].filename, Songs[songnum].melodic_bank_file, Songs[songnum].drum_bank_file, 1 ); } }
void songs_play_song( int songnum, int repeat ) { if ( !Songs_initialized ) songs_init(); digi_play_midi_song( Songs[songnum].filename, Songs[songnum].melodic_bank_file, Songs[songnum].drum_bank_file, repeat ); }