mirror of
https://github.com/game-stop/veejay.git
synced 2025-12-20 23:00:02 +01:00
status line is extended to 33 items, display loop count and loop stop in new labels a top of timeline. added new column in macros list view that displays VIMS descriptions
This commit is contained in:
@@ -17355,6 +17355,97 @@ YUV (current)</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox940">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label981">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Loop:</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||
<property name="width_chars">-1</property>
|
||||
<property name="single_line_mode">False</property>
|
||||
<property name="angle">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label_loop_stats">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">0</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||
<property name="width_chars">-1</property>
|
||||
<property name="single_line_mode">False</property>
|
||||
<property name="angle">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">4</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label_loop_stat_stop">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">1</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">False</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">False</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||
<property name="width_chars">-1</property>
|
||||
<property name="single_line_mode">False</property>
|
||||
<property name="angle">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">8</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">4</property>
|
||||
<property name="right_attach">5</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifndef GVRCOMMON_H
|
||||
#define GVRCOMMON_H
|
||||
#define STATUS_BYTES 150
|
||||
#define STATUS_TOKENS 32
|
||||
#define STATUS_TOKENS 34
|
||||
#define STATUS_LENGTH 512
|
||||
#define VEEJAY_CODENAME VERSION
|
||||
/* Status bytes */
|
||||
@@ -52,7 +52,9 @@
|
||||
#define FADE_METHOD 27
|
||||
#define FADE_ENTRY 28
|
||||
#define FADE_ALPHA 29
|
||||
#define SAMPLE_INV_COUNT 30
|
||||
#define SAMPLE_LOOP_STAT 30
|
||||
#define SAMPLE_LOOP_STAT_STOP 31
|
||||
#define SAMPLE_INV_COUNT 32
|
||||
#define CURRENT_ENTRY 15
|
||||
#define MODE_PLAIN 2
|
||||
#define MODE_SAMPLE 0
|
||||
|
||||
@@ -357,7 +357,7 @@ static int veejay_process_status( veejay_preview_t *vp, veejay_track_t *v )
|
||||
if( k == -1 && v->is_master )
|
||||
reloaded_schedule_restart();
|
||||
|
||||
veejay_memset( v->status_tokens,0, sizeof(sizeof(int) * STATUS_TOKENS));
|
||||
veejay_memset( v->status_tokens,0, sizeof(int) * STATUS_TOKENS);
|
||||
status_to_arr( (char*) v->status_buffer, v->status_tokens );
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
int status_to_arr( char *status, int *array )
|
||||
{
|
||||
int n = sscanf(status, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
|
||||
int n = sscanf(status, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
|
||||
array + 0,
|
||||
array + 1,
|
||||
array + 2,
|
||||
@@ -59,7 +59,9 @@ int status_to_arr( char *status, int *array )
|
||||
array + 27,
|
||||
array + 28,
|
||||
array + 29,
|
||||
array + 30 );
|
||||
array + 30,
|
||||
array + 31,
|
||||
array + 32 );
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
@@ -540,6 +540,7 @@ enum {
|
||||
MACRO_LOOP = 2,
|
||||
MACRO_MSG_SEQ = 3,
|
||||
MACRO_VIMS = 4,
|
||||
MACRO_VIMS_DESCR = 5,
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -1237,7 +1238,7 @@ gboolean vims_macro_selection_func( GtkTreeSelection *sel, GtkTreeModel *model,
|
||||
gtk_tree_model_get( model, &iter, MACRO_MSG_SEQ, &seq_no, -1);
|
||||
gtk_tree_model_get( model, &iter, MACRO_LOOP, &loop_num, -1);
|
||||
gtk_tree_model_get( model, &iter, MACRO_VIMS, &message, -1 );
|
||||
|
||||
|
||||
macro_line[0] = frame_num;
|
||||
macro_line[1] = dup_num;
|
||||
macro_line[2] = loop_num;
|
||||
@@ -1256,7 +1257,7 @@ gboolean vims_macro_selection_func( GtkTreeSelection *sel, GtkTreeModel *model,
|
||||
static void setup_macros()
|
||||
{
|
||||
GtkWidget *tree = glade_xml_get_widget_( info->main_window, "macro_macros" );
|
||||
GtkListStore *store = gtk_list_store_new( 5, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING );
|
||||
GtkListStore *store = gtk_list_store_new( 6, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING );
|
||||
|
||||
gtk_tree_view_set_model( GTK_TREE_VIEW(tree), GTK_TREE_MODEL(store) );
|
||||
GtkTreeSelection *sel = gtk_tree_view_get_selection( GTK_TREE_VIEW(tree) );
|
||||
@@ -1270,6 +1271,7 @@ static void setup_macros()
|
||||
setup_tree_text_column( "macro_macros", MACRO_LOOP, "Loop",0);
|
||||
setup_tree_text_column( "macro_macros", MACRO_MSG_SEQ, "#",0);
|
||||
setup_tree_text_column( "macro_macros", MACRO_VIMS, "VIMS Message",0);
|
||||
setup_tree_text_column( "macro_macros", MACRO_VIMS_DESCR, "Description",0);
|
||||
}
|
||||
|
||||
#define SAMPLE_MAX_PARAMETERS 32
|
||||
@@ -2988,9 +2990,9 @@ static void update_label_i(const char *name, int num, int prefix)
|
||||
}
|
||||
char str[20];
|
||||
if(prefix)
|
||||
g_snprintf( str,20, "%09d", num );
|
||||
g_snprintf( str,sizeof(str), "%09d", num );
|
||||
else
|
||||
g_snprintf( str,20, "%d", num );
|
||||
g_snprintf( str,sizeof(str), "%d", num );
|
||||
gchar *utf8_value = _utf8str( str );
|
||||
gtk_label_set_text( GTK_LABEL(label), utf8_value);
|
||||
g_free( utf8_value );
|
||||
@@ -5908,7 +5910,7 @@ void reload_macros()
|
||||
return;
|
||||
|
||||
GtkTreeModel *model = gtk_tree_view_get_model( GTK_TREE_VIEW(tree ));
|
||||
store = GTK_LIST_STORE(model);
|
||||
store = GTK_LIST_STORE(model);
|
||||
|
||||
gchar *ptr = answer;
|
||||
|
||||
@@ -5931,14 +5933,20 @@ void reload_macros()
|
||||
ptr += (8 + 2 + 8 + 2 + 3);
|
||||
|
||||
char *msg = strndup( ptr, msg_len );
|
||||
|
||||
int vims_id = -1;
|
||||
n = sscanf(msg,"%03d:", &vims_id);
|
||||
char *descr = NULL;
|
||||
if( vims_id >= 0 && vims_id < VIMS_QUIT )
|
||||
descr = vj_event_list[vims_id].descr;
|
||||
|
||||
gtk_list_store_append( store, &iter );
|
||||
gtk_list_store_set(store, &iter,
|
||||
gtk_list_store_set(store, &iter,
|
||||
MACRO_FRAME, (guint) frame_num,
|
||||
MACRO_DUP, (guint) at_dup,
|
||||
MACRO_LOOP, (guint) at_loop,
|
||||
MACRO_MSG_SEQ, (guint) at_seq,
|
||||
MACRO_VIMS, msg,
|
||||
MACRO_VIMS_DESCR, (descr == NULL ? "Unknown": descr),
|
||||
-1 );
|
||||
|
||||
ptr += msg_len;
|
||||
@@ -6872,6 +6880,7 @@ static void update_globalinfo(int *history, int pm, int last_pm)
|
||||
{
|
||||
info->uc.reload_hint[HINT_ENTRY] = 1;
|
||||
info->uc.reload_hint[HINT_CHAIN] = 1;
|
||||
info->uc.reload_hint[HINT_MACRO] = 1;
|
||||
|
||||
if( pm != MODE_STREAM )
|
||||
info->uc.reload_hint[HINT_EL] = 1;
|
||||
@@ -6919,6 +6928,14 @@ static void update_globalinfo(int *history, int pm, int last_pm)
|
||||
info->uc.real_num_streams = n_streams;
|
||||
}
|
||||
|
||||
if( info->status_tokens[SAMPLE_LOOP_STAT_STOP] != history[SAMPLE_LOOP_STAT_STOP] ) {
|
||||
update_label_i( "label_loop_stat_stop", info->status_tokens[SAMPLE_LOOP_STAT_STOP],0);
|
||||
}
|
||||
if( info->status_tokens[SAMPLE_LOOP_STAT ] != history[SAMPLE_LOOP_STAT] ) {
|
||||
update_label_i( "label_loop_stats", info->status_tokens[SAMPLE_LOOP_STAT], 0);
|
||||
}
|
||||
|
||||
|
||||
if( info->status_tokens[SEQ_ACT] != history[SEQ_ACT] )
|
||||
{
|
||||
info->uc.reload_hint[HINT_SEQ_ACT] = 1;
|
||||
@@ -8227,7 +8244,6 @@ int vj_gui_reconnect(char *hostname,char *group_name, int port_num)
|
||||
reload_vimslist();
|
||||
reload_editlist_contents();
|
||||
reload_bundles();
|
||||
reload_macros();
|
||||
|
||||
set_feedback_status();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user