djtuBIG-MaliceX / opl3-synth-driver

Forked from Alexey Khohkolov's (khokh2001) OPL3 synth. This intends to improve onto the base driver to include extended MIDI support and other improvements to the playback component.
5 stars 0 forks source link

Refactor audio handler to allow switchable engines (ie: XAudio2, DirectSound) #11

Open djtuBIG-MaliceX opened 10 years ago

djtuBIG-MaliceX commented 10 years ago

Original report by James Alan Nguyen (Bitbucket: djtubig-malicex, GitHub: djtubig-malicex).


Currently using waveOut (inherited from Alexey's source). Need to use implementation as demonstrated by kode54's BASSMIDI driver.

djtuBIG-MaliceX commented 10 years ago

Original comment by James Alan Nguyen (Bitbucket: djtubig-malicex, GitHub: djtubig-malicex).


For reference: https://github.com/kode54/BASSMIDI-Driver/blob/master/bassmididrv_source/bassmididrv.cpp

djtuBIG-MaliceX commented 10 years ago

Original comment by James Alan Nguyen (Bitbucket: djtubig-malicex, GitHub: djtubig-malicex).


Now that OPL hardware passthrough is implemented, the waveOut handler does not need to run in this playback mode. Currently, this will run but do nothing as it does not make sense to play both software and hardware at the same time due to latency differences.

djtuBIG-MaliceX commented 10 years ago

Original comment by James Alan Nguyen (Bitbucket: djtubig-malicex, GitHub: djtubig-malicex).


Class separation has commenced. Annoying part 1: self-referred thread using global object reference symbol instead of passed as argument. Next: MidiSynth singleton needs to be refactored to allow for multiple instances.

djtuBIG-MaliceX commented 7 years ago

Original comment by James Alan Nguyen (Bitbucket: djtubig-malicex, GitHub: djtubig-malicex).


Lowering priroity. This is not necesary at this stage - last attempts broke the handler.