Sign in to follow this  
Followers 0
daemonik

Integrating a Midi Start/Stop/Cont Filter

2 posts in this topic

The MBSeqV4 is still one of my fav. machines... but recently I got myself an Ableton Push. That got me back to work more in Ableton Live again with MBSeqV4 in Auto/Slave Mode and a couple of Synths connected to it.

In general this setup works seamlessly for me. But now I'm looking to integrate a function to filter midi start/stop/cont events in SlaveMode to keep the Seq from playing notes each time Ableton starts:

  • The function shall be quickly accessible from the UI
  • The function is only accessible in Slave/Auto Mode (makes no sense in Master Mode)
  • Midi Clock shall still be forwarded to Midi-Outs (for sync of Synths)
  • If function is active and Seq in Auto-Slave Mode it shall not switch to Auto-Master Mode (would probably lead to a BPM change)

So far my solution would be:

  • if in Auto/Slave mode 'Stop'+'Play' stops Seq from running and activates the filter > SEQ_UI.c
  • 'Play' would deactivate the filter again
  • Right now I plan to implement the filter before call of function <SEQ_BPM_NotifyMIDIRx(midi_byte)> in app.c since I m really scared of changing anything in seq_bpm.c

Since I'm not really deep in to coding I'd be very happy if you could share your thoughts on this before starting: got a better idea, malfunctions i could run into, things I should consider/count in, ...

Any Input is much appreciated

 

I know... if some of you like the idea, TK would integrate it before I hit a key and of course way more properly coded... but anyway it's a nice learning process for me to give it a go.

Ahh.. and this should be repeated daily: SEQV4 AND ALL THE MB STUFF IS ONE HELL OF GEAR - TK ROCKS!!!!

Edited by daemonik

Share this post


Link to post
Share on other sites

For those who are interested

After excessive code investigation... I finally found I very simple and quick solution.

Already implemented is the following function: When pressing Stop button while running in slave-mode SEQ goes to 'muted slaveclock' state and stops running but keeps in sync with incoming midiclock - by pressing Play this state is changed to 'off' and SEQ starts playing on next measure again. Same state is set/unset with Pause button in slave-mode.

What I wanted to avoid is that a MIDI Start/Continue would also set 'muted slaveclock' off and set SEQ running again. So I can play/stop/continue my DAW and choose if SEQ is also fired or not everytime.

I hope it's clear what I intended with this!

Solution:

Currently unmuting of the muted slaveclock state is implemented in SEQ_UI.C Play/Pause Button Functions but also  in SEQ_CORE.C after request of pending Start/Continue/NewSongPosition to SEQ_BPM.C (functions: SEQ_BPM_ChkReqCont / SEQ_BPM_ChkReqStart / SEQ_BPM_ChkReqSongPos in SEQ_CORE_Handler).

So.. luckily I had only to quote a line of code within each of the 3 if clauses:

//seq_core_slaveclk_mute = SEQ_CORE_SLAVECLK_MUTE_Off;

Further I also added the possibility to enter muted slaveclock state when not running by pressing MENU+STOP in slave-mode. As well as a temporary message (SEQ_UI_MSG_USER_R) when entering/ leaving this state.

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0