projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add refresh on release to scopewindow
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
pluginlv2ui.C
diff --git
a/cinelerra-5.1/cinelerra/pluginlv2ui.C
b/cinelerra-5.1/cinelerra/pluginlv2ui.C
index 17f072a2c6bf63b6c5960f21d7c364aa10e5199c..80bf250f1e2c7921c8ac23c9ac2fc1bb8f46deab 100644
(file)
--- a/
cinelerra-5.1/cinelerra/pluginlv2ui.C
+++ b/
cinelerra-5.1/cinelerra/pluginlv2ui.C
@@
-114,6
+114,7
@@
bool PluginLV2UI::lv2ui_resizable()
return !fs_matches && !nrs_matches;
}
return !fs_matches && !nrs_matches;
}
+//force= 1:ctls(all),gui(all) 0:changed(ctls) -1:gui(all)
int PluginLV2UI::update_lv2_input(float *vals, int force)
{
int ret = 0;
int PluginLV2UI::update_lv2_input(float *vals, int force)
{
int ret = 0;
@@
-122,9
+123,12
@@
int PluginLV2UI::update_lv2_input(float *vals, int force)
int idx = config[i]->idx;
float val = vals[idx];
if( !force && ctls[idx] == val ) continue;
int idx = config[i]->idx;
float val = vals[idx];
if( !force && ctls[idx] == val ) continue;
- ctls[idx] = val;
- update_control(idx, sizeof(ctls[idx]), 0, &ctls[idx]);
- ++ret;
+ if( force >= 0 ) {
+ ctls[idx] = val;
+ ++ret;
+ }
+ if( force )
+ update_control(idx, sizeof(val), 0, &val);
}
return ret;
}
}
return ret;
}
@@
-328,10
+332,14
@@
int PluginLV2ChildUI::child_iteration(int64_t usec)
float *vals = (float *)child_data;
update_lv2_input(vals, 1);
break; }
float *vals = (float *)child_data;
update_lv2_input(vals, 1);
break; }
- case LV2_
UPDATE
: {
+ case LV2_
CONFIG
: {
float *vals = (float *)child_data;
update_lv2_input(vals, 0);
break; }
float *vals = (float *)child_data;
update_lv2_input(vals, 0);
break; }
+ case LV2_UPDATE: {
+ float *vals = (float *)child_data;
+ update_lv2_input(vals, -1);
+ break; }
case LV2_SHOW: {
start_gui();
break; }
case LV2_SHOW: {
start_gui();
break; }