fabiangreffrath / crispy-doom

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.
https://fabiangreffrath.github.io/crispy-homepage
GNU General Public License v2.0
802 stars 132 forks source link

Can't use actual MIDI output when using Native MIDI under Linux #1184

Open irixaligned opened 8 months ago

irixaligned commented 8 months ago

Background

Version of Crispy Doom: 6.0.0

Operating System and version: Void Linux (rolling distro)

Game: Doom and assumedly any other game that uses MIDI

Any loaded WADs and mods (please include full command line): crispy-doom -iwad /usr/share/games/doom/doom2.wad

Bug description

Observed behavior: When using the Native MIDI output under Linux (whether it be QSynth/Fluidsynth or my actual SC-55) and leaving the Timidity CFG option blank, it searches for a Timidity configuration file regardless and fails to find it, without ever using MIDI devices provided by the operating system

Expected behavior: Like on Windows, when using Native MIDI and leaving the Timidity CFG file option blank, MIDI should be output to the MIDI device provided by the operating system/selected by the user

rfomin commented 8 months ago

SDL2_Mixer does not support Native MIDI in Linux, so this is expected (perhaps we should rename "Native MIDI" for Linux).

For Windows we have developed our own MIDI music module, so this is the most advanced platform for MIDI support.

kimujifour commented 1 week ago

Old thread but since it is still open and a solution exists, here it is:

Open a terminal and use this command:

aconnect -o

You should get something like this:

client 14: 'Midi Through' [type=kernel] 0 'Midi Through Port-0'

Note the client and port numbers corresponding to the MIDI device you want Crispy Doom to use. Which are 14 and 0 in this example.

Launch crispy-doom-setup and choose Native MIDI output as your source for music and leave the comment box blank. Save and exit.

Open your crispy-doom.cfg file and look for this line: snd_musiccmd

Edit it with the values you found with the aconnect -o command snd_musiccmd "aplaymidi -p 14:0"