diff --git a/veejay-current/veejay-client/share/gveejay.reloaded.glade b/veejay-current/veejay-client/share/gveejay.reloaded.glade index 4b3e07a9..2b2d055e 100644 --- a/veejay-current/veejay-client/share/gveejay.reloaded.glade +++ b/veejay-current/veejay-client/share/gveejay.reloaded.glade @@ -4311,7 +4311,7 @@ - + True 0.5 0.5 @@ -4323,13 +4323,13 @@ 0 - + True False 2 - + True button_text.png 0.5 @@ -4345,9 +4345,9 @@ - + True - + Add True False GTK_JUSTIFY_LEFT @@ -4686,9 +4686,9 @@ - + True - Edit subtitle + Edit SRT [NUM] False False GTK_JUSTIFY_LEFT @@ -5933,8 +5933,7 @@ True - True - True + False False GTK_POS_TOP False @@ -6315,7 +6314,6 @@ - 120 True MJPEG LJPEG Lossless JPEG @@ -8414,20 +8412,22 @@ Y4M420 YUV4MPEG 4:2:0 (mjpegtools) - 120 True - VJ20 (YUV 4:2:0 Planar 0-255/0-255) -VJ22 (YUV 4:2:2 Planar 0-255/0-255) -MJPEG + MJPEG +LJPEG Lossless JPEG DVVIDEO MPEG4 MSMPEG4V3 -YV16 (YCbCr 4:2:2 Planar, 16-235/16-240) -I420 (YCbCr 4:2:0 Planar, 16-235/16-240) +YV16 (YCbCr 4:2:2 Planar CCIR 601) +I420 (YCbCr 4:2:0 Planar CCIR 601) +VJ20 (YCbCr 4:2:0 Planar JPEG/JFIF) +VJ22 (YCbCr 4:2:2 Planar JPEG/JFIF) Quicktime-DV Quicktime-MJPEG -MLZO -YUV (current) +MLZO (Oberhumer LZO) +YUV (current internal processing format) +Y4M422 YUV4MPEG 4:2:2 +Y4M420 YUV4MPEG 4:2:0 (mjpegtools) False True True diff --git a/veejay-current/veejay-client/share/gveejay.reloaded.glade.bak b/veejay-current/veejay-client/share/gveejay.reloaded.glade.bak index 980cf633..ee605e30 100644 --- a/veejay-current/veejay-client/share/gveejay.reloaded.glade.bak +++ b/veejay-current/veejay-client/share/gveejay.reloaded.glade.bak @@ -4311,7 +4311,7 @@ - + True 0.5 0.5 @@ -4323,13 +4323,13 @@ 0 - + True False 2 - + True button_text.png 0.5 @@ -4345,9 +4345,9 @@ - + True - + Add True False GTK_JUSTIFY_LEFT @@ -4686,9 +4686,9 @@ - + True - Edit subtitle + Edit SRT [NUM] False False GTK_JUSTIFY_LEFT @@ -6317,18 +6317,21 @@ 120 True - VJ20 (YUV 4:2:0 Planar) -VJ22 (YUV 4:2:2 Planar) -MJPEG + MJPEG +LJPEG Lossless JPEG DVVIDEO MPEG4 MSMPEG4V3 -YV16 (YCbCr 4:2:2 Planar) -I420 (YCbCr 4:2:0 Planar) +YV16 (YCbCr 4:2:2 Planar CCIR 601) +I420 (YCbCr 4:2:0 Planar CCIR 601) +VJ20 (YCbCr 4:2:0 Planar JPEG/JFIF) +VJ22 (YCbCr 4:2:2 Planar JPEG/JFIF) Quicktime-DV Quicktime-MJPEG -MLZO -YUV (current) +MLZO (Oberhumer LZO) +YUV (current internal processing format) +Y4M422 YUV4MPEG 4:2:2 +Y4M420 YUV4MPEG 4:2:0 (mjpegtools) False True True diff --git a/veejay-current/veejay-client/src/callback.c b/veejay-current/veejay-client/src/callback.c index 910828df..a34e29df 100644 --- a/veejay-current/veejay-client/src/callback.c +++ b/veejay-current/veejay-client/src/callback.c @@ -2825,7 +2825,7 @@ on_vims_messenger_single_clicked( void ) } } -static void srt_load_subtitle(int sid) +static gint srt_load_subtitle(int sid) { gint len = 0; gint seq_id = 0; @@ -2931,10 +2931,15 @@ static void srt_load_subtitle(int sid) // glade_xml_get_widget( info->main_window, "combobox_textsrt" ); // gtk_combo_box_set_active( GTK_COMBO_BOX( combo ), seq_id-1 ); + if(len > 0 ) + enable_widget( "SRTframe"); + srt_locked_ = 0; if(text) free(text); + + return seq_id; } void on_button_text_new_clicked( GtkWidget *w, gpointer data ) @@ -2974,6 +2979,7 @@ void on_button_text_new_clicked( GtkWidget *w, gpointer data ) free(text); if( id > 0 ) info->uc.reload_hint[HINT_HISTORY] = 1; + } void on_button_text_del_clicked( GtkWidget *w, gpointer data ) @@ -3109,7 +3115,10 @@ void on_combobox_textsrt_changed( GtkWidget *w, gpointer data) { multi_vims( VIMS_SRT_SELECT, "%d", sid ); srt_seq_ = sid; - srt_load_subtitle(sid); + gint res = srt_load_subtitle(sid); + char text[32]; + sprintf(text, "Edit SRT %d", res ); + update_label_str( "srtid_label", text ); } } diff --git a/veejay-current/veejay-client/src/gveejay.c b/veejay-current/veejay-client/src/gveejay.c index 97a4c908..b26354fe 100644 --- a/veejay-current/veejay-client/src/gveejay.c +++ b/veejay-current/veejay-client/src/gveejay.c @@ -41,7 +41,7 @@ static int gveejay_theme = 1; static int verbosity = 0; static int col = 0; static int row = 0; -static int n_tracks = 2; +static int n_tracks = 4; static int launcher = 0; static int pw = 176; static int ph = 144; diff --git a/veejay-current/veejay-client/src/tracksources.c b/veejay-current/veejay-client/src/tracksources.c index 021ac189..47cb0dfb 100644 --- a/veejay-current/veejay-client/src/tracksources.c +++ b/veejay-current/veejay-client/src/tracksources.c @@ -24,7 +24,7 @@ extern void veejay_release_track(int id, int release_this); extern void veejay_bind_track( int id, int bind_this ); extern int multitrack_get_sequence_view_id( void *data ); extern gchar *_utf8str( const char *c_str ); - +extern void set_widget_color( GtkWidget *widget , int red, int green, int blue, int def ); typedef struct { int track_id; @@ -60,15 +60,17 @@ static void cell_toggled_callback( GtkCellRenderer *cell, gchar *path_string, gp int id_data = -1; // invalid char junk[32]; - if(sscanf( data, "%s %d", junk,&id_data ) == 2 ) + if(sscanf( data, "%d", &id_data ) == 1 ) { if( gtk_cell_renderer_toggle_get_active( GTK_CELL_RENDERER_TOGGLE( cell) ) ) { veejay_release_track( v->track_id, id_data); +// set_widget_color( v->view, 0,255,0,0); } else { veejay_bind_track( v->track_id, id_data ); +// set_widget_color( v->view, 0,0,0,1 ); } g_free(data); } @@ -93,7 +95,7 @@ void update_track_view( int n_tracks, GtkWidget *widget, void *user_data ) if(id != i) { char name[12]; - sprintf(name,"Track %d", i); + sprintf(name,"%d", i); gchar *uname = _utf8str( name ); gtk_list_store_append( store, &iter ); gtk_list_store_set( @@ -148,11 +150,11 @@ void *create_track_view(int track_id, int ref_tracks, void *user_data) // GtkWidget *col = gtk_tree_view_get_column( GTK_TREE_VIEW(view) , 0 ); GtkTreeViewColumn *col = gtk_tree_view_get_column( GTK_TREE_VIEW(view),0); - gtk_tree_view_column_set_fixed_width( col , 20 ); + gtk_tree_view_column_set_fixed_width( col , 5 ); col = gtk_tree_view_get_column( GTK_TREE_VIEW( view ), 1 ); gtk_tree_view_column_set_clickable( col , TRUE ); - gtk_tree_view_column_set_fixed_width( col , 10 ); + gtk_tree_view_column_set_fixed_width( col , 20 ); gtk_tree_view_column_set_cell_data_func( col, wrenderer, cell_data_func, NULL,NULL); @@ -168,7 +170,7 @@ void *create_track_view(int track_id, int ref_tracks, void *user_data) if( i != track_id ) { char str[16]; - sprintf(str,"Track %d",i); + sprintf(str,"%d",i); gchar *ustr = _utf8str( str ); gtk_list_store_append( store, &iter ); gtk_list_store_set( store, &iter, diff --git a/veejay-current/veejay-client/src/vj-api.c b/veejay-current/veejay-client/src/vj-api.c index c58f0209..5f257e58 100644 --- a/veejay-current/veejay-client/src/vj-api.c +++ b/veejay-current/veejay-client/src/vj-api.c @@ -104,13 +104,15 @@ static struct {"Mouse left: Set in point, Mouse right: Set out point, Double click: Clear selected, Mouse middle: Drag selection"}, {"Mouse left/right: Play slot, Shift + Mouse left: Put sample in slot. You can also put selected samples."}, {"Mouse left click: Select slot (sample in slot), Mouse double click: Play sample in slot, Mouse left + SHIFT: Set slot as mixing current mixing channel"}, + {"Select a SRT sequence to edit"}, {NULL}, }; enum { TOOLTIP_TIMELINE = 0, TOOLTIP_QUICKSELECT = 1, - TOOLTIP_SAMPLESLOT = 2 + TOOLTIP_SAMPLESLOT = 2, + TOOLTIP_SRTSELECT = 3 }; enum @@ -4772,9 +4774,6 @@ static void reload_srt() gchar *p = srts; gchar *token = NULL; - if(len > 0 ) - enable_widget( "SRTframe"); - while( i < len ) { token = tokenize_on_space( p ); @@ -6621,6 +6620,9 @@ void vj_gui_init(char *glade_file, int launcher, char *hostname, int port_num, info->midi = vj_midi_new( info->main_window ); gettimeofday( &(info->time_last) , 0 ); + GtkWidget *srtbox = glade_xml_get_widget( info->main_window, "combobox_textsrt"); + set_tooltip_by_widget( srtbox, tooltips[TOOLTIP_SRTSELECT].text); + } void vj_gui_preview(void) @@ -7628,6 +7630,22 @@ static void indicate_sequence( gboolean active, sequence_gui_slot_t *slot ) /* -------------------------------------------------------------------------------------------------------------------------- * 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) { if(!info->selected_gui_slot || !info->selected_slot ) @@ -7838,5 +7856,8 @@ void veejay_release_track(int id, int release_this) void veejay_bind_track( int id, int bind_this ) { - multitrack_bind_track(info->mt, id, bind_this ); + multitrack_bind_track(info->mt, id, bind_this ); + info->uc.reload_hint[HINT_SLIST] =1; + + }