View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001842 | OpenMPT | Plugins / VST | public | 2024-11-28 06:55 | 2024-12-03 21:29 |
Reporter | AceOfSpadesProduc100 | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | x64 | OS | Windows | OS Version | 11 |
Product Version | OpenMPT 1.31.12.00 / libopenmpt 0.7.11 (upgrade first) | ||||
Target Version | OpenMPT 1.31.13.00 / libopenmpt 0.7.12 (current stable) | Fixed in Version | OpenMPT 1.31.13.00 / libopenmpt 0.7.12 (current stable) | ||
Summary | 0001842: GS instruments can be imported as .iti instruments, but won't work on the MIDI out plugin to MSGS | ||||
Description | When dragging the instrument from melodic bank xx.00 to the instrument editor, it assigns the right MIDI program and bank, but setting the plugin to MIDI out and the engine to Microsoft GS Wavetable Synth results in only GM instruments of the same program number being played. Has this already been reported before? I don't know about the severity or priority, as it simply only makes it harder to use it as a MIDI composer with a better interface and the user wants to go beyond GM instruments. | ||||
Steps To Reproduce | Drag a GS instrument from GM.DLS > Melodic Bank xx.00 to the instrument editor | ||||
Additional Information | Not even the MIDI export has an option to use more than GM instruments. | ||||
Tags | No tags attached. | ||||
Has the bug occurred in previous versions? | Never tested it before | ||||
Tested code revision (in case you know it) | |||||
Did you initialize the GS mode? Without sending a GS Reset SysEx message, a GS-compliant synthesizer will only support the original General MIDI subset. OpenMPT won't do this for you because its MIDI support is meant to support any MIDI devices, not just GM/GS/XG. The only bug I can notice is that the bank is off by one (so it should be e.g. 129 instead of 128 for Melodic Bank 01.00), but that can be worked around manually until the next OpenMPT update is out.
MIDI export will take the bank information from the instrument. The shown instrument names are just for illustrative purposes. |
|
I tried sending the right SysEx messages, via a fixed macro, but the instrument is still stuck on GM. |
|
Works as expected here: |
|
The example also works well in the exported MIDI, but a MIDI version of another song that I've been trying to do doesn't play the GS-exclusive instruments, specifically "Sine Wave" and "Square". Dragging "Square" from GM.DLS>Melodic Bank 01.00>Square auto-sets the MIDI program to 81 and the bank to 128, and the "Sine Wave" from bank 08.00 sets the program to 81 and the bank to 1024. All the GM instruments work perfectly fine, just the instruments from the GS-exclusive banks that are silent. |
|
As mentioned above: There is currently an off-by-one error when populating the MIDI bank after importing a soundfont patch, so you need to turn bank 128 into 129, 1024 into 1025, etc. This will be fixed in the next OpenMPT version. |
|
This issue is now resolved (or at least on the next version), but is there already something about this information in the docs? At first, that macro didn't work until I saw that the channel needed to be set to the MIDI out plugin. Could be either the MIDI help or a Q&A, something about setting a fixed macro to a SysEx string with examples for GS and XG, then setting the channel where the macro is to be used to "MIDI input output". |
|
The more nitty-gritty details are only partially documented, some of it is implied (such as the prerequisite for sending a MIDI macro is having that plugin assigned to a channel, or having played a note of that plugin on that channel). I have been working on some things that should hopefully make this a bit easier in the future, so you wouldn't have to use the MIDI macro mechanism for this anymore: Directly specifying one or several MIDI message to send when the MIDI connection is opened, directly from the MIDI I/O plugin itself, so no macros would have to be configured. It will probably be ready in the next few days (or worst case weeks if it doesn't work as expected). |
|
If you want to try it out, as of r22371 (OpenMPT 1.32.00.34) the MIDI I/O plugin has been upgraded: There is now the possibility to send a MIDI dump every time the song is opened (or even on every playback, which would be necessary for MSGS). Additionally, the MIDI macro mechanism has been extended for this plugin: You can now configure individual MIDI macros just for this plugin, and they can be triggered by automating plugin parameters 100-999 (via PC events). Updated builds should be available from https://builds.openmpt.org/builds/ within a few hours. Please don't reopen this issue though if you have any questions or bug reports, please open a new one or ask on the forum. :) |
|
If you gave the new plugin functionality a try already, please note that the MIDI dumps stored in the moduel file will not work in OpenMPT 1.32.00.35. I have explained the details here and how to migrate from 1.32.00.34 to 1.32.00.35: https://forum.openmpt.org/index.php?msg=50696 |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2024-11-28 06:55 | AceOfSpadesProduc100 | New Issue | |
2024-11-28 14:37 | Saga Musix | Status | new => feedback |
2024-11-28 14:37 | Saga Musix | Note Added: 0006220 | |
2024-11-28 14:42 | Saga Musix | Note Edited: 0006220 | |
2024-11-29 08:35 | AceOfSpadesProduc100 | Note Added: 0006226 | |
2024-11-29 08:35 | AceOfSpadesProduc100 | Status | feedback => new |
2024-11-29 13:28 | Saga Musix | Note Added: 0006228 | |
2024-11-29 13:28 | Saga Musix | File Added: gs enable.zip | |
2024-11-29 22:38 | AceOfSpadesProduc100 | Note Added: 0006230 | |
2024-11-29 22:39 | Saga Musix | Note Added: 0006231 | |
2024-11-30 02:40 | AceOfSpadesProduc100 | Note Added: 0006235 | |
2024-11-30 11:00 | Saga Musix | Note Added: 0006236 | |
2024-12-01 00:43 | Saga Musix | Status | new => resolved |
2024-12-01 00:43 | Saga Musix | Resolution | open => fixed |
2024-12-01 00:43 | Saga Musix | Fixed in Version | => OpenMPT 1.31.13.00 / libopenmpt 0.7.12 (current stable) |
2024-12-01 00:43 | Saga Musix | Target Version | => OpenMPT 1.31.13.00 / libopenmpt 0.7.12 (current stable) |
2024-12-01 00:43 | Saga Musix | Note Added: 0006240 | |
2024-12-03 21:29 | Saga Musix | Note Added: 0006246 |