aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi.cpp
diff options
context:
space:
mode:
authorJP Cimalando <jpcima@users.noreply.github.com>2018-09-11 13:32:07 +0200
committerJP Cimalando <jpcima@users.noreply.github.com>2018-09-11 13:32:07 +0200
commit6a90c71084b2d21c01346075924ebe01b9cfd051 (patch)
tree784e48b7ebc4729527d6acc490cb511f0663c188 /src/adlmidi.cpp
parent0fcbbb0c01e850a39bc3ba36b070f0f0bfa8c135 (diff)
downloadlibADLMIDI-6a90c71084b2d21c01346075924ebe01b9cfd051.tar.gz
libADLMIDI-6a90c71084b2d21c01346075924ebe01b9cfd051.tar.bz2
libADLMIDI-6a90c71084b2d21c01346075924ebe01b9cfd051.zip
have consistent null checks and returns
Diffstat (limited to 'src/adlmidi.cpp')
-rw-r--r--src/adlmidi.cpp220
1 files changed, 103 insertions, 117 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index 2d7b672..8ca94b1 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -60,7 +60,7 @@ ADLMIDI_EXPORT struct ADL_MIDIPlayer *adl_init(long sample_rate)
return NULL;
}
- MIDIplay *player = new MIDIplay(static_cast<unsigned long>(sample_rate));
+ MIDIplay *player = new(std::nothrow) MIDIplay(static_cast<unsigned long>(sample_rate));
if(!player)
{
free(midi_device);
@@ -76,9 +76,9 @@ ADLMIDI_EXPORT void adl_close(struct ADL_MIDIPlayer *device)
{
if(!device)
return;
- MIDIplay * play = reinterpret_cast<MIDIplay *>(device->adl_midiPlayer);
- if(play)
- delete play;
+ MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
+ delete play;
device->adl_midiPlayer = NULL;
free(device);
device = NULL;
@@ -89,8 +89,7 @@ ADLMIDI_EXPORT int adl_setDeviceIdentifier(ADL_MIDIPlayer *device, unsigned id)
if(!device || id > 0x0f)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
play->setDeviceId(static_cast<uint8_t>(id));
return 0;
}
@@ -101,6 +100,7 @@ ADLMIDI_EXPORT int adl_setNumChips(ADL_MIDIPlayer *device, int numChips)
return -2;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
#ifdef ADLMIDI_HW_OPL
ADL_UNUSED(numChips);
play->m_setup.numChips = 1;
@@ -124,9 +124,8 @@ ADLMIDI_EXPORT int adl_getNumChips(struct ADL_MIDIPlayer *device)
if(device == NULL)
return -2;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(play)
- return (int)play->m_setup.numChips;
- return -2;
+ assert(play);
+ return (int)play->m_setup.numChips;
}
ADLMIDI_EXPORT int adl_setBank(ADL_MIDIPlayer *device, int bank)
@@ -134,6 +133,7 @@ ADLMIDI_EXPORT int adl_setBank(ADL_MIDIPlayer *device, int bank)
#ifdef DISABLE_EMBEDDED_BANKS
ADL_UNUSED(bank);
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->setErrorString("This build of libADLMIDI has no embedded banks. "
"Please load banks by using adl_openBankFile() or "
"adl_openBankData() functions instead of adl_setBank().");
@@ -146,6 +146,7 @@ ADLMIDI_EXPORT int adl_setBank(ADL_MIDIPlayer *device, int bank)
bankno = 0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
if(static_cast<uint32_t>(bankno) >= NumBanks)
{
char errBuf[150];
@@ -185,6 +186,7 @@ ADLMIDI_EXPORT int adl_reserveBanks(ADL_MIDIPlayer *device, unsigned banks)
if(!device)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
OPL3::BankMap &map = play->m_synth.m_insBanks;
map.reserve(banks);
return (int)map.capacity();
@@ -201,6 +203,7 @@ ADLMIDI_EXPORT int adl_getBank(ADL_MIDIPlayer *device, const ADL_BankId *idp, in
size_t idnumber = ((id.msb << 8) | id.lsb | (id.percussive ? size_t(OPL3::PercussionTag) : 0));
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
OPL3::BankMap &map = play->m_synth.m_insBanks;
OPL3::BankMap::iterator it;
@@ -253,6 +256,7 @@ ADLMIDI_EXPORT int adl_removeBank(ADL_MIDIPlayer *device, ADL_Bank *bank)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
OPL3::BankMap &map = play->m_synth.m_insBanks;
OPL3::BankMap::iterator it = OPL3::BankMap::iterator::from_ptrs(bank->pointer);
size_t size = map.size();
@@ -266,6 +270,7 @@ ADLMIDI_EXPORT int adl_getFirstBank(ADL_MIDIPlayer *device, ADL_Bank *bank)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
OPL3::BankMap &map = play->m_synth.m_insBanks;
OPL3::BankMap::iterator it = map.begin();
@@ -282,6 +287,7 @@ ADLMIDI_EXPORT int adl_getNextBank(ADL_MIDIPlayer *device, ADL_Bank *bank)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
OPL3::BankMap &map = play->m_synth.m_insBanks;
OPL3::BankMap::iterator it = OPL3::BankMap::iterator::from_ptrs(bank->pointer);
@@ -295,7 +301,7 @@ ADLMIDI_EXPORT int adl_getNextBank(ADL_MIDIPlayer *device, ADL_Bank *bank)
ADLMIDI_EXPORT int adl_getInstrument(ADL_MIDIPlayer *device, const ADL_Bank *bank, unsigned index, ADL_Instrument *ins)
{
if(!device || !bank || index > 127 || !ins)
- return 1;
+ return -1;
OPL3::BankMap::iterator it = OPL3::BankMap::iterator::from_ptrs(bank->pointer);
cvt_FMIns_to_ADLI(*ins, it->second.ins[index]);
@@ -306,10 +312,10 @@ ADLMIDI_EXPORT int adl_getInstrument(ADL_MIDIPlayer *device, const ADL_Bank *ban
ADLMIDI_EXPORT int adl_setInstrument(ADL_MIDIPlayer *device, ADL_Bank *bank, unsigned index, const ADL_Instrument *ins)
{
if(!device || !bank || index > 127 || !ins)
- return 1;
+ return -1;
if(ins->version != 0)
- return 1;
+ return -1;
OPL3::BankMap::iterator it = OPL3::BankMap::iterator::from_ptrs(bank->pointer);
cvt_ADLI_to_FMIns(it->second.ins[index], *ins);
@@ -320,13 +326,12 @@ ADLMIDI_EXPORT int adl_loadEmbeddedBank(struct ADL_MIDIPlayer *device, ADL_Bank
{
if(!device)
return -1;
- MidiPlayer *play = GET_MIDI_PLAYER(device);
- if (!play)
- return -1;
#ifdef DISABLE_EMBEDDED_BANKS
ADL_UNUSED(bank);
ADL_UNUSED(num);
+ MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->setErrorString("This build of libADLMIDI has no embedded banks. "
"Please load banks by using adl_openBankFile() or "
"adl_openBankData() functions instead of adl_loadEmbeddedBank().");
@@ -356,6 +361,7 @@ ADLMIDI_EXPORT int adl_setNumFourOpsChn(ADL_MIDIPlayer *device, int ops4)
return adlRefreshNumCards(device);
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
if((unsigned int)ops4 > 6 * play->m_setup.numChips)
{
char errBuff[250];
@@ -376,15 +382,15 @@ ADLMIDI_EXPORT int adl_getNumFourOpsChn(struct ADL_MIDIPlayer *device)
if(!device)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(play)
- return (int)play->m_setup.numFourOps;
- return -1;
+ assert(play);
+ return (int)play->m_setup.numFourOps;
}
ADLMIDI_EXPORT void adl_setPercMode(ADL_MIDIPlayer *device, int percmod)
{
if(!device) return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->m_setup.rhythmMode = percmod;
play->m_synth.m_rhythmMode = play->m_setup.rhythmMode < 0 ?
(play->m_synth.m_insBankSetup.adLibPercussions) :
@@ -396,6 +402,7 @@ ADLMIDI_EXPORT void adl_setHVibrato(ADL_MIDIPlayer *device, int hvibro)
{
if(!device) return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->m_setup.deepVibratoMode = hvibro;
play->m_synth.m_deepVibratoMode = play->m_setup.deepVibratoMode < 0 ?
play->m_synth.m_insBankSetup.deepVibrato :
@@ -407,6 +414,7 @@ ADLMIDI_EXPORT int adl_getHVibrato(struct ADL_MIDIPlayer *device)
{
if(!device) return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
return play->m_synth.m_deepVibratoMode;
}
@@ -414,6 +422,7 @@ ADLMIDI_EXPORT void adl_setHTremolo(ADL_MIDIPlayer *device, int htremo)
{
if(!device) return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->m_setup.deepTremoloMode = htremo;
play->m_synth.m_deepTremoloMode = play->m_setup.deepTremoloMode < 0 ?
play->m_synth.m_insBankSetup.deepTremolo :
@@ -425,6 +434,7 @@ ADLMIDI_EXPORT int adl_getHTremolo(struct ADL_MIDIPlayer *device)
{
if(!device) return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
return play->m_synth.m_deepTremoloMode;
}
@@ -433,8 +443,7 @@ ADLMIDI_EXPORT void adl_setScaleModulators(ADL_MIDIPlayer *device, int smod)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->m_setup.scaleModulators = smod;
play->m_synth.m_scaleModulators = play->m_setup.scaleModulators < 0 ?
play->m_synth.m_insBankSetup.scaleModulators :
@@ -446,8 +455,7 @@ ADLMIDI_EXPORT void adl_setFullRangeBrightness(struct ADL_MIDIPlayer *device, in
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->m_setup.fullRangeBrightnessCC74 = (fr_brightness != 0);
}
@@ -456,8 +464,7 @@ ADLMIDI_EXPORT void adl_setLoopEnabled(ADL_MIDIPlayer *device, int loopEn)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER
play->m_sequencer.setLoopEnabled(loopEn != 0);
#else
@@ -470,8 +477,7 @@ ADLMIDI_EXPORT void adl_setSoftPanEnabled(ADL_MIDIPlayer *device, int softPanEn)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->m_synth.m_softPanning = (softPanEn != 0);
}
@@ -481,8 +487,7 @@ ADLMIDI_EXPORT void adl_setLogarithmicVolumes(struct ADL_MIDIPlayer *device, int
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->m_setup.logarithmicVolumes = (logvol != 0);
if(play->m_setup.logarithmicVolumes)
play->m_synth.setVolumeScaleModel(ADLMIDI_VolumeModel_NativeOPL3);
@@ -495,8 +500,7 @@ ADLMIDI_EXPORT void adl_setVolumeRangeModel(struct ADL_MIDIPlayer *device, int v
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->m_setup.volumeScaleModel = volumeModel;
if(play->m_setup.volumeScaleModel == ADLMIDI_VolumeModel_AUTO)//Use bank default volume model
play->m_synth.m_volumeScale = (OPL3::VolumesScale)play->m_synth.m_insBankSetup.volumeModel;
@@ -509,16 +513,16 @@ ADLMIDI_EXPORT int adl_getVolumeRangeModel(struct ADL_MIDIPlayer *device)
if(!device)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
return play->m_synth.getVolumeScaleModel();
}
ADLMIDI_EXPORT int adl_openBankFile(struct ADL_MIDIPlayer *device, const char *filePath)
{
- if(device && device->adl_midiPlayer)
+ if(device)
{
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->m_setup.tick_skip_samples_delay = 0;
if(!play->LoadBank(filePath))
{
@@ -536,11 +540,10 @@ ADLMIDI_EXPORT int adl_openBankFile(struct ADL_MIDIPlayer *device, const char *f
ADLMIDI_EXPORT int adl_openBankData(struct ADL_MIDIPlayer *device, const void *mem, unsigned long size)
{
- if(device && device->adl_midiPlayer)
+ if(device)
{
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
play->m_setup.tick_skip_samples_delay = 0;
if(!play->LoadBank(mem, static_cast<size_t>(size)))
{
@@ -558,11 +561,10 @@ ADLMIDI_EXPORT int adl_openBankData(struct ADL_MIDIPlayer *device, const void *m
ADLMIDI_EXPORT int adl_openFile(ADL_MIDIPlayer *device, const char *filePath)
{
- if(device && device->adl_midiPlayer)
+ if(device)
{
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER
play->m_setup.tick_skip_samples_delay = 0;
if(!play->LoadMIDI(filePath))
@@ -586,11 +588,10 @@ ADLMIDI_EXPORT int adl_openFile(ADL_MIDIPlayer *device, const char *filePath)
ADLMIDI_EXPORT int adl_openData(ADL_MIDIPlayer *device, const void *mem, unsigned long size)
{
- if(device && device->adl_midiPlayer)
+ if(device)
{
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER
play->m_setup.tick_skip_samples_delay = 0;
if(!play->LoadMIDI(mem, static_cast<size_t>(size)))
@@ -624,9 +625,10 @@ ADLMIDI_EXPORT const char *adl_chipEmulatorName(struct ADL_MIDIPlayer *device)
{
#ifndef ADLMIDI_HW_OPL
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(play && !play->m_synth.m_chips.empty())
+ assert(play);
+ if(!play->m_synth.m_chips.empty())
return play->m_synth.m_chips[0]->emulatorName();
- #else
+#else
return "Hardware OPL3 chip on 0x330";
#endif
}
@@ -639,8 +641,6 @@ ADLMIDI_EXPORT int adl_switchEmulator(struct ADL_MIDIPlayer *device, int emulato
{
MidiPlayer *play = GET_MIDI_PLAYER(device);
assert(play);
- if(!play)
- return -1;
if(adl_isEmulatorAvailable(emulator))
{
play->m_setup.emulator = emulator;
@@ -658,6 +658,7 @@ ADLMIDI_EXPORT int adl_setRunAtPcmRate(ADL_MIDIPlayer *device, int enabled)
if(device)
{
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
if(play)
{
play->m_setup.runAtPcmRate = (enabled != 0);
@@ -703,6 +704,7 @@ ADLMIDI_EXPORT void adl_reset(struct ADL_MIDIPlayer *device)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->partialReset();
play->resetMIDI();
}
@@ -713,8 +715,7 @@ ADLMIDI_EXPORT double adl_totalTimeLength(struct ADL_MIDIPlayer *device)
if(!device)
return -1.0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1.0;
+ assert(play);
return play->m_sequencer.timeLength();
#else
ADL_UNUSED(device);
@@ -728,8 +729,7 @@ ADLMIDI_EXPORT double adl_loopStartTime(struct ADL_MIDIPlayer *device)
if(!device)
return -1.0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1.0;
+ assert(play);
return play->m_sequencer.getLoopStart();
#else
ADL_UNUSED(device);
@@ -743,8 +743,7 @@ ADLMIDI_EXPORT double adl_loopEndTime(struct ADL_MIDIPlayer *device)
if(!device)
return -1.0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1.0;
+ assert(play);
return play->m_sequencer.getLoopEnd();
#else
ADL_UNUSED(device);
@@ -758,8 +757,7 @@ ADLMIDI_EXPORT double adl_positionTell(struct ADL_MIDIPlayer *device)
if(!device)
return -1.0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1.0;
+ assert(play);
return play->m_sequencer.tell();
#else
ADL_UNUSED(device);
@@ -775,8 +773,7 @@ ADLMIDI_EXPORT void adl_positionSeek(struct ADL_MIDIPlayer *device, double secon
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_panic();
play->m_setup.delay = play->m_sequencer.seek(seconds, play->m_setup.mindelay);
play->m_setup.carry = 0.0;
@@ -792,8 +789,7 @@ ADLMIDI_EXPORT void adl_positionRewind(struct ADL_MIDIPlayer *device)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_panic();
play->m_sequencer.rewind();
#else
@@ -807,8 +803,7 @@ ADLMIDI_EXPORT void adl_setTempo(struct ADL_MIDIPlayer *device, double tempo)
if(!device || (tempo <= 0.0))
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->m_sequencer.setTempo(tempo);
#else
ADL_UNUSED(device);
@@ -821,9 +816,8 @@ ADLMIDI_EXPORT int adl_describeChannels(struct ADL_MIDIPlayer *device, char *str
{
if(!device)
return -1;
- MIDIplay *play = reinterpret_cast<MIDIplay *>(device->adl_midiPlayer);
- if(!play)
- return -1;
+ MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->describeChannels(str, attr, size);
return 0;
}
@@ -835,8 +829,7 @@ ADLMIDI_EXPORT const char *adl_metaMusicTitle(struct ADL_MIDIPlayer *device)
if(!device)
return "";
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return "";
+ assert(play);
return play->m_sequencer.getMusicTitle().c_str();
#else
ADL_UNUSED(device);
@@ -851,8 +844,7 @@ ADLMIDI_EXPORT const char *adl_metaMusicCopyright(struct ADL_MIDIPlayer *device)
if(!device)
return "";
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return "";
+ assert(play);
return play->m_sequencer.getMusicCopyright().c_str();
#else
ADL_UNUSED(device);
@@ -866,8 +858,7 @@ ADLMIDI_EXPORT size_t adl_metaTrackTitleCount(struct ADL_MIDIPlayer *device)
if(!device)
return 0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return 0;
+ assert(play);
return play->m_sequencer.getTrackTitles().size();
#else
ADL_UNUSED(device);
@@ -881,6 +872,7 @@ ADLMIDI_EXPORT const char *adl_metaTrackTitle(struct ADL_MIDIPlayer *device, siz
if(!device)
return "";
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
const std::vector<std::string> &titles = play->m_sequencer.getTrackTitles();
if(index >= titles.size())
return "INVALID";
@@ -899,8 +891,7 @@ ADLMIDI_EXPORT size_t adl_metaMarkerCount(struct ADL_MIDIPlayer *device)
if(!device)
return 0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return 0;
+ assert(play);
return play->m_sequencer.getMarkers().size();
#else
ADL_UNUSED(device);
@@ -911,23 +902,32 @@ ADLMIDI_EXPORT size_t adl_metaMarkerCount(struct ADL_MIDIPlayer *device)
ADLMIDI_EXPORT Adl_MarkerEntry adl_metaMarker(struct ADL_MIDIPlayer *device, size_t index)
{
struct Adl_MarkerEntry marker;
+
#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER
- MidiPlayer *play = GET_MIDI_PLAYER(device);
- const std::vector<MidiSequencer::MIDI_MarkerEntry> &markers = play->m_sequencer.getMarkers();
- if(!device || !play || (index >= markers.size()))
+ if(!device)
{
marker.label = "INVALID";
marker.pos_time = 0.0;
marker.pos_ticks = 0;
return marker;
}
- else
+
+ MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
+
+ const std::vector<MidiSequencer::MIDI_MarkerEntry> &markers = play->m_sequencer.getMarkers();
+ if(index >= markers.size())
{
- const MidiSequencer::MIDI_MarkerEntry &mk = markers[index];
- marker.label = mk.label.c_str();
- marker.pos_time = mk.pos_time;
- marker.pos_ticks = (unsigned long)mk.pos_ticks;
+ marker.label = "INVALID";
+ marker.pos_time = 0.0;
+ marker.pos_ticks = 0;
+ return marker;
}
+
+ const MidiSequencer::MIDI_MarkerEntry &mk = markers[index];
+ marker.label = mk.label.c_str();
+ marker.pos_time = mk.pos_time;
+ marker.pos_ticks = (unsigned long)mk.pos_ticks;
#else
ADL_UNUSED(device);
ADL_UNUSED(index);
@@ -944,6 +944,7 @@ ADLMIDI_EXPORT void adl_setRawEventHook(struct ADL_MIDIPlayer *device, ADL_RawEv
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->m_sequencerInterface.onEvent = rawEventHook;
play->m_sequencerInterface.onEvent_userData = userData;
#else
@@ -959,6 +960,7 @@ ADLMIDI_EXPORT void adl_setNoteHook(struct ADL_MIDIPlayer *device, ADL_NoteHook
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->hooks.onNote = noteHook;
play->hooks.onNote_userData = userData;
}
@@ -969,6 +971,7 @@ ADLMIDI_EXPORT void adl_setDebugMessageHook(struct ADL_MIDIPlayer *device, ADL_D
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
+ assert(play);
play->hooks.onDebugMessage = debugMessageHook;
play->hooks.onDebugMessage_userData = userData;
#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER
@@ -1193,6 +1196,7 @@ ADLMIDI_EXPORT int adl_playFormat(ADL_MIDIPlayer *device, int sampleCount,
return 0;
MidiPlayer *player = GET_MIDI_PLAYER(device);
+ assert(player);
MidiPlayer::Setup &setup = player->m_setup;
ssize_t gotten_len = 0;
@@ -1299,6 +1303,7 @@ ADLMIDI_EXPORT int adl_generateFormat(struct ADL_MIDIPlayer *device, int sampleC
return 0;
MidiPlayer *player = GET_MIDI_PLAYER(device);
+ assert(player);
MidiPlayer::Setup &setup = player->m_setup;
ssize_t gotten_len = 0;
@@ -1359,8 +1364,7 @@ ADLMIDI_EXPORT double adl_tickEvents(struct ADL_MIDIPlayer *device, double secon
if(!device)
return -1.0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1.0;
+ assert(play);
return play->Tick(seconds, granulality);
#else
ADL_UNUSED(device);
@@ -1376,8 +1380,7 @@ ADLMIDI_EXPORT int adl_atEnd(struct ADL_MIDIPlayer *device)
if(!device)
return 1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return 1;
+ assert(play);
return (int)play->m_sequencer.positionAtEnd();
#else
ADL_UNUSED(device);
@@ -1391,8 +1394,7 @@ ADLMIDI_EXPORT size_t adl_trackCount(struct ADL_MIDIPlayer *device)
if(!device)
return 0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return 0;
+ assert(play);
return play->m_sequencer.getTrackCount();
#else
ADL_UNUSED(device);
@@ -1406,8 +1408,7 @@ ADLMIDI_EXPORT int adl_setTrackOptions(struct ADL_MIDIPlayer *device, size_t tra
if(!device)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
MidiSequencer &seq = play->m_sequencer;
unsigned enableFlag = trackOptions & 3;
@@ -1448,8 +1449,7 @@ ADLMIDI_EXPORT int adl_setTriggerHandler(struct ADL_MIDIPlayer *device, ADL_Trig
if(!device)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
MidiSequencer &seq = play->m_sequencer;
seq.setTriggerHandler(handler, userData);
return 0;
@@ -1466,8 +1466,7 @@ ADLMIDI_EXPORT void adl_panic(struct ADL_MIDIPlayer *device)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_panic();
}
@@ -1476,8 +1475,7 @@ ADLMIDI_EXPORT void adl_rt_resetState(struct ADL_MIDIPlayer *device)
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_ResetState();
}
@@ -1486,8 +1484,7 @@ ADLMIDI_EXPORT int adl_rt_noteOn(struct ADL_MIDIPlayer *device, ADL_UInt8 channe
if(!device)
return 0;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return 0;
+ assert(play);
return (int)play->realTime_NoteOn(channel, note, velocity);
}
@@ -1496,8 +1493,7 @@ ADLMIDI_EXPORT void adl_rt_noteOff(struct ADL_MIDIPlayer *device, ADL_UInt8 chan
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_NoteOff(channel, note);
}
@@ -1506,8 +1502,7 @@ ADLMIDI_EXPORT void adl_rt_noteAfterTouch(struct ADL_MIDIPlayer *device, ADL_UIn
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_NoteAfterTouch(channel, note, atVal);
}
@@ -1516,8 +1511,7 @@ ADLMIDI_EXPORT void adl_rt_channelAfterTouch(struct ADL_MIDIPlayer *device, ADL_
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_ChannelAfterTouch(channel, atVal);
}
@@ -1526,8 +1520,7 @@ ADLMIDI_EXPORT void adl_rt_controllerChange(struct ADL_MIDIPlayer *device, ADL_U
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_Controller(channel, type, value);
}
@@ -1536,8 +1529,7 @@ ADLMIDI_EXPORT void adl_rt_patchChange(struct ADL_MIDIPlayer *device, ADL_UInt8
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_PatchChange(channel, patch);
}
@@ -1546,8 +1538,7 @@ ADLMIDI_EXPORT void adl_rt_pitchBend(struct ADL_MIDIPlayer *device, ADL_UInt8 ch
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_PitchBend(channel, pitch);
}
@@ -1556,8 +1547,7 @@ ADLMIDI_EXPORT void adl_rt_pitchBendML(struct ADL_MIDIPlayer *device, ADL_UInt8
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_PitchBend(channel, msb, lsb);
}
@@ -1566,8 +1556,7 @@ ADLMIDI_EXPORT void adl_rt_bankChangeLSB(struct ADL_MIDIPlayer *device, ADL_UInt
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_BankChangeLSB(channel, lsb);
}
@@ -1576,8 +1565,7 @@ ADLMIDI_EXPORT void adl_rt_bankChangeMSB(struct ADL_MIDIPlayer *device, ADL_UInt
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_BankChangeMSB(channel, msb);
}
@@ -1586,8 +1574,7 @@ ADLMIDI_EXPORT void adl_rt_bankChange(struct ADL_MIDIPlayer *device, ADL_UInt8 c
if(!device)
return;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return;
+ assert(play);
play->realTime_BankChange(channel, (uint16_t)bank);
}
@@ -1596,7 +1583,6 @@ ADLMIDI_EXPORT int adl_rt_systemExclusive(struct ADL_MIDIPlayer *device, const A
if(!device)
return -1;
MidiPlayer *play = GET_MIDI_PLAYER(device);
- if(!play)
- return -1;
+ assert(play);
return play->realTime_SysEx(msg, size);
}