On December 22, 2015 09:15:50 PM Andrew Deryabin wrote: > Hi Tim, > > I tested midiengine_fixes - it solves stuck notes problem for my case!
Oops, yes that's what the branch is called, sorry. > Just to be sure, that everything is clear about my problem: > > It only occurs when transport 'stop' button is pressed - some notes > continue to play (without my patch). > > I'll try to investigate what is happening again - may be my lv2 fixes > caused the problem. > Will start at the beginning. > > Thanks. Wow, awesome news. Yeah that's some of things I was fixing there, stuck notes and so on. But still, maybe not the cause of this issue. Maybe back up a few steps and try with recent MusE git of say, last week, or a recent release. [Side note:] D'oh! I just noticed something last night reviewing my branch. I really wanted to allow midi notes to pass through a midi track /without/ requiring the track to be rec armed. So I did that, and I activate the meters upon midi input even with rec arm off and mute on. I was also trying to do that for Wave Tracks so users can hear incoming audio without rec arming the track. But now I realize this was probably a mistake. Having no other way to actually mute the incoming events or audio, the best (only?) way is still with the rec arm button. I think I was hoping to find a way to mute the input (not sure, must review my plans there). So I may need to backtrack a wee bit there... Thanks. Tim. > > 22.12.2015 05:48, Tim E. Real пишет: > > 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
