btsee Posted July 19, 2011 Report Share Posted July 19, 2011 hi, first post here. since about 4 years i'm a happy owner of an mbseq. have spent so many wonderfull hours with this machine - thanks to torsten and the whole community. now i've installed an AOUT, the J5 gate outs and some DOUT drum triggers to control my analogue gear. this work fine but the gate outs handle overlapping notes in a strange way. the gate always closes when the first of two overlapping notes ends, it doesn't wait untill the second note ends. it is not possible to play legato notes. i've found no information about this problem in the forum and i'm wondering if somebody else noticed this. Quote Link to comment Share on other sites More sharing options...
TK. Posted July 19, 2011 Report Share Posted July 19, 2011 Hi, it's always a surprise to read from people who are using a MIDIbox for so long time without the need for troubleshooting! :) I remember that somebody reported this issue a while ago, my statement was that it requires a notestack for proper handling, and that there isn't enough free RAM for such a feature (it has been solved in MBSEQ V4) But I just got an idea how to realize a minimalistic 2-level notestack which should be sufficient for this purpose. Could you please try following version: http://www.ucapps.de/mios/midibox_seq_v3_4g.zip I'm currently not able to test this (I would have to open my MIDIbox to exchange MBHP_CORE_STM32 by a MBHP_CORE). For the case that it doesn't work and you've assembly knowledge: this is the change in src/midi_evnt.inc ;; -------------------------------------------------------------------------- ;; FUNCTION: MIDI_EVNT_AOUT_GatePinSet ;; DESCRIPTION: Help Function which sets a Gate Pin independent from the interface ;; IN: ;; o pin number in WREG ;; o value in MIOS_PARAMETER1 ;; -------------------------------------------------------------------------- MIDI_EVNT_AOUT_GatePinSet SET_BSR GATES movf MIOS_PARAMETER1, F bz MIDI_EVNT_AOUT_PinSet0 MIDI_EVNT_AOUT_PinSet1 call MIOS_HLP_GetBitORMask #if 1 ;; extension for legato handling ;; if gate was already set, save this state in GATES_LEGATO movwf PRODL andwf GATES, W, BANKED iorwf GATES_LEGATO, F, BANKED movf PRODL, W #endif iorwf GATES, F, BANKED return MIDI_EVNT_AOUT_PinSet0 #if 1 ;; extension for legato handling ;; if GATE_LEGATO flag is set, clear this flag and exit ;; otherwise clear the flag in GATES (so that the pin is set to 0) movwf PRODL call MIOS_HLP_GetBitORMask andwf GATES_LEGATO, W, BANKED bnz MIDI_EVNT_AOUT_PinSet0_Legato MIDI_EVNT_AOUT_PinSet0_NoLegato movf PRODL, W call MIOS_HLP_GetBitANDMask andwf GATES, F, BANKED return MIDI_EVNT_AOUT_PinSet0_Legato movf PRODL, W call MIOS_HLP_GetBitANDMask andwf GATES_LEGATO, F, BANKED return #else call MIOS_HLP_GetBitANDMask andwf GATES, F, BANKED return #endif [/code] Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 20, 2011 Author Report Share Posted July 20, 2011 thanks for the fast reply, tk. i will try this tomorrow, have to go to bed now. :sleep: and yes, all the time i had no mayor problems with my seq - and therefore no need for troubleshooting. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 20, 2011 Author Report Share Posted July 20, 2011 i've tried it, but there is no improvement with the new version. still the same behaviour. my assembler knowledge is very limited, but i will try to analyze this code snippet. Quote Link to comment Share on other sites More sharing options...
TK. Posted July 20, 2011 Report Share Posted July 20, 2011 I reviewed the code and think (resp. hope) that I found the error: when checking the legato flag via AND the MIOS_HLP_GetBitORMask function has to be used to isolate the flag (the MIOS_HLP_GetBitANDMask function would isolate all other flags...) Please try http://www.ucapps.de/mios/midibox_seq_v3_4g2.zip Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 20, 2011 Author Report Share Posted July 20, 2011 still the same. im confused. when pressing 'exit' the displayed version is still 'V3.4g'. failed hex upload? Quote Link to comment Share on other sites More sharing options...
TK. Posted July 20, 2011 Report Share Posted July 20, 2011 No, I haven't increased the version number in the LCD message... strange, the code looks good now, even after the third review. Seems that I have to open my MBSEQ and exchange the core module to test it by myself :-/ Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 21, 2011 Author Report Share Posted July 21, 2011 don't downgrade! it works, but not from the start. the legato is correct after the second loop of the track, but then the last note keeps playing when i'm stopping the sequencer. gate doesn't close. Quote Link to comment Share on other sites More sharing options...
TK. Posted July 21, 2011 Report Share Posted July 21, 2011 How about this variant? -> http://www.ucapps.de/mios/midibox_seq_v3_4g3.zip Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 21, 2011 Author Report Share Posted July 21, 2011 sorry, it doesn't depend on the loop count. here is a more precise description: when i'm playing a solo aout track the behaviour is the same like in V3.4f. but when a second aout track is playing then the gate of track 1 is always open. even after stopping the seq. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 21, 2011 Author Report Share Posted July 21, 2011 oh, this was fast. i'l try it. Quote Link to comment Share on other sites More sharing options...
btsee Posted July 21, 2011 Author Report Share Posted July 21, 2011 yes, it works. i will test it tomorrow with multiple aout tracks, but from what i see it's a solid 2 note workaround. thank you! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.