falkTX / los

Libre Octave Studio
GNU General Public License v2.0
20 stars 5 forks source link

Midi volume goes to zero and stays there when you hit stop, when slave to Jack transport #3

Closed ViktorNova closed 9 years ago

ViktorNova commented 10 years ago

The original title of this bug was "Midi output randomly just stops - and comes back if you wiggle the MIDI volume knob"

This is really bizarre... I don't have any idea why this is happening, but MIDI output seems to work fine when I first start LOS and open a project and press play. But as soon as I hit space to stop playback, no MIDI comes out anymore. Weird! I am looking at the output through a MIDI monitor and really nothing comes out. These are virtual Jack MIDI ports made from within LOS.

The weirder part is, is that at any time during playback if I wiggle the MIDI volume knob for the channel, playback suddenly starts again.

Very bizarre! Another weird thing is that it doesn't seem to do this when running in standalone mode, only when slaved to Jack transport. I will test tonight to report back for sure whether or not this is the case

I will do any kind of crazy testing you think might be helpful in figuring this one out! I absolutely love LOS even in it's current state and would use it as my main sequencer if this wasn't happening

ViktorNova commented 10 years ago

I recompiled using

cmake -DCMAKE_BUILD_TYPE=Release

instead of debug, and this has never happened since..very strange.

Using LOS is a great pleasure, I am very happy with it, and am using it as my only sequencer now (synced w/Jack to Hydrogen) and haven't had a single problem after resolving the above issue, it even works great with NSM. Can't wait to see the future incarnation of it!

Are you taking feature requests?

falkTX commented 10 years ago

well, I guess so, it depends how hard it would be to implement.

ViktorNova commented 10 years ago

Ok, this just happened again, although have some more useful information this time. I have had a lot of projects where this did not happen, but in those cases LOS was the Jack transport master- one thing I can say for sure is that this never happens when LOS is the master of Jack transport, only when something else is. I'm using it with Hydrogen, and disabling Jack Master in Hydrogen instantly fixes the problem, though I'm pretty sure this is a LOS bug

Here's what I've deduced: When you press stop, these messages get sent on each midi channel (according to GMidimonitor), in this order:

    CC 120, Value 0  (All sounds off)
    CC 123, Value 0  (All notes off)
    CC 121, Value 0  (Reset Controllers)

Apparently something else happens when you hit stop, because when playback is started again, LOS's midi channel volume has been reset to zero, although this is not sent out as a midi message. When the knob is jiggled for "Main Volume" on the track's midi underneath the velocity, the sound comes back on. Adding a constant envelope to keep the volume up does not really help.

Also, when doing this with a midi monitor, you can tell that the value of "Main Volume" according to LOS is not what it is sending out. For example, if there is no sound playing, and the main volume for the track is at 116, and you jiggle it up to 126 - sound starts playing, but very quietly, and the midi monitor says there was a message to change main midi volume to "10" rather than 126 as reported in LOS.

Very weird problem.. does this make sense? I'm re-opening this issue since it it reproducible every time now that I figured out the conditions

ViktorNova commented 9 years ago

I have nailed this down awhile ago to being an issue with the way my synth (M-Audio Venom) handles the All Notes Off message and have resolved it by filtering that message out externally since I couldn't figure out how to do it in LOS - my apologies for leaving this open so long