mirror of
https://github.com/game-stop/veejay.git
synced 2025-12-21 15:20:02 +01:00
Enchancement / "Sequencer Clear All"
* Button in ui (on_button_seq_clearall) right to activate sequencer checkbox * Callback clear entire grid (VIMS_SEQUENCE_DEL) * sequencer col and row has #define * new vj_gui_t struct members : sequencer_col & sequencer_row
This commit is contained in:
@@ -5576,6 +5576,38 @@
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button_seq_clearall">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="tooltip" translatable="yes">Clear all sequencer slots</property>
|
||||
<signal name="clicked" handler="on_button_seq_clearall_clicked" swapped="no"/>
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox48">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<widget class="GtkImage" id="image56">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="pixbuf">icon_clearall.png</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user