int OPLMIDIDevice::SetTimeDiv(int timediv) { Division = timediv; CalcTickRate(); DEBUGOUT("Division changed to %.0f, %.2f samples/tick\n", Division, SamplesPerTick, 0); return 0; }
int OPLMIDIDevice::SetTempo(int tempo) { Tempo = tempo; CalcTickRate(); DEBUGOUT("Tempo changed to %.0f, %.2f samples/tick\n", Tempo, SamplesPerTick, 0); return 0; }
int OPLMIDIDevice::Open(void (*callback)(unsigned int, void *, DWORD, DWORD), void *userdata) { if (io == NULL || io->OPLinit(TwoChips + 1)) { return 1; } Stream = GSnd->CreateStream(FillStream, int(OPL_SAMPLE_RATE / 14) * 4, SoundStream::Mono | SoundStream::Float, int(OPL_SAMPLE_RATE), this); if (Stream == NULL) { return 2; } Callback = callback; CallbackData = userdata; Tempo = 500000; Division = 100; CalcTickRate(); OPLstopMusic(); OPLplayMusic(100); DEBUGOUT("========= New song started ==========\n", 0, 0, 0); return 0; }
int SoftSynthMIDIDevice::OpenStream(int chunks, int flags, void (*callback)(unsigned int, void *, DWORD, DWORD), void *userdata) { Stream = GSnd->CreateStream(FillStream, (SampleRate / chunks) * 4, SoundStream::Float | flags, SampleRate, this); if (Stream == NULL) { return 2; } Callback = callback; CallbackData = userdata; Tempo = 500000; Division = 100; CalcTickRate(); return 0; }
int SoftSynthMIDIDevice::OpenStream(int chunks, int flags, MidiCallback callback, void *userdata) { int chunksize = (SampleRate / chunks) * 4; if (!(flags & SoundStream::Mono)) { chunksize *= 2; } Stream = GSnd->CreateStream(FillStream, chunksize, SoundStream::Float | flags, SampleRate, this); if (Stream == NULL) { return 2; } Callback = callback; CallbackData = userdata; Tempo = 500000; Division = 100; CalcTickRate(); return 0; }
int SoftSynthMIDIDevice::SetTimeDiv(int timediv) { Division = timediv; CalcTickRate(); return 0; }
int SoftSynthMIDIDevice::SetTempo(int tempo) { Tempo = tempo; CalcTickRate(); return 0; }