fixes to reloaded

This commit is contained in:
niels
2015-10-31 22:11:27 +01:00
parent 79fc819b45
commit f61833657a
4 changed files with 282 additions and 260 deletions

View File

@@ -869,8 +869,8 @@
<property name="label" translatable="yes">Average</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="has_default">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="active">True</property>
@@ -3666,7 +3666,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<widget class="GtkHBox" id="hbox849">
<widget class="GtkHBox" id="fxanimcontrols">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
@@ -3791,7 +3791,7 @@
<property name="tooltip" translatable="yes">Clear selected parameter</property>
<signal name="clicked" handler="on_curve_clear_parameter_clicked" />
<child>
<widget class="GtkImage" id="image2521">
<widget class="GtkImage" id="image17">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">icon_clear.png</property>
@@ -3804,7 +3804,6 @@
<property name="position">3</property>
</packing>
</child>
</widget>
<packing>
<property name="expand">True</property>
@@ -3827,113 +3826,24 @@
<widget class="GtkTable" id="table88">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_columns">8</property>
<property name="n_columns">9</property>
<child>
<widget class="GtkRadioButton" id="kf_p0">
<property name="label" translatable="yes">0</property>
<widget class="GtkRadioButton" id="kf_none">
<property name="label" translatable="yes">None</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="relief">half</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="yalign">0.47999998927116394</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_kf_p0_toggled" />
<signal name="toggled" handler="on_kf_none_toggled" />
</widget>
<packing>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p2">
<property name="label" translatable="yes">2</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<signal name="toggled" handler="on_kf_p2_toggled" />
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p3">
<property name="label" translatable="yes">3</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<signal name="toggled" handler="on_kf_p3_toggled" />
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p4">
<property name="label" translatable="yes">4</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<signal name="toggled" handler="on_kf_p4_toggled" />
</widget>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p5">
<property name="label" translatable="yes">5</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<signal name="toggled" handler="on_kf_p5_toggled" />
</widget>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p6">
<property name="label" translatable="yes">6</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<signal name="toggled" handler="on_kf_p6_toggled" />
</widget>
<packing>
<property name="left_attach">6</property>
<property name="right_attach">7</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p7">
<property name="label" translatable="yes">7</property>
@@ -3942,9 +3852,27 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p7_toggled" />
</widget>
<packing>
<property name="left_attach">8</property>
<property name="right_attach">9</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p6">
<property name="label" translatable="yes">6</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p6_toggled" />
</widget>
<packing>
<property name="left_attach">7</property>
<property name="right_attach">8</property>
@@ -3952,6 +3880,78 @@
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p5">
<property name="label" translatable="yes">5</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p5_toggled" />
</widget>
<packing>
<property name="left_attach">6</property>
<property name="right_attach">7</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p4">
<property name="label" translatable="yes">4</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p4_toggled" />
</widget>
<packing>
<property name="left_attach">5</property>
<property name="right_attach">6</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p3">
<property name="label" translatable="yes">3</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p3_toggled" />
</widget>
<packing>
<property name="left_attach">4</property>
<property name="right_attach">5</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p2">
<property name="label" translatable="yes">2</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p2_toggled" />
</widget>
<packing>
<property name="left_attach">3</property>
<property name="right_attach">4</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p1">
<property name="label" translatable="yes">1</property>
@@ -3960,9 +3960,27 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p1_toggled" />
</widget>
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p0">
<property name="label" translatable="yes">0</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_none</property>
<signal name="toggled" handler="on_kf_p0_toggled" />
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
@@ -3982,6 +4000,9 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_columns">8</property>
<child>
<placeholder/>
</child>
<child>
<widget class="GtkRadioButton" id="kf_p8">
<property name="label" translatable="yes">8</property>
@@ -3990,7 +4011,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
</widget>
<packing>
<property name="x_options"/>
@@ -4005,7 +4026,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p9_toggled" />
</widget>
<packing>
@@ -4023,7 +4044,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p10_toggled" />
</widget>
<packing>
@@ -4041,7 +4062,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p11_toggled" />
</widget>
<packing>
@@ -4059,7 +4080,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p12_toggled" />
</widget>
<packing>
@@ -4077,7 +4098,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p13_toggled" />
</widget>
<packing>
@@ -4095,7 +4116,7 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p14_toggled" />
</widget>
<packing>
@@ -4113,17 +4134,16 @@
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="group">kf_p0</property>
<property name="group">kf_none</property>
<signal name="group_changed" handler="on_kf_p15_toggled" />
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="left_attach">8</property>
<property name="right_attach">9</property>
<property name="x_options"/>
<property name="y_options"/>
</packing>
</child>
</widget>
<packing>
<property name="expand">True</property>
@@ -10610,6 +10630,27 @@ YUV (current)</property>
<property name="position">5</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="toggle_subrender">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip" translatable="yes">Toggle rendering of FX chain on mixing sources</property>
<signal name="clicked" handler="toggle_subrender_clicked" />
<child>
<widget class="GtkImage" id="image18">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">icon_render.png</property>
</widget>
</child>
</widget>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">6</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="button_fx_clearchain">
<property name="visible">True</property>
@@ -10630,27 +10671,6 @@ YUV (current)</property>
<property name="fill">False</property>
<property name="padding">60</property>
<property name="position">7</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="toggle_subrender">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip" translatable="yes">Toggle rendering of FX chain on mixing sources</property>
<signal name="clicked" handler="toggle_subrender_clicked" />
<child>
<widget class="GtkImage" id="image591">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixbuf">icon_render.png</property>
</widget>
</child>
</widget>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">6</property>
</packing>
</child>
</widget>
@@ -12586,6 +12606,24 @@ YUV (current)</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<widget class="GtkButton" id="inputstream_close">
<property name="visible">True</property>

