Jump to content

MBSEQ4 Mods: Multiple clock outputs


creatorlars
 Share

Recommended Posts

Hi everyone --

Just a quick question on feasibility.  I am working on panel designs for my SEQ4 rebuild, and would like to have 4 or more dedicated clock outputs.  I primarily use my SEQ to control analogue gear, so I have a lot of external analog sequencers and arpeggiators, etc. that I'd like to feed different clock signals to.  In the past I have accomplished this by either using the 8 Gate outputs (which requires setting up a track to run a clocking pattern, etc) or the DIN Sync output (which is only one output).  Would it be easy to add another 3 (or 7!) simultaneously running clock/sync outputs, and be able to configure the division for each in firmware, and possibly save preset maps for each?  In my case, each clock out would be dedicated to a specific destination, but the clock division sent out may vary from song to song, so clock divider preset maps (even saved along with song mode) would be nice.

I could do this the analogue way with one of Ken Stone's Pulse Divider boards, but then the different clock outs aren't reconfigurable.

Seems like this should be pretty easy to do, right?  I'm not scared of the source code as much now that it's in C! :)

Cheers,

Lars

Link to comment
Share on other sites

When you are searching for "din_sync" in the source code, you will find the places which have to be changed.

Most difficult job: to integrated the clock configuration into the UI (you will quickly find out, why ;))


Macintosh:midibox_seq_v4 TK$ grep din_sync core/*.c
core/app.c:  if( seq_core_din_sync_pulse_ctr > 1 ) {
core/app.c:    --seq_core_din_sync_pulse_ctr;
core/app.c:  } else if( seq_core_din_sync_pulse_ctr == 1 ) {
core/app.c:    seq_core_din_sync_pulse_ctr = 0;
core/seq_core.c:u16 seq_core_bpm_din_sync_div;
core/seq_core.c:u8 seq_core_din_sync_pulse_ctr;
core/seq_core.c:  seq_core_bpm_din_sync_div = 16; // 24 ppqn
core/seq_core.c:  seq_core_din_sync_pulse_ctr = 0; // used to generate a 1 mS pulse
core/seq_core.c:  if( (bpm_tick % seq_core_bpm_din_sync_div) == 0 ) {
core/seq_file_c.c:    seq_core_bpm_din_sync_div = value;
core/seq_file_c.c:  sprintf(line_buffer, "BPM_DINSyncDiv %d\n", seq_core_bpm_din_sync_div);
core/seq_midi_port.c:    seq_core_din_sync_pulse_ctr = 2; // to generate a 1 mS pulse (+1 for 1->0 transition)
core/seq_ui_bpm.c:const u16 din_sync_div_presets[] =
core/seq_ui_bpm.c:      u8 din_sync_div_ix = 0;
core/seq_ui_bpm.c:      for(i=0; i<sizeof(din_sync_div_presets)/sizeof(u16); ++i)
core/seq_ui_bpm.c: if( seq_core_bpm_din_sync_div == din_sync_div_presets[i] ) {
core/seq_ui_bpm.c:  din_sync_div_ix = i;
core/seq_ui_bpm.c:      if( SEQ_UI_Var8_Inc(&din_sync_div_ix, 0, (sizeof(din_sync_div_presets)/sizeof(u16))-1, incrementer) ) {
core/seq_ui_bpm.c: seq_core_bpm_din_sync_div = din_sync_div_presets[din_sync_div_ix];
core/seq_ui_bpm.c:    SEQ_LCD_PrintFormattedString("%3d", 384 / seq_core_bpm_din_sync_div);
[/code]

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi everyone --

Just a quick question on feasibility.  I am working on panel designs for my SEQ4 rebuild, and would like to have 4 or more dedicated clock outputs.  I primarily use my SEQ to control analogue gear, so I have a lot of external analog sequencers and arpeggiators, etc. that I'd like to feed different clock signals to.   In the past I have accomplished this by either using the 8 Gate outputs (which requires setting up a track to run a clocking pattern, etc) or the DIN Sync output (which is only one output).  Would it be easy to add another 3 (or 7!) simultaneously running clock/sync outputs, and be able to configure the division for each in firmware, and possibly save preset maps for each?  In my case, each clock out would be dedicated to a specific destination, but the clock division sent out may vary from song to song, so clock divider preset maps (even saved along with song mode) would be nice.

I could do this the analogue way with one of Ken Stone's Pulse Divider boards, but then the different clock outs aren't reconfigurable.

Seems like this should be pretty easy to do, right?  I'm not scared of the source code as much now that it's in C! :)

Cheers,

Lars

Hey Lars

I'm interested in multiple clocks also; please do share if/when you get something working. I won't be much use with the programming side of things unfortunately, but I'm happy to help if I can.

Now, when's that Core32 coming?  ;)

Link to comment
Share on other sites

I have not upgraded to V4 (Waiting on my new core to get here from smash) but in the past, I could generate many different clock outs, via the 8 gate outs.

Setting all triggers to 16ths, and then playing with the roll function and clock divider I could easily generate up to 48ppq and anything in between out of any / all  of the 8 gate outs.

Sure, this does take up tracks tho..

Unfortunately, it seems V3's core is a bit overworked, and this would work until any major editing was done. (Record, move, delete etc)

After a major edit, it would drop sync a touch.

Regards

Mike

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...