aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
Diffstat (limited to 'backends')
-rw-r--r--backends/midi/adlib.cpp11
-rw-r--r--backends/midi/ym2612.cpp4
2 files changed, 5 insertions, 10 deletions
diff --git a/backends/midi/adlib.cpp b/backends/midi/adlib.cpp
index 43baee673c..f702ee6532 100644
--- a/backends/midi/adlib.cpp
+++ b/backends/midi/adlib.cpp
@@ -626,7 +626,6 @@ private:
AdlibVoice *allocate_voice(byte pri);
- void reset_tick();
void mc_off(AdlibVoice * voice);
static void link_mc(AdlibPart *part, AdlibVoice *voice);
@@ -863,14 +862,14 @@ int MidiDriver_ADLIB::open() {
_adlib_reg_cache = (byte *)calloc(256, 1);
- _opl = makeAdlibOPL(_mixer->getOutputRate());
+ _opl = makeAdlibOPL(getRate());
adlib_write(1, 0x20);
adlib_write(8, 0x40);
adlib_write(0xBD, 0x00);
create_lookup_table();
- _samples_per_tick = (_mixer->getOutputRate() << FIXP_SHIFT) / BASE_FREQ;
+ _samples_per_tick = (getRate() << FIXP_SHIFT) / BASE_FREQ;
_mixer->setupPremix(this);
@@ -1027,17 +1026,13 @@ void MidiDriver_ADLIB::generate_samples(int16 *data, int len) {
if (_timer_proc)
(*_timer_proc)(_timer_param);
on_timer();
- reset_tick();
+ _next_tick += _samples_per_tick;
}
data += step;
len -= step;
} while (len);
}
-void MidiDriver_ADLIB::reset_tick() {
- _next_tick += _samples_per_tick;
-}
-
void MidiDriver_ADLIB::on_timer() {
AdlibVoice *voice;
int i;
diff --git a/backends/midi/ym2612.cpp b/backends/midi/ym2612.cpp
index f701a1541e..50f786b011 100644
--- a/backends/midi/ym2612.cpp
+++ b/backends/midi/ym2612.cpp
@@ -742,7 +742,7 @@ _mixer(mixer) {
_timer_proc = 0;
_timer_param = 0;
_next_tick = 0;
- _samples_per_tick = (_mixer->getOutputRate() << FIXP_SHIFT) / BASE_FREQ;
+ _samples_per_tick = (getRate() << FIXP_SHIFT) / BASE_FREQ;
_next_voice = 0;
createLookupTables();
@@ -750,7 +750,7 @@ _mixer(mixer) {
int i;
for (i = 0; i < ARRAYSIZE(_channel); i++)
_channel[i] = new MidiChannel_YM2612;
- rate(_mixer->getOutputRate());
+ rate(getRate());
}
MidiDriver_YM2612::~MidiDriver_YM2612() {