On December 21, 2015 08:25:18 PM Tim E. Real wrote:
> On December 21, 2015 12:23:51 PM Andrew Deryabin wrote:
> > Hi guys,
> > 
> > While rewriting midi support code for lv2 I found some interesting moment:
> > 
> > There is a message ME_NOTEOFF which is a standard midi note off message
> > width code 0x80. It's sent only when playing with midi keyboard as part
> > of jack/alsa midi events.
> > But when playing midi parts this message is not sent at all, even when
> > transport is stopped.
> > While digging I found _stuckNotes array which is used for sending note
> > offs automatically (fix me). But due to small bug in code for adding
> > stuck events to this array, instead of adding ME_NOTEOFF, ME_NOTEON was
> > added. Some instruments handled this without any problem, but others
> > (like Calf monosynth) continued to play last note after transport was
> > stopped.
> > 
> > Hope the fix ( bd84479) will work (like in my case).
> > Please check - if it works for you too?
> 
> Hm, this patch does not look correct.
> It casts as boolean but the variable is an integer.
> 
> Are you sure something is wrong? Can you post a file?
> I tested here with Calf Monosynth and all seemed OK.
> I programmed several sequential and parallel notes,
>  at first leaving each note off velocity = 0, then I set
>  each off velocity to 35. Playing each note turned off OK.
> 
> Also I used -M and -m flags and watched the output with
>  regular midi port output. Looked OK.
> 
> (Note: I have /not/ pulled your LV2 crash fix or this fix yet.
> Could this problem be related to those fixes?)
> 
> Usually this problem concerns percussion and synths
>  like say, SimpleSynth, where there are specific buttons
>  to ignore the note-offs or not, depending on whether
>  your samples are percussive or not.
> 
> AFAIK everything's (mostly) cool so far with the midi engine.
> I know there are some issues, some obscure, for example
>  with muting notes on stop.
> 
> My branch midi_fixes rewrites some note processing.
> Specifically, for the 'stuck notes' I moved the lists into
>  class Track, moved some stuff around and fixed muting
>  notes when stopped etc. All for the better.
> 
> It's fairly extensive but, as usual it is sandwiched in with
> some other fixes that are in progress but need more thought.
> Hard to avoid sometimes. (Full 14-bit controller support including
>  /input/ events, using a custom hardware midi event codec that
>  bypasses ALSA codec due to incomplete (N)RPN 14-bit support.)
> 
> The branch /is/ up to date, as of last week.
> Hope to merge near future.

Should have mentioned the branch actually works.
The fixes I mentioned are working :-)
The experimental stuff is not 'activated' yet.

Try it if you still have no luck, especially with stuck notes. 
Maybe it will solve it.

T.

> 
> I know the current midi engine seems a bit of a dog's breakfast,
>  mostly because of simultaneous ALSA and Jack midi support.
> I was reviewing last week and I'm itching to rewrite again.
> With configurable ALSA and so on.
> 
> Tim.


------------------------------------------------------------------------------
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to