Subversion Repositories svn.mios32

Compare Revisions

Ignore whitespace Rev 2632 → Rev 2633

/trunk/apps/sequencers/midibox_seq_v4/CHANGELOG.txt
22,9 → 22,11
If it's desired to permanently control the parameter layer with the selection buttons, just
press&release the Param button.
 
o New option 13/32 allows to change the steps of the current selected view only
o New option 9/33 allows to unmute tracks on pattern changes
 
o New option 14/33 allows to change the steps of the current selected view only
 
 
MIDIboxSEQ V4.095
~~~~~~~~~~~~~~~~~
 
/trunk/apps/sequencers/midibox_seq_v4/core/seq_ui_opt.c
49,32 → 49,33
#define ITEM_PATTERN_MIXER_MAP_COUPLING 5
#define ITEM_SYNC_MUTE 6
#define ITEM_SYNC_UNMUTE 7
#define ITEM_SELECT_UNMUTED_TRACK 8
#define ITEM_PASTE_CLR_ALL 9
#define ITEM_RESTORE_TRACK_SELECTIONS 10
#define ITEM_MODIFY_PATTERN_BANKS 11
#define ITEM_ALL_FOR_STEP_VIEW_ONLY 12
#define ITEM_PRINT_AND_MODIFY_WITHOUT_GATES 13
#define ITEM_PRINT_TRANSPOSED_NOTES 14
#define ITEM_METRONOME 15
#define ITEM_SHADOW_OUT 16
#define ITEM_MIDI_REMOTE 17
#define ITEM_TRACK_CC 18
#define ITEM_RUNTIME_STATUS_OPTIMIZATION 19
#define ITEM_LIVE_LAYER_MUTE 20
#define ITEM_INIT_WITH_TRIGGERS 21
#define ITEM_INIT_CC 22
#define ITEM_DRUM_CC 23
#define ITEM_TPD_MODE 24
#define ITEM_SWAP_GP_LED_COLOURS 25
#define ITEM_INVERT_MUTE_LEDS 26
#define ITEM_BLM_ALWAYS_USE_FTS 27
#define ITEM_BLM_FADERS 28
#define ITEM_MIXER_CC1234 29
#define ITEM_MENU_SHORTCUTS 30
#define ITEM_SCREEN_SAVER 31
#define ITEM_UNMUTE_ON_PATTERN_CHANGE 8
#define ITEM_SELECT_UNMUTED_TRACK 9
#define ITEM_PASTE_CLR_ALL 10
#define ITEM_RESTORE_TRACK_SELECTIONS 11
#define ITEM_MODIFY_PATTERN_BANKS 12
#define ITEM_ALL_FOR_STEP_VIEW_ONLY 13
#define ITEM_PRINT_AND_MODIFY_WITHOUT_GATES 14
#define ITEM_PRINT_TRANSPOSED_NOTES 15
#define ITEM_METRONOME 16
#define ITEM_SHADOW_OUT 17
#define ITEM_MIDI_REMOTE 18
#define ITEM_TRACK_CC 19
#define ITEM_RUNTIME_STATUS_OPTIMIZATION 20
#define ITEM_LIVE_LAYER_MUTE 21
#define ITEM_INIT_WITH_TRIGGERS 22
#define ITEM_INIT_CC 23
#define ITEM_DRUM_CC 24
#define ITEM_TPD_MODE 25
#define ITEM_SWAP_GP_LED_COLOURS 26
#define ITEM_INVERT_MUTE_LEDS 27
#define ITEM_BLM_ALWAYS_USE_FTS 28
#define ITEM_BLM_FADERS 29
#define ITEM_MIXER_CC1234 30
#define ITEM_MENU_SHORTCUTS 31
#define ITEM_SCREEN_SAVER 32
 
#define NUM_OF_ITEMS 32
#define NUM_OF_ITEMS 33
 
 
static const char *item_text[NUM_OF_ITEMS][2] = {
120,6 → 121,11
},
 
{//<-------------------------------------->
"Unmute tracks on pattern change",
NULL, // enabled/disabled
},
 
