View Issue Details

IDProjectCategoryView StatusLast Update
0001848OpenMPTAudio I/Opublic2024-12-21 20:57
Reportercs127 Assigned ToSaga Musix  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Platformx86 / x64OSWindows / WineOS VersionAny
Product VersionOpenMPT 1.32.00.* (current testing) 
Target VersionOpenMPT 1.31.14.00 / libopenmpt 0.7.13 (current stable)Fixed in VersionOpenMPT 1.31.14.00 / libopenmpt 0.7.13 (current stable) 
Summary0001848: Instrument with set MIDI channel breaks NNA on all instruments (using too many virtual channels?)
Description

I don't know how to describe this issue exactly, so I've attached a module that demonstrates it.

NNAs stop working during the second pattern, until the song is stopped and replayed.
You can solo individual channels to hear it better.

If you disable the MIDI channel on instrument 5, the issue doesn't occur.

Steps To Reproduce
  • Play the attached module.
  • Wait until the second pattern.
  • Notes will no longer have NNA (i.e. they play as if NNA is set to cut).
TagsNo tags attached.
Attached Files
nothing_left.it.gz (1,017,174 bytes)
Has the bug occurred in previous versions?Yes
Tested code revision (in case you know it)22584

Relationships

related to 0001587 resolvedSaga Musix Sample / OPL retrigger changes behaviour when instrument is assigned to MIDI channel 

Activities

Saga Musix

Saga Musix

2024-12-20 19:00

administrator   ~0006267

Last edited: 2024-12-20 19:10

Yeah, once a MIDI channel is assigned NNA handling assumes that a plugin is assigned, and since the NNA of this instrument is set to "Continue", we have to assume that the NNA channels are essentially playing indefinitely (because you might want to cut those notes on NNA channels at a specific point in time using S7x). As no plugin is assigned in this particular case, the MIDI-specific code should probably not be running. And when a plugin is assigned, we probably need a smarter voice stealing algorithm to avoid running into the same situation.

Saga Musix

Saga Musix

2024-12-21 19:54

administrator   ~0006268

Last edited: 2024-12-21 19:57

Fixed in r22595. The problem can still occur if the instrument is associated with a VST plugin (even if it's not an instrument plugin) or the MIDI I/O plugin if a valid MIDI channel is assigned and NNA=continue is chosen. I will reduce the impact of that a bit by allowing such NNA-ed channels to eventually be taken over based on how long they have been playing but that change will probably not be backported to 1.31 like r22595 was.

Saga Musix

Saga Musix

2024-12-21 20:49

administrator   ~0006270

Last edited: 2024-12-21 20:57

More fixes in r22602 for channels associated with MIDI-capable plugin types and NNA=continue.

Issue History

Date Modified Username Field Change
2024-12-20 09:03 cs127 New Issue
2024-12-20 09:03 cs127 File Added: nothing_left.it.gz
2024-12-20 18:56 Saga Musix Relationship added related to 0001587
2024-12-20 19:00 Saga Musix Note Added: 0006267
2024-12-20 19:08 Saga Musix Assigned To => Saga Musix
2024-12-20 19:08 Saga Musix Status new => assigned
2024-12-20 19:08 Saga Musix Target Version => OpenMPT 1.32 / libopenmpt 0.8 (goals)
2024-12-20 19:10 Saga Musix Note Edited: 0006267
2024-12-21 19:54 Saga Musix Note Added: 0006268
2024-12-21 19:54 Saga Musix Status assigned => resolved
2024-12-21 19:54 Saga Musix Resolution open => fixed
2024-12-21 19:54 Saga Musix Fixed in Version => OpenMPT 1.31.14.00 / libopenmpt 0.7.13 (current stable)
2024-12-21 19:54 Saga Musix Target Version OpenMPT 1.32 / libopenmpt 0.8 (goals) => OpenMPT 1.31.14.00 / libopenmpt 0.7.13 (current stable)
2024-12-21 19:57 Saga Musix Note Edited: 0006268
2024-12-21 20:49 Saga Musix Note Added: 0006270
2024-12-21 20:57 Saga Musix Note Edited: 0006270