Jump to content

Scrub mode issue


Marxon
 Share

Recommended Posts

Hi all,

i have noticed that turning the datawheel during activated scrub mode

is also activating play even if the sequencer has been paused or stoped before. It would be nice to have a option to disable this behavior.

Best regards

Marxon

Link to comment
Share on other sites

Hm,

dunno if this helps, but it is possible to set up the datawheel to generally scroll through the steps (and not perform note changes, which was the default behaviour for some time), even with scrub mode off. And you can configure scrub mode to be temporary only (turned off, when you let go of the button) - that´s how I set up my seq and it works nicely.

 

Many greets,

Peter

Edited by Hawkeye
Link to comment
Share on other sites

Hi Peter,

thanks for your input.

...but it is possible to set up the datawheel to generally scroll through the steps (and not perform note changes, which was the default behaviour for some time), even with scrub mode off...
But this is not the same like "scrubbing"

To be concrete:

Recently I have been experimenting with the track direction settings and

wanted to "see" how the sequence changes. -> I have 16GP leds and a 4x16 duo color BLM.

The BLM´s second color acts as position marker.

By using the scrub mode and turning the datawheel,

i can scroll the position marker through the track steps and "see"

how the progression is affected by the track direction settings.

So far this is working up on that, that the sequencer for whatever reason,

starts the play mode :/

Sorry for my bad english, hopefully my problem is understandable.

Marxon

Edited by Marxon
Link to comment
Share on other sites

Hi again,

i managed the sequencer not to start play if the datawheel is turned and scrub mode is active.

Searching the code for "scrub" leads me to this lines:

 

if( seq_ui_button_state.SCRUB && encoder == 0 ) {
// if sequencer isn't already running, continue it (don't restart)
if( !SEQ_BPM_IsRunning() )
SEQ_BPM_Cont();
ui_seq_pause = 0; // clear pause mode

Afte removing the "!" from the third line,

the code now reads:

if( seq_ui_button_state.SCRUB && encoder == 0 ) {
// if sequencer isn't already running, continue it (don't restart)
if( SEQ_BPM_IsRunning() )
SEQ_BPM_Cont();
ui_seq_pause = 0; // clear pause mode

But of course that would have been too easy because

unfortunately the position marker is not visible when the sequencer is stopped. :angry:

So only half the way was done.

I had to figure out where this behavior is controlled and,

thanks to TK´s well documented code,

i have found this:

// determine position marker
u16 pos_marker_mask = 0x0000;
if( sequencer_running ) {
u8 played_step = seq_core_trk[track].step;
if( (played_step >> 4) == ui_selected_step_view )
pos_marker_mask = 1 << (played_step & 0xf);
}

I did a small change in the third line, now it looks like this:

 

// determine position marker
u16 pos_marker_mask = 0x0000;
// if( sequencer_running )
{
u8 played_step = seq_core_trk[track].step;
if( (played_step >> 4) == ui_selected_step_view )
pos_marker_mask = 1 << (played_step & 0xf);
}
 

Believe it or not:

it is working exactly like i wanted to!

This was my first very small modification of the sequencer firmware and i am proud about it. :yes:

Damn, how does TK feel himself? This crazy guy wrote thousands lines of code!

Once again Thorsten, thank you for all your work! :thumbsup: :thumbsup: :thumbsup:

Best regrads

Marxon

Edited by Marxon
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...