View File

@@ -585,7 +585,8 @@ info->parameter_lock = 0;\
#define kf_changed( arg_num ) \
{\
if(!info->status_lock && arg_num != info->uc.selected_parameter_id)\
enable_widget("fxanimcontrols");\
if(arg_num != info->uc.selected_parameter_id)\
{\
vj_kf_select_parameter(arg_num);\
}\
@@ -2201,14 +2202,22 @@ void on_sync_correction_clicked( GtkWidget *w, gpointer data )
void on_curve_clear_parameter_clicked( GtkWidget *widget, gpointer user_data )
{
if( info->uc.selected_parameter_id == -1 )
return;
multi_vims( VIMS_SAMPLE_KF_CLEAR, "%d %d", info->uc.selected_chain_entry, info->uc.selected_parameter_id );
info->uc.reload_hint[HINT_KF] = 1;
reset_curve( glade_xml_get_widget_(info->main_window, "curve") );
}
void on_curve_buttonstore_clicked(GtkWidget *widget, gpointer user_data )
{
int i = info->uc.selected_chain_entry;
int j = info->uc.selected_parameter_id;
if( j == -1 ) {
vj_msg(VEEJAY_MSG_INFO,"No parameter selected for animation");
return;
}
int id = info->uc.entry_tokens[ENTRY_FXID];
int end = get_nums( "curve_spinend" );
@@ -2272,6 +2281,9 @@ void on_curve_buttonstore_clicked(GtkWidget *widget, gpointer user_data )
free(buf);
free(data);
info->uc.reload_hint[HINT_KF] = 1;
}
void on_curve_buttonclear_clicked(GtkWidget *widget, gpointer user_data)
@@ -2280,8 +2292,8 @@ void on_curve_buttonclear_clicked(GtkWidget *widget, gpointer user_data)
if( id < 0 )
id = 0;
int i = info->uc.selected_chain_entry;
GtkWidget *curve = glade_xml_get_widget_( info->main_window, "curve");
reset_curve( curve );
// GtkWidget *curve = glade_xml_get_widget_( info->main_window, "curve");
vj_kf_refresh();
multi_vims( VIMS_SAMPLE_KF_RESET, "%d", i );
}
@@ -2331,19 +2343,16 @@ void on_curve_typefreehand_toggled(GtkWidget *widget, gpointer user_data)
void on_curve_toggleentry_toggled( GtkWidget *widget, gpointer user_data)
{
int k = is_button_toggled( "curve_toggleentry" );
GtkTreeModel *model = gtk_tree_view_get_model( GTK_TREE_VIEW(glade_xml_get_widget_(
info->main_window, "tree_chain") ));
gtk_tree_model_foreach(
model,
chain_update_row, (gpointer*) info );
info->uc.reload_hint[HINT_ENTRY] = 1;
if(info->status_lock)
return;
int i = info->uc.selected_chain_entry;
if( i == -1 ) {
vj_msg(VEEJAY_MSG_INFO,"No parameter selected for animation");
return;
}
int k = is_button_toggled( "curve_toggleentry" );
int type = 0;
if( is_button_toggled("curve_typespline")) {
type = 1;
@@ -2356,108 +2365,82 @@ void on_curve_toggleentry_toggled( GtkWidget *widget, gpointer user_data)
multi_vims( VIMS_SAMPLE_KF_STATUS, "%d %d %d", i, k,type );
}
void on_kf_p0_toggled( GtkWidget *widget, gpointer user_data)
void on_kf_none_toggled( GtkWidget widget, gpointer user_data)
{
info->uc.selected_parameter_id = -1;
disable_widget( "fxanimcontrols" );
if(info->status_lock)
return;
vj_kf_reset();
}
void on_kf_p0_toggled( GtkWidget *widget, gpointer user_data)
{
if(is_button_toggled("kf_p0"))
kf_changed( 0 );
}
void on_kf_p1_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p1"))
kf_changed( 1 );
}
void on_kf_p2_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p2"))
kf_changed( 2 );
}
void on_kf_p3_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p3"))
kf_changed( 3 );
}
void on_kf_p4_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p4"))
kf_changed( 4 );
}
void on_kf_p5_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p5"))
kf_changed( 5 );
}
void on_kf_p6_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p6"))
kf_changed( 6 );
}
void on_kf_p7_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p7"))
kf_changed( 7 );
}
void on_kf_p8_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p8"))
kf_changed( 8 );
}
void on_kf_p9_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p9"))
kf_changed( 9 );
}
void on_kf_p10_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p10"))
kf_changed( 10 );
}
void on_kf_p11_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p11"))
kf_changed( 11 );
}
void on_kf_p12_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p12"))
kf_changed( 12 );
}
@@ -2465,9 +2448,6 @@ void on_kf_p12_toggled( GtkWidget *widget, gpointer user_data)
void on_kf_p13_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p13"))
kf_changed( 13 );
}
@@ -2475,18 +2455,12 @@ void on_kf_p13_toggled( GtkWidget *widget, gpointer user_data)
void on_kf_p14_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p14"))
kf_changed( 14 );
}
void on_kf_p15_toggled( GtkWidget *widget, gpointer user_data)
{
if(info->status_lock)
return;
if( is_button_toggled("kf_p15"))
kf_changed( 15 );
}

