int x1 = 0;
int y1 = PatchGUI::update(x, y);
+ int y2 = y1 + mwindow->theme->fade_h;
if( fade ) {
- if( h - y1 < mwindow->theme->fade_h ) {
- delete fade;
- fade = 0;
+ if( h < y2 ) {
+ delete fade; fade = 0;
}
else {
fade->update(fade->get_w(), mwindow->get_float_auto(this, AUTOMATION_FADE)->get_value(),
mwindow->edl->local_session->automation_maxs[AUTOGROUPTYPE_VIDEO_FADE]);
}
}
- else
- if( h - y1 >= mwindow->theme->fade_h ) {
+ else if( h >= y2 ) {
patchbay->add_subwindow(fade = new VFadePatch(mwindow, this, x1+x, y1+y,
patchbay->get_w() - 10));
}
- y1 += mwindow->theme->fade_h;
+ y1 = y2;
+ y2 = y1 + mwindow->theme->mode_h;
if( mode ) {
- if( h - y1 < mwindow->theme->mode_h ) {
+ if( h < y2 ) {
delete mix; mix = 0;
delete mode; mode = 0;
delete nudge; nudge = 0;
nudge->update();
}
}
- else
- if( h - y1 >= mwindow->theme->mode_h ) {
+ else if( h >= y2 ) {
patchbay->add_subwindow(mix = new VMixPatch(mwindow, this, x1+x, y1+y+5));
x1 += mix->get_w();
patchbay->add_subwindow(mode = new VModePatch(mwindow, this, x1+x, y1+y));
patchbay->add_subwindow(nudge = new NudgePatch(mwindow, this, x1+x, y1+y,
patchbay->get_w() - x1-x - 10));
}
+ y1 = y2;
- y1 += mwindow->theme->mode_h;
return y1;
}
-
void VPatchGUI::synchronize_fade(float value_change)
{
if( fade && !change_source ) {