mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-26 19:50:45 +00:00
Windows MIDI support: remove a few unused structure members and the code that relied on them
git-svn-id: https://svn.eduke32.com/eduke32@5816 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
51992210b8
commit
9a0a62fdcb
3 changed files with 15 additions and 189 deletions
|
@ -798,11 +798,8 @@ static void _MIDI_SetChannelVolume
|
||||||
// For user volume
|
// For user volume
|
||||||
volume *= _MIDI_UserChannelVolume[ channel ];
|
volume *= _MIDI_UserChannelVolume[ channel ];
|
||||||
|
|
||||||
if (_MIDI_Funcs->SetVolume == NULL)
|
|
||||||
{
|
|
||||||
volume *= _MIDI_TotalVolume;
|
volume *= _MIDI_TotalVolume;
|
||||||
volume = tabledivide32_noinline(volume, MIDI_MaxVolume);
|
volume = tabledivide32_noinline(volume, MIDI_MaxVolume);
|
||||||
}
|
|
||||||
|
|
||||||
// For user volume
|
// For user volume
|
||||||
volume >>= 8;
|
volume >>= 8;
|
||||||
|
@ -940,22 +937,7 @@ int32_t MIDI_SetVolume
|
||||||
|
|
||||||
_MIDI_TotalVolume = volume;
|
_MIDI_TotalVolume = volume;
|
||||||
|
|
||||||
if (_MIDI_Funcs->SetVolume)
|
|
||||||
{
|
|
||||||
_MIDI_Funcs->SetVolume(volume);
|
|
||||||
|
|
||||||
for (i = 0; i < NUM_MIDI_CHANNELS; i++)
|
|
||||||
{
|
|
||||||
if (_MIDI_RerouteFunctions[ i ] != NULL)
|
|
||||||
{
|
|
||||||
_MIDI_SetChannelVolume(i, _MIDI_ChannelVolume[ i ]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_MIDI_SendChannelVolumes();
|
_MIDI_SendChannelVolumes();
|
||||||
}
|
|
||||||
|
|
||||||
return MIDI_Ok;
|
return MIDI_Ok;
|
||||||
}
|
}
|
||||||
|
@ -967,29 +949,9 @@ int32_t MIDI_SetVolume
|
||||||
Returns the total volume of the music.
|
Returns the total volume of the music.
|
||||||
---------------------------------------------------------------------*/
|
---------------------------------------------------------------------*/
|
||||||
|
|
||||||
int32_t MIDI_GetVolume
|
int32_t MIDI_GetVolume(void)
|
||||||
(
|
|
||||||
void
|
|
||||||
)
|
|
||||||
|
|
||||||
{
|
{
|
||||||
int32_t volume;
|
return (_MIDI_Funcs == NULL) ? MIDI_NullMidiModule : _MIDI_TotalVolume;
|
||||||
|
|
||||||
if (_MIDI_Funcs == NULL)
|
|
||||||
{
|
|
||||||
return MIDI_NullMidiModule;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_MIDI_Funcs->GetVolume)
|
|
||||||
{
|
|
||||||
volume = _MIDI_Funcs->GetVolume();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
volume = _MIDI_TotalVolume;
|
|
||||||
}
|
|
||||||
|
|
||||||
return volume;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1087,11 +1049,6 @@ void MIDI_StopSong
|
||||||
MIDI_Reset();
|
MIDI_Reset();
|
||||||
_MIDI_ResetTracks();
|
_MIDI_ResetTracks();
|
||||||
|
|
||||||
if (_MIDI_Funcs->ReleasePatches)
|
|
||||||
{
|
|
||||||
_MIDI_Funcs->ReleasePatches();
|
|
||||||
}
|
|
||||||
|
|
||||||
DO_FREE_AND_NULL(_MIDI_TrackPtr);
|
DO_FREE_AND_NULL(_MIDI_TrackPtr);
|
||||||
|
|
||||||
_MIDI_NumTracks = 0;
|
_MIDI_NumTracks = 0;
|
||||||
|
@ -1194,18 +1151,7 @@ int32_t MIDI_PlaySong
|
||||||
CurrentTrack++;
|
CurrentTrack++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_MIDI_Funcs->GetVolume != NULL)
|
|
||||||
{
|
|
||||||
_MIDI_TotalVolume = _MIDI_Funcs->GetVolume();
|
|
||||||
}
|
|
||||||
|
|
||||||
_MIDI_InitEMIDI();
|
_MIDI_InitEMIDI();
|
||||||
|
|
||||||
if (_MIDI_Funcs->LoadPatch)
|
|
||||||
{
|
|
||||||
MIDI_LoadTimbres();
|
|
||||||
}
|
|
||||||
|
|
||||||
_MIDI_ResetTracks();
|
_MIDI_ResetTracks();
|
||||||
|
|
||||||
if (!Reset)
|
if (!Reset)
|
||||||
|
@ -1660,118 +1606,6 @@ static void _MIDI_InitEMIDI
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------
|
|
||||||
Function: MIDI_LoadTimbres
|
|
||||||
|
|
||||||
Preloads the timbres on cards that use patch-caching.
|
|
||||||
---------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
void MIDI_LoadTimbres
|
|
||||||
(
|
|
||||||
void
|
|
||||||
)
|
|
||||||
|
|
||||||
{
|
|
||||||
int32_t event;
|
|
||||||
int32_t command;
|
|
||||||
int32_t channel;
|
|
||||||
int32_t length;
|
|
||||||
int32_t Finished;
|
|
||||||
track *Track;
|
|
||||||
int32_t tracknum;
|
|
||||||
|
|
||||||
Track = _MIDI_TrackPtr;
|
|
||||||
tracknum = 0;
|
|
||||||
while ((tracknum < _MIDI_NumTracks) && (Track != NULL))
|
|
||||||
{
|
|
||||||
Finished = FALSE;
|
|
||||||
while (!Finished)
|
|
||||||
{
|
|
||||||
GET_NEXT_EVENT(Track, event);
|
|
||||||
|
|
||||||
if (GET_MIDI_COMMAND(event) == MIDI_SPECIAL)
|
|
||||||
{
|
|
||||||
switch (event)
|
|
||||||
{
|
|
||||||
case MIDI_SYSEX :
|
|
||||||
case MIDI_SYSEX_CONTINUE :
|
|
||||||
length = _MIDI_ReadDelta(Track);
|
|
||||||
Track->pos += length;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case MIDI_META_EVENT :
|
|
||||||
GET_NEXT_EVENT(Track, command);
|
|
||||||
GET_NEXT_EVENT(Track, length);
|
|
||||||
|
|
||||||
if (command == MIDI_END_OF_TRACK)
|
|
||||||
{
|
|
||||||
Finished = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
Track->pos += length;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Finished)
|
|
||||||
{
|
|
||||||
_MIDI_ReadDelta(Track);
|
|
||||||
}
|
|
||||||
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event & MIDI_RUNNING_STATUS)
|
|
||||||
{
|
|
||||||
Track->RunningStatus = event;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
event = Track->RunningStatus;
|
|
||||||
Track->pos--;
|
|
||||||
}
|
|
||||||
|
|
||||||
channel = GET_MIDI_CHANNEL(event);
|
|
||||||
command = GET_MIDI_COMMAND(event);
|
|
||||||
length = _MIDI_CommandLengths[ command ];
|
|
||||||
|
|
||||||
if (command == MIDI_CONTROL_CHANGE)
|
|
||||||
{
|
|
||||||
if (*Track->pos == MIDI_MONO_MODE_ON)
|
|
||||||
{
|
|
||||||
length++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*Track->pos == EMIDI_PROGRAM_CHANGE)
|
|
||||||
{
|
|
||||||
_MIDI_Funcs->LoadPatch(*(Track->pos + 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (channel == MIDI_RHYTHM_CHANNEL)
|
|
||||||
{
|
|
||||||
if (command == MIDI_NOTE_ON)
|
|
||||||
{
|
|
||||||
_MIDI_Funcs->LoadPatch(128 + *Track->pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (command == MIDI_PROGRAM_CHANGE)
|
|
||||||
{
|
|
||||||
_MIDI_Funcs->LoadPatch(*Track->pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Track->pos += length;
|
|
||||||
_MIDI_ReadDelta(Track);
|
|
||||||
}
|
|
||||||
Track++;
|
|
||||||
tracknum++;
|
|
||||||
}
|
|
||||||
|
|
||||||
_MIDI_ResetTracks();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MIDI_UpdateMusic(void)
|
void MIDI_UpdateMusic(void)
|
||||||
{
|
{
|
||||||
if (!_MIDI_SongLoaded || !_MIDI_SongActive) return;
|
if (!_MIDI_SongLoaded || !_MIDI_SongActive) return;
|
||||||
|
|
|
@ -55,20 +55,16 @@ enum MIDI_Errors
|
||||||
extern char MIDI_PatchMap[ 128 ];
|
extern char MIDI_PatchMap[ 128 ];
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
void ( *NoteOff )( int32_t channel, int32_t key, int32_t velocity );
|
void (*NoteOff)(int32_t channel, int32_t key, int32_t velocity);
|
||||||
void ( *NoteOn )( int32_t channel, int32_t key, int32_t velocity );
|
void (*NoteOn)(int32_t channel, int32_t key, int32_t velocity);
|
||||||
void ( *PolyAftertouch )( int32_t channel, int32_t key, int32_t pressure );
|
void (*PolyAftertouch)(int32_t channel, int32_t key, int32_t pressure);
|
||||||
void ( *ControlChange )( int32_t channel, int32_t number, int32_t value );
|
void (*ControlChange)(int32_t channel, int32_t number, int32_t value);
|
||||||
void ( *ProgramChange )( int32_t channel, int32_t program );
|
void (*ProgramChange)(int32_t channel, int32_t program);
|
||||||
void ( *ChannelAftertouch )( int32_t channel, int32_t pressure );
|
void (*ChannelAftertouch)(int32_t channel, int32_t pressure);
|
||||||
void ( *PitchBend )( int32_t channel, int32_t lsb, int32_t msb );
|
void (*PitchBend)(int32_t channel, int32_t lsb, int32_t msb);
|
||||||
void ( *ReleasePatches )( void );
|
void (*FinishBuffer)(void);
|
||||||
void ( *LoadPatch )( int32_t number );
|
} midifuncs;
|
||||||
void ( *SetVolume )( int32_t volume );
|
|
||||||
int32_t ( *GetVolume )( void );
|
|
||||||
void ( *FinishBuffer )( void );
|
|
||||||
} midifuncs;
|
|
||||||
|
|
||||||
void MIDI_RerouteMidiChannel( int32_t channel, int32_t ( *function )( int32_t event, int32_t c1, int32_t c2 ) );
|
void MIDI_RerouteMidiChannel( int32_t channel, int32_t ( *function )( int32_t event, int32_t c1, int32_t c2 ) );
|
||||||
int32_t MIDI_AllNotesOff( void );
|
int32_t MIDI_AllNotesOff( void );
|
||||||
|
|
|
@ -145,10 +145,6 @@ int32_t MUSIC_InitMidi(int32_t card, midifuncs *Funcs, int32_t Address)
|
||||||
Funcs->ProgramChange = MPU_ProgramChange;
|
Funcs->ProgramChange = MPU_ProgramChange;
|
||||||
Funcs->ChannelAftertouch = MPU_ChannelAftertouch;
|
Funcs->ChannelAftertouch = MPU_ChannelAftertouch;
|
||||||
Funcs->PitchBend = MPU_PitchBend;
|
Funcs->PitchBend = MPU_PitchBend;
|
||||||
Funcs->ReleasePatches = NULL;
|
|
||||||
Funcs->LoadPatch = NULL;
|
|
||||||
Funcs->SetVolume = NULL /*MPU_SetVolume*/;
|
|
||||||
Funcs->GetVolume = NULL /*MPU_GetVolume*/;
|
|
||||||
|
|
||||||
MIDI_SetMidiFuncs(Funcs);
|
MIDI_SetMidiFuncs(Funcs);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue