-
-
Notifications
You must be signed in to change notification settings - Fork 968
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Midi notes are never released and sustained forever #7637
Comments
Which music driver does this actually compile the game with? There is no "aplaymidi" driver in the official version, and if this uses the extmidi driver to call an external program, then the playback issues are not in OpenTTD code. |
If you read the gentoo package itself they do this:
https://gitweb.gentoo.org/repo/gentoo.git/tree/games-simulation/openttd/openttd-1.9.1.ebuild |
Okay that implies it builds with the extmidi driver, and extmidi simply calls an external program to do all the playback. Have you tried running aplaymidi from the commandline to play the MIDI files? It will probably fail in the same way. |
Yes, and then do control+c to kill the command... The sounds fails in the similar way. So not sure to where belongs this issue. Thanks anyways |
I'm closing this as the issue is not in OpenTTD code. |
A possible workaround for the missing note-offs on skip track could be if aplaymidi can be instructed to send various reset messages on startup (ideally a GM init message |
The extmidi driver in OpenTTD is designed for softsynths that naturally end all sound and implicitly reset on exit/startup, not piping to external synths/hardware synths, it would require a major reworking of it to make that work. That effort would probably be better to put into writing a dedicated ALSA-MIDI driver for OpenTTD to natively output to a hardware port. |
Version of OpenTTD
openttd-1.9.1
Expected result
When I switch between songs I expect to not hear any notes from the previous song.
But they are sustained forever.
Actual result
Notes are sustained forever even when you exit the game.
Steps to reproduce
Using Gentoo Linux
USE=aplaymidi emerge openttd
ALSA_OUTPUT_PORTS=128:0 openttd
Proposed fix
You can send Midi off notes to ALSA like CC 123 or something like that and release the sustain pedal as well between songs and before exit the game.
By the way, thanks for your awesome work 👍
The text was updated successfully, but these errors were encountered: