diff --git a/src/audio.h b/src/audio.h index 35f9fbe8e5..125e3a586e 100644 --- a/src/audio.h +++ b/src/audio.h @@ -107,8 +107,11 @@ typedef u8* WaveData; #define MUS_QUEUE_SIZE 16 #define SFX_QUEUE_SIZE 16 -#define AU_SEMITONE 100 // cents -#define AU_OCTAVE (12 * AU_SEMITONE) +// semitone pitch interval in cents +#define AU_SEMITONE_CENTS 100 + +// octave pitch interval in cents +#define AU_OCTAVE_CENTS (12 * AU_SEMITONE_CENTS) #define ENV_VOL_MAX 0x80 // for 7-bit volumes, 128 (1 << 7) represents full volume #define ENV_VOL_SHIFT 7 // Shift required to divide by 128 (normalize 7-bit volumes after a multiply) @@ -444,7 +447,7 @@ typedef union SeqArgs { u8 value; } TrackVolume; struct { // cmd ED - s8 cent; + s8 semitone; } InstrumentCoarseTune; struct { // cmd EE s8 cent; diff --git a/src/audio/bgm_player.c b/src/audio/bgm_player.c index 3c8580eda3..8b221478f5 100644 --- a/src/audio/bgm_player.c +++ b/src/audio/bgm_player.c @@ -1652,7 +1652,7 @@ void au_BGMCmd_EC_TrackVolume(BGMPlayer* player, BGMPlayerTrack* track) { } void au_BGMCmd_ED_InstrumentCoarseTune(BGMPlayer* player, BGMPlayerTrack* track) { - track->insCoarseDetune = player->seqCmdArgs.InstrumentCoarseTune.cent * 100; + track->insCoarseDetune = player->seqCmdArgs.InstrumentCoarseTune.semitone * AU_SEMITONE_CENTS; } void au_BGMCmd_EE_InstrumentFineTune(BGMPlayer* player, BGMPlayerTrack* track) { @@ -1720,7 +1720,7 @@ void au_BGMCmd_F5_UseInstrument(BGMPlayer* player, BGMPlayerTrack* track) { track->insVolume = volume; track->insPan = instrument->pan & 0x7F; track->insReverb = instrument->reverb & 0x7F; - track->insCoarseDetune = instrument->coarseTune * 100; + track->insCoarseDetune = instrument->coarseTune * AU_SEMITONE_CENTS; track->insFineDetune = instrument->fineTune; track->changed.all |= 0x10101; // volume, pan, and reverb } @@ -2014,10 +2014,10 @@ void au_bgm_set_playback_rate(BGMPlayer* player, f32 rate) { } void au_bgm_player_set_detune(BGMPlayer* player, s32 detune) { - if (detune > AU_OCTAVE) { - detune = AU_OCTAVE; - } else if (detune < -2 * AU_OCTAVE) { - detune = -2 * AU_OCTAVE; + if (detune > AU_OCTAVE_CENTS) { + detune = AU_OCTAVE_CENTS; + } else if (detune < -2 * AU_OCTAVE_CENTS) { + detune = -2 * AU_OCTAVE_CENTS; } player->detune = detune; diff --git a/src/audio/snd_interface.c b/src/audio/snd_interface.c index fa2b2baaed..ce865e8b1d 100644 --- a/src/audio/snd_interface.c +++ b/src/audio/snd_interface.c @@ -221,10 +221,10 @@ void snd_start_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift) pan = AU_PAN_MAX; } - if (pitchShift > 2 * AU_OCTAVE) { - pitchShift = 2 * AU_OCTAVE; - } else if (pitchShift < -2 * AU_OCTAVE) { - pitchShift = -2 * AU_OCTAVE; + if (pitchShift > 2 * AU_OCTAVE_CENTS) { + pitchShift = 2 * AU_OCTAVE_CENTS; + } else if (pitchShift < -2 * AU_OCTAVE_CENTS) { + pitchShift = -2 * AU_OCTAVE_CENTS; } au_sfx_enqueue_event(soundManager, soundID, vol, pitchShift, pan); @@ -257,10 +257,10 @@ void snd_adjust_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift) pan = AU_PAN_MAX; } - if (pitchShift > 2 * AU_OCTAVE) { - pitchShift = 2 * AU_OCTAVE; - } else if (pitchShift < -2 * AU_OCTAVE) { - pitchShift = -2 * AU_OCTAVE; + if (pitchShift > 2 * AU_OCTAVE_CENTS) { + pitchShift = 2 * AU_OCTAVE_CENTS; + } else if (pitchShift < -2 * AU_OCTAVE_CENTS) { + pitchShift = -2 * AU_OCTAVE_CENTS; } au_sfx_enqueue_event(soundManager, soundID | SOUND_ID_ADJUST, vol, pitchShift, pan);