Subversion Repositories svn.mios32

Compare Revisions

Ignore whitespace Rev 2586 → Rev 2587

/trunk/apps/sequencers/midibox_seq_v4/CHANGELOG.txt
50,6 → 50,9
 
o ProgramChange Layer: steps now disabled by default when the track is cleared
 
o Whenever a track or parameter layer is unmuted, it will be automatically selected
This option can now be disabled in the OPTIONS page (item 9/29)
 
o experimental (might be optional in future): show measure and pattern step position in main screen
 
 
/trunk/apps/sequencers/midibox_seq_v4/core/seq_ui_opt.c
49,28 → 49,29
#define ITEM_PATTERN_MIXER_MAP_COUPLING 5
#define ITEM_SYNC_MUTE 6
#define ITEM_SYNC_UNMUTE 7
#define ITEM_PASTE_CLR_ALL 8
#define ITEM_RESTORE_TRACK_SELECTIONS 9
#define ITEM_MODIFY_PATTERN_BANKS 10
#define ITEM_PRINT_AND_MODIFY_WITHOUT_GATES 11
#define ITEM_PRINT_TRANSPOSED_NOTES 12
#define ITEM_METRONOME 13
#define ITEM_SHADOW_OUT 14
#define ITEM_MIDI_REMOTE 15
#define ITEM_TRACK_CC 16
#define ITEM_RUNTIME_STATUS_OPTIMIZATION 17
#define ITEM_LIVE_LAYER_MUTE 18
#define ITEM_INIT_WITH_TRIGGERS 19
#define ITEM_INIT_CC 20
#define ITEM_DRUM_CC 21
#define ITEM_TPD_MODE 22
#define ITEM_BLM_ALWAYS_USE_FTS 23
#define ITEM_BLM_FADERS 24
#define ITEM_MIXER_CC1234 25
#define ITEM_MENU_SHORTCUTS 26
#define ITEM_SCREEN_SAVER 27
#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_PRINT_AND_MODIFY_WITHOUT_GATES 12
#define ITEM_PRINT_TRANSPOSED_NOTES 13
#define ITEM_METRONOME 14
#define ITEM_SHADOW_OUT 15
#define ITEM_MIDI_REMOTE 16
#define ITEM_TRACK_CC 17
#define ITEM_RUNTIME_STATUS_OPTIMIZATION 18
#define ITEM_LIVE_LAYER_MUTE 19
#define ITEM_INIT_WITH_TRIGGERS 20
#define ITEM_INIT_CC 21
#define ITEM_DRUM_CC 22
#define ITEM_TPD_MODE 23
#define ITEM_BLM_ALWAYS_USE_FTS 24
#define ITEM_BLM_FADERS 25
#define ITEM_MIXER_CC1234 26
#define ITEM_MENU_SHORTCUTS 27
#define ITEM_SCREEN_SAVER 28
 
#define NUM_OF_ITEMS 28
#define NUM_OF_ITEMS 29
 
 
static const char *item_text[NUM_OF_ITEMS][2] = {
116,6 → 117,11
},
 
{//<-------------------------------------->
"Auto-Select unmuted Track",
NULL, // enabled/disabled
},
 
{//<-------------------------------------->
"Paste and Clear button will modify",
NULL, // Only Steps/Complete Track
},
355,6 → 361,15
return 1;
} break;
 
case ITEM_SELECT_UNMUTED_TRACK: {
if( incrementer )
seq_ui_options.SELECT_UNMUTED_TRACK = (incrementer > 0) ? 1 : 0;
else
seq_ui_options.SELECT_UNMUTED_TRACK ^= 1;
ui_store_file_required = 1;
return 1;
} break;
 
case ITEM_RESTORE_TRACK_SELECTIONS: {
if( incrementer )
seq_ui_options.RESTORE_TRACK_SELECTIONS = (incrementer > 0) ? 1 : 0;
901,6 → 916,11
} break;
 
///////////////////////////////////////////////////////////////////////////
case ITEM_SELECT_UNMUTED_TRACK: {
enabled_value = seq_ui_options.SELECT_UNMUTED_TRACK;
} break;
 
///////////////////////////////////////////////////////////////////////////
case ITEM_PASTE_CLR_ALL: {
if( ui_cursor_flash ) {
SEQ_LCD_PrintSpaces(14);
/trunk/apps/sequencers/midibox_seq_v4/core/seq_file_gc.c
374,6 → 374,10
#ifndef MBSEQV4L
seq_ui_options.PRINT_TRANSPOSED_NOTES = value;
#endif
} else if( strcmp(parameter, "UiSelectUnmutedTrack") == 0 ) {
#ifndef MBSEQV4L
seq_ui_options.SELECT_UNMUTED_TRACK = value;
#endif
} else if( strcmp(parameter, "RemoteMode") == 0 ) {
seq_midi_sysex_remote_mode = (value > 2) ? 0 : value;
} else if( strcmp(parameter, "RemotePort") == 0 ) {
692,6 → 696,11
FLUSH_BUFFER;
#endif
 
#ifndef MBSEQV4L
sprintf(line_buffer, "UiSelectUnmutedTrack %d\n", seq_ui_options.SELECT_UNMUTED_TRACK);
FLUSH_BUFFER;
#endif
 
sprintf(line_buffer, "RemoteMode %d\n", (u8)seq_midi_sysex_remote_mode);
FLUSH_BUFFER;
 
/trunk/apps/sequencers/midibox_seq_v4/core/seq_ui.c
200,6 → 200,7
 
seq_ui_options.ALL = 0;
seq_ui_options.PRINT_TRANSPOSED_NOTES = 1;
seq_ui_options.SELECT_UNMUTED_TRACK = 1;
 
ui_hold_msg_ctr = 0;
ui_msg_ctr = 0;
/trunk/apps/sequencers/midibox_seq_v4/core/seq_ui.h
198,6 → 198,7
u8 MODIFY_PATTERN_BANKS:1;
u8 PRINT_AND_MODIFY_WITHOUT_GATES:1;
u8 PRINT_TRANSPOSED_NOTES:1;
u8 SELECT_UNMUTED_TRACK:1;
};
} seq_ui_options_t;
 
/trunk/apps/sequencers/midibox_seq_v4/core/seq_ui_mute.c
209,14 → 209,16
else
*muted ^= mask;
 
if( (*muted & mask) == 0 ) {
if( par_layer_mute ) {
// simplified usage: select the par layer
ui_selected_par_layer = encoder;
} else {
// simplified usage: select the track
ui_selected_tracks = 1 << encoder;
ui_selected_group = encoder/4;
if( seq_ui_options.SELECT_UNMUTED_TRACK ) {
if( (*muted & mask) == 0 ) {
if( par_layer_mute ) {
// simplified usage: select the par layer
ui_selected_par_layer = encoder;
} else {
// simplified usage: select the track
ui_selected_tracks = 1 << encoder;
ui_selected_group = encoder/4;
}
}
}
}