Jump to content

Integrating a Midi Start/Stop/Cont Filter


daemonik
 Share

Recommended Posts

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
Link to comment
Share on other sites

  • 4 weeks later...

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.

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...