aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/adlmidi.cpp7
-rw-r--r--src/adlmidi_midiplay.cpp7
-rw-r--r--src/adlmidi_private.hpp2
3 files changed, 8 insertions, 8 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp
index b9e67cb..0bfac0f 100644
--- a/src/adlmidi.cpp
+++ b/src/adlmidi.cpp
@@ -44,19 +44,14 @@ ADLMIDI_EXPORT struct ADL_MIDIPlayer *adl_init(long sample_rate)
return NULL;
}
- MIDIplay *player = new MIDIplay;
+ MIDIplay *player = new MIDIplay(static_cast<unsigned long>(sample_rate));
if(!player)
{
free(midi_device);
ADLMIDI_ErrorString = "Can't initialize ADLMIDI: out of memory!";
return NULL;
}
-
midi_device->adl_midiPlayer = player;
- player->m_setup.PCM_RATE = static_cast<unsigned long>(sample_rate);
- player->m_setup.mindelay = 1.0 / (double)player->m_setup.PCM_RATE;
- player->m_setup.maxdelay = 512.0 / (double)player->m_setup.PCM_RATE;
- player->ChooseDevice("none");
adlRefreshNumCards(midi_device);
return midi_device;
}
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index 2470903..ffaebfc 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -689,7 +689,7 @@ bool MIDIplay::buildTrackData()
return true;
}
-MIDIplay::MIDIplay():
+MIDIplay::MIDIplay(unsigned long sampleRate):
cmf_percussion_mode(false),
fullSongTimeLength(0.0),
postSongWaitDelay(1.0),
@@ -703,6 +703,10 @@ MIDIplay::MIDIplay():
{
devices.clear();
+ m_setup.PCM_RATE = sampleRate;
+ m_setup.mindelay = 1.0 / (double)m_setup.PCM_RATE;
+ m_setup.maxdelay = 512.0 / (double)m_setup.PCM_RATE;
+
m_setup.AdlBank = 0;
m_setup.NumFourOps = 7;
m_setup.NumCards = 2;
@@ -718,6 +722,7 @@ MIDIplay::MIDIplay():
m_setup.tick_skip_samples_delay = 0;
applySetup();
+ ChooseDevice("none");
}
void MIDIplay::applySetup()
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp
index 709edc5..8b3c3a2 100644
--- a/src/adlmidi_private.hpp
+++ b/src/adlmidi_private.hpp
@@ -304,7 +304,7 @@ class MIDIplay
{
friend void adl_reset(struct ADL_MIDIPlayer*);
public:
- MIDIplay();
+ MIDIplay(unsigned long sampleRate = 22050);
~MIDIplay()
{}