diff --git a/veejay-current/veejay-client/share/gveejay.reloaded.glade b/veejay-current/veejay-client/share/gveejay.reloaded.glade index f217f52d..ea75bafa 100644 --- a/veejay-current/veejay-client/share/gveejay.reloaded.glade +++ b/veejay-current/veejay-client/share/gveejay.reloaded.glade @@ -5576,6 +5576,38 @@ 0 + + + True + True + True + Clear all sequencer slots + + + + True + False + + + True + False + icon_clearall.png + + + False + False + 0 + + + + + + + True + False + 1 + + True diff --git a/veejay-current/veejay-client/src/callback.c b/veejay-current/veejay-client/src/callback.c index 9fbbecbe..c8ba7021 100644 --- a/veejay-current/veejay-client/src/callback.c +++ b/veejay-current/veejay-client/src/callback.c @@ -1412,6 +1412,18 @@ g_return_val_if_fail( GTK_IS_LIST_STORE(_model),NULL); #define gtk_combo_box_get_active_text( combo ) my_gtk_combo_box_get_active_text(combo) #endif +void on_button_seq_clearall_clicked( GtkWidget *w, gpointer data ) +{ + int slot; + for (slot = 0; slot < info->sequencer_col * info->sequencer_row ; slot++) + { + multi_vims( VIMS_SEQUENCE_DEL, "%d", slot ); + gtk_label_set_text(GTK_LABEL(info->sequencer_view->gui_slot[slot]->image), + NULL ); + } + vj_msg(VEEJAY_MSG_INFO, "Sequencer cleared"); +} + void on_seq_rec_stop_clicked( GtkWidget *w, gpointer data ) { single_vims( VIMS_SAMPLE_REC_STOP ); diff --git a/veejay-current/veejay-client/src/vj-api.c b/veejay-current/veejay-client/src/vj-api.c index 5a4fdfd4..f4fc612c 100644 --- a/veejay-current/veejay-client/src/vj-api.c +++ b/veejay-current/veejay-client/src/vj-api.c @@ -482,6 +482,8 @@ typedef struct sample_gui_slot_t *selection_gui_slot; sequence_envelope *sequence_view; sequence_envelope *sequencer_view; + int sequencer_col; + int sequencer_row; int sequence_playing; gint current_sequence_slot; // GtkKnob *audiovolume_knob; @@ -563,6 +565,9 @@ static widget_name_t *gen_decs_ = NULL; #define VEEJAY_MSG_OUTPUT 4 #define GENERATOR_PARAMS 11 +#define SEQUENCER_COL 10 +#define SEQUENCER_ROW 10 + static vj_gui_t *info = NULL; void reloaded_restart(); void *get_ui_info() { return (void*) info; } @@ -7527,7 +7532,7 @@ void vj_gui_init(char *glade_file, create_ref_slots( 10 ); //SEQ - create_sequencer_slots( 10,10 ); + create_sequencer_slots( SEQUENCER_COL, SEQUENCER_ROW ); veejay_memset( vj_event_list, 0, sizeof( vj_event_list )); veejay_memset( vims_keys_list, 0, sizeof( vims_keys_list) ); @@ -8425,6 +8430,9 @@ static void create_sequencer_slots(int nx, int ny) gtk_container_add( GTK_CONTAINER(info->sample_sequencer), table ); gtk_widget_show(table); + info->sequencer_col = nx; + info->sequencer_row = ny; + gint col=0; gint row=0; gint k = 0;