{//<-------------------------------------->
"Auto-Select unmuted Track",
NULL, // enabled/disabled
},
379,6 → 385,15
return 1;
} break;
 
case ITEM_UNMUTE_ON_PATTERN_CHANGE: {
if( incrementer )
seq_core_options.UNMUTE_ON_PATTERN_CHANGE = (incrementer > 0) ? 1 : 0;
else
seq_core_options.UNMUTE_ON_PATTERN_CHANGE ^= 1;
ui_store_file_required = 1;
return 1;
} break;
 
case ITEM_SELECT_UNMUTED_TRACK: {
if( incrementer )
seq_ui_options.SELECT_UNMUTED_TRACK = (incrementer > 0) ? 1 : 0;
975,6 → 990,11
} break;
 
///////////////////////////////////////////////////////////////////////////
case ITEM_UNMUTE_ON_PATTERN_CHANGE: {
enabled_value = seq_core_options.UNMUTE_ON_PATTERN_CHANGE;
} break;
 
///////////////////////////////////////////////////////////////////////////
case ITEM_SELECT_UNMUTED_TRACK: {
enabled_value = seq_ui_options.SELECT_UNMUTED_TRACK;
} break;
/trunk/apps/sequencers/midibox_seq_v4/core/seq_file_c.c
309,6 → 309,10
s32 value = get_dec_range(word, parameter, 0, 1);
if( value >= 0 )
seq_core_options.SYNCHED_UNMUTE = value;
} else if( strcmp(parameter, "UnmuteOnPatternChange") == 0 ) {
s32 value = get_dec_range(word, parameter, 0, 1);
if( value >= 0 )
seq_core_options.UNMUTE_ON_PATTERN_CHANGE = value;
} else if( strcmp(parameter, "DontResetLatchedPc") == 0 ) {
s32 value = get_dec_range(word, parameter, 0, 1);
if( value >= 0 )
979,6 → 983,9
sprintf(line_buffer, "SynchedUnmute %d\n", seq_core_options.SYNCHED_UNMUTE);
FLUSH_BUFFER;
 
sprintf(line_buffer, "UnmuteOnPatternChange %d\n", seq_core_options.UNMUTE_ON_PATTERN_CHANGE);
FLUSH_BUFFER;
 
sprintf(line_buffer, "DontResetLatchedPc %d\n", seq_core_options.PATTERN_CHANGE_DONT_RESET_LATCHED_PC);
FLUSH_BUFFER;
 
/trunk/apps/sequencers/midibox_seq_v4/core/seq_ui.c
3736,7 → 3736,8
}
 
// ensure that green LEDs are off if overlapped by red LEDs
select_leds_green &= ~select_leds_red;
//select_leds_green &= ~select_leds_red;
// disabled: overlapping looks better with red/green LEDs
} break;
case SEQ_UI_SEL_VIEW_TRACKS:
select_leds_green = 0xf << (4*ui_selected_group);
/trunk/apps/sequencers/midibox_seq_v4/core/seq_core.h
39,6 → 39,7
u32 RATOPC:1;
u32 SYNCHED_MUTE:1;
u32 SYNCHED_UNMUTE:1;
u32 UNMUTE_ON_PATTERN_CHANGE:1;
u32 PATTERN_MIXER_MAP_COUPLING:1;
u32 MIXER_LIVE_SEND:1;
u32 INIT_WITH_TRIGGERS:1;
/trunk/apps/sequencers/midibox_seq_v4/core/seq_pattern.c
277,6 → 277,16
SEQ_CORE_CancelSustainedNotes(track);
}
 
// optionally unmute loaded tracks
if( seq_core_options.UNMUTE_ON_PATTERN_CHANGE ) {
u16 pattern = 0xf << (4*group);
portENTER_CRITICAL();
seq_core_trk_muted &= ~pattern;
seq_core_trk_synched_mute &= ~pattern;
seq_core_trk_synched_unmute &= ~pattern;
portEXIT_CRITICAL();
}
 
// reset latched PB/CC values (because assignments could change)
if( !seq_core_options.PATTERN_CHANGE_DONT_RESET_LATCHED_PC ) {
SEQ_LAYER_ResetLatchedValues();