This commit is contained in:
Niels
2016-05-15 11:55:25 +02:00
parent 11bfde2795
commit 245a665ab5
2 changed files with 40 additions and 54 deletions

View File

@@ -25,7 +25,6 @@ extern void veejay_release_track(int id, int release_this);
extern void veejay_bind_track( int id, int bind_this ); extern void veejay_bind_track( int id, int bind_this );
extern int multitrack_get_sequence_view_id( void *data ); extern int multitrack_get_sequence_view_id( void *data );
extern gchar *_utf8str( const char *c_str ); extern gchar *_utf8str( const char *c_str );
extern void set_widget_color( GtkWidget *widget , int red, int green, int blue, int def );
typedef struct typedef struct
{ {
int track_id; int track_id;
@@ -65,12 +64,10 @@ static void cell_toggled_callback( GtkCellRenderer *cell, gchar *path_string, gp
if( gtk_cell_renderer_toggle_get_active( GTK_CELL_RENDERER_TOGGLE( cell) ) ) if( gtk_cell_renderer_toggle_get_active( GTK_CELL_RENDERER_TOGGLE( cell) ) )
{ {
veejay_release_track( v->track_id, id_data); veejay_release_track( v->track_id, id_data);
// set_widget_color( v->view, 0,255,0,0);
} }
else else
{ {
veejay_bind_track( v->track_id, id_data ); veejay_bind_track( v->track_id, id_data );
// set_widget_color( v->view, 0,0,0,1 );
} }
g_free(data); g_free(data);
} }

View File

@@ -1,4 +1,3 @@
/* Gveejay Reloaded - graphical interface for VeeJay /* Gveejay Reloaded - graphical interface for VeeJay
* (C) 2002-2004 Niels Elburg <nwelburg@gmail.com> * (C) 2002-2004 Niels Elburg <nwelburg@gmail.com>
* with contributions by Thomas Rheinhold (2005) * with contributions by Thomas Rheinhold (2005)
@@ -492,7 +491,7 @@ typedef struct
config_settings_t config; config_settings_t config;
int status_frame; int status_frame;
int key_id; int key_id;
GdkColor *fg_; GdkColor *normal;
gboolean key_now; gboolean key_now;
void *mt; void *mt;
watchdog_t watch; watchdog_t watch;
@@ -4522,7 +4521,7 @@ static void select_slot( int pm )
if( info->selected_slot ) if( info->selected_slot )
{ {
if ( info->selected_slot->sample_type != pm || info->selected_slot->sample_id != if ( info->selected_slot->sample_type != pm || info->selected_slot->sample_id !=
info->selected_slot->sample_id ) { info->status_tokens[CURRENT_ID] ) {
set_activation_of_slot_in_samplebank(FALSE); set_activation_of_slot_in_samplebank(FALSE);
} }
} }
@@ -4925,9 +4924,9 @@ void on_stream_color_changed(GtkColorSelection *colorsel, gpointer user_data)
gtk_color_selection_get_current_color(GTK_COLOR_SELECTION( colorsel ), gtk_color_selection_get_current_color(GTK_COLOR_SELECTION( colorsel ),
&current_color ); &current_color );
gint red = current_color.red / 256.0; gint red = current_color.red / 255.0;
gint green = current_color.green / 256.0; gint green = current_color.green / 255.0;
gint blue = current_color.blue / 256.0; gint blue = current_color.blue / 255.0;
multi_vims(VIMS_STREAM_COLOR, "%d %d %d %d", multi_vims(VIMS_STREAM_COLOR, "%d %d %d %d",
info->selected_slot->sample_id, info->selected_slot->sample_id,
@@ -4957,9 +4956,9 @@ void on_rgbkey_color_changed(GtkColorSelection *colorsel, gpointer user_data)
&current_color ); &current_color );
// scale to 0 - 255 // scale to 0 - 255
gint red = current_color.red / 256.0; gint red = current_color.red / 255.0;
gint green = current_color.green / 256.0; gint green = current_color.green / 255.0;
gint blue = current_color.blue / 256.0; gint blue = current_color.blue / 255.0;
multi_vims(VIMS_CHAIN_ENTRY_SET_ARG_VAL, multi_vims(VIMS_CHAIN_ENTRY_SET_ARG_VAL,
"%d %d %d %d", "%d %d %d %d",
@@ -7987,9 +7986,9 @@ static int add_bank( gint bank_num )
} }
} }
if( !info->fg_ ) if( !info->normal )
{ {
info->fg_ = widget_get_fg( GTK_WIDGET(info->sample_banks[bank_num]->gui_slot[0]->frame) ); info->normal = widget_get_fg( GTK_WIDGET(info->sample_banks[bank_num]->gui_slot[0]->frame) );
} }
return bank_num; return bank_num;
} }
@@ -8531,6 +8530,7 @@ static gboolean on_slot_activated_by_mouse (GtkWidget *widget, GdkEventButton *e
set_selection_of_slot_in_samplebank(FALSE); set_selection_of_slot_in_samplebank(FALSE);
info->selection_slot = sample_banks[bank_nr]->slot[slot_nr]; info->selection_slot = sample_banks[bank_nr]->slot[slot_nr];
info->selection_gui_slot = sample_banks[bank_nr]->gui_slot[slot_nr]; info->selection_gui_slot = sample_banks[bank_nr]->gui_slot[slot_nr];
set_selection_of_slot_in_samplebank(TRUE ); set_selection_of_slot_in_samplebank(TRUE );
} }
} }
@@ -8545,32 +8545,20 @@ static void indicate_sequence( gboolean active, sequence_gui_slot_t *slot )
gtk_frame_set_shadow_type( GTK_FRAME(slot->frame), GTK_SHADOW_OUT ); gtk_frame_set_shadow_type( GTK_FRAME(slot->frame), GTK_SHADOW_OUT );
} }
/* --------------------------------------------------------------------------------------------------------------------------
* Function that handles to select/activate a special slot in the samplebank
-------------------------------------------------------------------------------------------------------------------------- */
void set_widget_color( GtkWidget *widget , int red, int green, int blue, int def )
{
GdkColor color;
if( def ) {
color.red = info->fg_->red;
color.green = info->fg_->green;
color.blue = info->fg_->blue;
} else {
color.red = red;
color.green = green;
color.blue = blue;
}
gtk_widget_modify_fg ( GTK_WIDGET(widget),GTK_STATE_NORMAL, &color );
}
static void set_activation_of_slot_in_samplebank( gboolean activate) static void set_activation_of_slot_in_samplebank( gboolean activate)
{ {
if(!info->selected_gui_slot || !info->selected_slot ) if(!info->selected_gui_slot || !info->selected_slot )
return; return;
GdkColor color; GdkColor color;
color.red = info->fg_->red; color.red = info->normal->red;
color.green = info->fg_->green; color.green = info->normal->green;
color.blue = info->fg_->blue; color.blue = info->normal->blue;
if( activate ) {
color.green = 0xffff;
color.red = 0;
color.blue = 0;
}
if(info->selected_slot->sample_id <= 0 ) if(info->selected_slot->sample_id <= 0 )
{ {
@@ -8580,9 +8568,6 @@ static void set_activation_of_slot_in_samplebank( gboolean activate)
{ {
if (activate) if (activate)
{ {
color.green = 0xffff;
color.red = 0;
color.blue =0;
gtk_frame_set_shadow_type(GTK_FRAME(info->selected_gui_slot->frame),GTK_SHADOW_IN); gtk_frame_set_shadow_type(GTK_FRAME(info->selected_gui_slot->frame),GTK_SHADOW_IN);
gtk_widget_grab_focus(GTK_WIDGET(info->selected_gui_slot->frame)); gtk_widget_grab_focus(GTK_WIDGET(info->selected_gui_slot->frame));
} }
@@ -8592,26 +8577,20 @@ static void set_activation_of_slot_in_samplebank( gboolean activate)
} }
} }
gtk_widget_modify_fg ( GTK_WIDGET(info->selected_gui_slot->timecode), veejay_msg(0, "%s: set color: %d,%d,%d",__FUNCTION__,color.red, color.green, color.blue );
GTK_STATE_NORMAL, &color );
gtk_widget_modify_fg ( GTK_WIDGET(info->selected_gui_slot->timecode),GTK_STATE_NORMAL, &color );
} }
static void set_selection_of_slot_in_samplebank(gboolean active) static void set_selection_of_slot_in_samplebank(gboolean active)
{ {
if(!info->selection_slot) if(!info->selection_slot || info->selection_slot->sample_id <= 0)
return;
if(info->selection_slot->sample_id <= 0 )
return; return;
GdkColor color; GdkColor color;
color.red = info->fg_->red; color.red = info->normal->red;
color.green = info->fg_->green; color.green = info->normal->green;
color.blue = info->fg_->blue; color.blue = info->normal->blue;
if(active)
{
color.blue = 0xffff;
color.green = 0;
color.red =0;
}
if(info->selected_slot == info->selection_slot) if(info->selected_slot == info->selection_slot)
{ {
@@ -8619,6 +8598,16 @@ static void set_selection_of_slot_in_samplebank(gboolean active)
color.red = 0; color.red = 0;
color.blue = 0; color.blue = 0;
} }
else if(active)
{
color.blue = 0xffff;
color.green = 0;
color.red =0;
}
veejay_msg(0, "%s: set color: %d,%d,%d",__FUNCTION__,color.red, color.green, color.blue );
// gtk_widget_modify_fg ( GTK_WIDGET(info->selection_gui_slot->title), // gtk_widget_modify_fg ( GTK_WIDGET(info->selection_gui_slot->title),
// GTK_STATE_NORMAL, &color ); // GTK_STATE_NORMAL, &color );
gtk_widget_modify_fg ( GTK_WIDGET(info->selection_gui_slot->timecode), gtk_widget_modify_fg ( GTK_WIDGET(info->selection_gui_slot->timecode),
@@ -8688,7 +8677,7 @@ static void remove_sample_from_slot()
if(gui_slot) if(gui_slot)
gtk_image_clear( GTK_IMAGE( gui_slot->image) ); gtk_image_clear( GTK_IMAGE( gui_slot->image) );
set_selection_of_slot_in_samplebank( FALSE ); //set_selection_of_slot_in_samplebank( FALSE );
info->selection_gui_slot = NULL; info->selection_gui_slot = NULL;
info->selection_slot = NULL; info->selection_slot = NULL;