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;