From looking at the source code I discovered setting MusicDevice = 7 in duke3d.cfg selects ALSA for MIDI output and I've noticed the following problems:
Improper music tempo when changing tracks.
Lots of sequencer buffer errors being logged to terminal and then the source port completely locks up, in particular when cycling through MIDI files too rapidly.
Note quantization problems; i.e. "drunken drummer syndrome".
Inability to specifically select a device. (The source code appears hardcoded to look for "128:0" and nothing else)
I haven't observed these problems in other things like DOSBox or PCem (of which the latter only understands how to use ALSA Raw MIDI and not ALSA Sequencer MIDI) though the "drunken drummer syndrome" problem generally starts happening outside of JFDuke3D if I run the external software synth with a high enough sound output buffer.
I've been using the following as my external MIDI synth: https://github.com/jcmoyer/Nuked-SC55
From looking at the source code I discovered setting
MusicDevice = 7induke3d.cfgselects ALSA for MIDI output and I've noticed the following problems:Improper music tempo when changing tracks.
Lots of sequencer buffer errors being logged to terminal and then the source port completely locks up, in particular when cycling through MIDI files too rapidly.
Note quantization problems; i.e. "drunken drummer syndrome".
Inability to specifically select a device. (The source code appears hardcoded to look for "128:0" and nothing else)
I haven't observed these problems in other things like DOSBox or PCem (of which the latter only understands how to use ALSA Raw MIDI and not ALSA Sequencer MIDI) though the "drunken drummer syndrome" problem generally starts happening outside of JFDuke3D if I run the external software synth with a high enough sound output buffer.
I've been using the following as my external MIDI synth: https://github.com/jcmoyer/Nuked-SC55