View File

@@ -24,9 +24,6 @@
#include <src/vj-api.h>
#include <stdlib.h>
#include "curve.h"
#ifdef STRICT_CHECKING
#include <assert.h>
#endif
void get_points_from_curve( GtkWidget *curve, int len, float *vec )
{
gtk_curve_get_vector( GTK_CURVE(curve), len, vec );
@@ -53,13 +50,9 @@ int set_points_in_curve_ext( GtkWidget *curve, unsigned char *blob, int id, int
int len = end - start;
int i;
int min = 0, max = 0;
#ifdef STRICT_CHECKING
assert( fx_entry == entry );
#endif
if(n != 5 || len <= 0 )
{
veejay_msg(0, "Error parsing FX Anim KF header");
return -1;
}
@@ -78,8 +71,6 @@ int set_points_in_curve_ext( GtkWidget *curve, unsigned char *blob, int id, int
float top = 1.0 / (float) max;
float val = ( (float)value * top );
veejay_msg(4, "Load FX Anim position %d, value %f", i, val );
vec[k] = val;
k++;
}

View File

@@ -164,9 +164,9 @@ enum
ENTRY_ISVIDEO = 1,
ENTRY_NUM_PARAMETERS = 2,
ENTRY_KF_TYPE = 3,
ENTRY_KF_STATUS = 4,
ENTRY_KF_START = 5,
ENTRY_KF_END = 6,
ENTRY_KF_START = 4,
ENTRY_KF_END = 5,
ENTRY_KF_STATUS = 6,
ENTRY_SOURCE = 7,
ENTRY_CHANNEL = 8,
ENTRY_VIDEO_ENABLED = 9,
@@ -185,8 +185,8 @@ enum
ENTRY_P12 = 22,
ENTRY_P13 = 23,
ENTRY_P14 = 24,
ENTRY_P15 = 25,
ENTRY_LAST = 26
ENTRY_P15 = 26,
ENTRY_LAST = 27
};
#define ENTRY_PARAMSET ENTRY_P0
@@ -658,6 +658,9 @@ static void set_textview_buffer(const char *name, gchar *utf8text);
void interrupt_cb();
int get_and_draw_frame(int type, char *wid_name);
GdkPixbuf *vj_gdk_pixbuf_scale_simple( GdkPixbuf *src, int dw, int dh, GdkInterpType inter_type );
static void vj_kf_refresh();
static void vj_kf_reset();
static int vj_kf_is_displayed();
void reset_cali_images( int type, char *wid_name );
@@ -682,18 +685,12 @@ GtkWidget *glade_xml_get_widget_( GladeXML *m, const char *name )
}
void gtk_notebook_set_current_page__( GtkWidget *w, gint num, const char *f, int line )
{
#ifdef STRICT_CHECKING
veejay_msg(0, "%s: %d from %s:%d", __FUNCTION__, num,f,line);
#endif
gtk_notebook_set_current_page( GTK_NOTEBOOK(w), num );
}
void gtk_widget_set_size_request__( GtkWidget *w, gint iw, gint h, const char *f, int line )
{
#ifdef STRICT_CHECKING
// veejay_msg(0, "%s: %dx%d from %s:%d", __FUNCTION__, iw,h,f,line);
#endif
gtk_widget_set_size_request(w, iw, h );
}
@@ -2295,19 +2292,35 @@ static int get_slider_val(const char *name)
return ((gint)GTK_ADJUSTMENT(GTK_RANGE(w)->adjustment)->value);
}
static void vj_kf_refresh()
static void vj_kf_reset()
{
GtkWidget *curve = glade_xml_get_widget_(info->main_window, "curve");
reset_curve( curve );
set_toggle_button( "curve_toggleentry", 0 );
update_label_str( "curve_parameter",FX_PARAMETER_DEFAULT_NAME);
}
update_curve_accessibility("curve");
update_curve_widget("curve");
static int vj_kf_is_displayed()
{
GtkWidget *ww = glade_xml_get_widget_( info->main_window, crappy_design[ui_skin_].name );
int deckpage = gtk_notebook_get_current_page(GTK_NOTEBOOK(ww));
if(deckpage == 1)
return 1;
return 0;
}
static void vj_kf_refresh()
{
int *entry_tokens = &(info->uc.entry_tokens[0]);
gchar *name = _utf8str(_effect_get_param_description(entry_tokens[ENTRY_FXID],info->uc.selected_parameter_id));
update_label_str( "curve_parameter", name );
g_free(name);
if( entry_tokens[ENTRY_FXID] > 0 ) {
enable_widget( "frame_fxtree3" );
}
else {
set_toggle_button( "curve_toggleentry", 0 );
disable_widget( "frame_fxtree3" );
vj_kf_reset();
}
}
static void vj_kf_select_parameter(int num)
@@ -2318,10 +2331,18 @@ static void vj_kf_select_parameter(int num)
update_label_str( "curve_parameter", FX_PARAMETER_DEFAULT_NAME);
return;
}
int *entry_tokens = &(info->uc.entry_tokens[0]);
info->uc.selected_parameter_id = num;
vj_kf_refresh();
gchar *name = _utf8str(_effect_get_param_description(entry_tokens[ENTRY_FXID],info->uc.selected_parameter_id));
update_label_str( "curve_parameter", name );
g_free(name);
set_toggle_button( "curve_toggleentry", entry_tokens[ENTRY_KF_STATUS]);
reset_curve( glade_xml_get_widget_(info->main_window, "curve"));
update_curve_widget("curve");
}
static void update_curve_widget(const char *name)
@@ -2334,6 +2355,7 @@ static void update_curve_widget(const char *name)
int blen = 0;
int lo = 0, hi = 0, curve_type=0;
int p = -1;
multi_vims( VIMS_SAMPLE_KF_GET, "%d %d",i,info->uc.selected_parameter_id );
unsigned char *blob = (unsigned char*) recv_vims( 8, &blen );
@@ -2342,9 +2364,6 @@ static void update_curve_widget(const char *name)
p = set_points_in_curve_ext( curve, blob,id,i, &lo,&hi, &curve_type );
if( p >= 0 )
{
char but[25];
sprintf(but, "kf_p%d", p);
set_toggle_button( but, 1 );
info->uc.selected_parameter_id = p;
switch( curve_type ) {
case GTK_CURVE_TYPE_SPLINE: set_toggle_button( "curve_typespline", 1 );break;
@@ -2826,9 +2845,8 @@ static GdkPixbuf *update_pixmap_kf( int status )
{
char path[MAX_PATH_LEN];
char filename[MAX_PATH_LEN];
veejay_memset( filename, 0,sizeof(filename));
sprintf(filename, "fx_entry_%s.png", ( status == 1 ? "on" : "off" ));
snprintf(filename,sizeof(filename), "fx_entry_%s.png", ( status == 1 ? "on" : "off" ));
get_gd(path,NULL, filename);
GError *error = NULL;
@@ -2841,9 +2859,8 @@ static GdkPixbuf *update_pixmap_entry( int status )
{
char path[MAX_PATH_LEN];
char filename[MAX_PATH_LEN];
veejay_memset( filename,0,sizeof(filename));
sprintf(filename, "fx_entry_%s.png", ( status == 1 ? "on" : "off" ));
snprintf(filename,sizeof(filename), "fx_entry_%s.png", ( status == 1 ? "on" : "off" ));
get_gd(path,NULL, filename);
GError *error = NULL;
@@ -2885,9 +2902,8 @@ chain_update_row(GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter,
snprintf(tmp,sizeof(tmp),"%s"," ");
}
gchar *mixing = _utf8str(tmp);
int on = gui->uc.entry_tokens[ENTRY_VIDEO_ENABLED];
GdkPixbuf *toggle = update_pixmap_entry( gui->uc.entry_tokens[ENTRY_VIDEO_ENABLED] );
GdkPixbuf *kf_toggle = update_pixmap_kf( on );
GdkPixbuf *kf_toggle = update_pixmap_kf( gui->uc.entry_tokens[ENTRY_KF_STATUS] );
gtk_list_store_set( GTK_LIST_STORE(model),iter,
FXC_ID, entry,
FXC_FXID, descr,
@@ -2930,16 +2946,18 @@ static void update_record_tab(int pm)
}
}
static void update_current_slot(int *history, int pm, int last_pm)
{
gint update = 0;
gint fx_anim = 0;
if( pm != last_pm || info->status_tokens[CURRENT_ID] != history[CURRENT_ID] )
{
int k;
info->uc.reload_hint[HINT_ENTRY] = 1;
info->uc.reload_hint[HINT_CHAIN] = 1;
info->uc.reload_hint[HINT_KF] = 1;
update = 1;
update_record_tab( pm );
@@ -2973,8 +2991,7 @@ static void update_current_slot(int *history, int pm, int last_pm)
put_text( "entry_samplename", "" );
set_pm_page_label( info->status_tokens[CURRENT_ID], pm );
//HERE
fx_anim = 1;
}
if( info->status_tokens[CURRENT_ENTRY] != history[CURRENT_ENTRY] ||
info->uc.reload_hint[HINT_ENTRY] == 1 )
@@ -2984,7 +3001,7 @@ static void update_current_slot(int *history, int pm, int last_pm)
info->uc.selected_chain_entry = 0;
info->uc.reload_hint[HINT_ENTRY] = 1;
load_parameter_info();
info->uc.reload_hint[HINT_KF] = 1;
fx_anim = 1;
}
/* Actions for stream */
@@ -3006,7 +3023,7 @@ static void update_current_slot(int *history, int pm, int last_pm)
char *time = format_time( info->status_frame,(double)info->el.fps );
update_label_str( "label_curtime", time );
free(time);
fx_anim = 1;
update_label_str( "playhint", "Streaming");
}
@@ -3014,6 +3031,9 @@ static void update_current_slot(int *history, int pm, int last_pm)
if( ( info->status_tokens[CURRENT_ID] != history[CURRENT_ID] || last_pm != pm) && pm == MODE_SAMPLE )
{
int marker_go = 0;
fx_anim = 1;
/* Update marker bounds */
if( (history[SAMPLE_MARKER_START] != info->status_tokens[SAMPLE_MARKER_START]) )
{
@@ -3147,7 +3167,6 @@ static void update_current_slot(int *history, int pm, int last_pm)
update_spin_range( "spin_text_start", 0, n_frames ,0);
update_spin_range( "spin_text_end", 0, n_frames,n_frames );
info->uc.reload_hint[HINT_KF] = 1;
}
}
@@ -3159,6 +3178,10 @@ static void update_current_slot(int *history, int pm, int last_pm)
update_slider_value( "manualopacity", val,0 );
}
if( fx_anim ) {
set_toggle_button("kf_none",1);
reset_curve(glade_xml_get_widget(info->main_window, "curve"));
}
}
@@ -3458,7 +3481,6 @@ on_dev_edited (GtkCellRendererText *celltext,
g_warning("in %s: problem converting string '%s' into float.\n", __FUNCTION__, new_text);
gtk_list_store_set(GTK_LIST_STORE(model), &iter, V4L_SPINBOX, newval, -1);
}
@@ -3675,7 +3697,6 @@ static void load_effectchain_info()
GtkWidget *tree = glade_xml_get_widget_( info->main_window, "tree_chain");
GtkListStore *store;
gchar toggle[4];
gchar kf_toggle[4];
guint arr[6];
GtkTreeIter iter;
gint offset=0;
@@ -3708,17 +3729,16 @@ static void load_effectchain_info()
while( offset < fxlen )
{
veejay_memset(toggle,0,sizeof(toggle));
veejay_memset(kf_toggle,0,sizeof(kf_toggle));
veejay_memset(arr,0,sizeof(arr));
char line[12];
veejay_memset(arr,0,sizeof(arr));
veejay_memset(line,0,sizeof(line));
strncpy( line, fxtext + offset, 8 );
sscanf( line, "%02d%03d%1d%1d%1d",
&arr[0],&arr[1],&arr[2],&arr[3],&arr[4]);
char *name = _effect_get_description( arr[1] );
sprintf(toggle,"%s",arr[3] == 1 ? "on" : "off" );
snprintf(toggle,sizeof(toggle),"%s",arr[3] == 1 ? "on" : "off" );
while( last_index < arr[0] )
{
@@ -3740,21 +3760,20 @@ static void load_effectchain_info()
}
gchar *mixing = _utf8str(tmp);
int on = info->uc.entry_tokens[ENTRY_VIDEO_ENABLED];
gtk_list_store_append( store, &iter );
GdkPixbuf *toggle = update_pixmap_entry( arr[3] );
GdkPixbuf *kf_toggle = update_pixmap_kf( on );
GdkPixbuf *toggle = update_pixmap_entry( info->uc.entry_tokens[ENTRY_VIDEO_ENABLED] );
GdkPixbuf *kf_togglepf = update_pixmap_kf( info->uc.entry_tokens[ENTRY_KF_STATUS] );
gtk_list_store_set( store, &iter,
FXC_ID, arr[0],
FXC_FXID, utf8_name,
FXC_FXSTATUS, toggle,
FXC_KF, kf_toggle,
FXC_KF, kf_togglepf,
FXC_MIXING,mixing, -1 );
last_index ++;
g_free(utf8_name);
g_free(mixing);
g_object_unref( toggle );
g_object_unref( kf_toggle );
g_object_unref( kf_togglepf );
}
offset += 8;
}