make regions transparent during fade-handle drags
* during drag and trim operations, we use "dragging region" transparency so you can see the audio data beneath your region(s) * we already do this for region-end-trim fade drags, which is a special kind of trim operation, accessed from the 'lower' drag handle * now we also trigger transparency for regular fade trims. see discussion at: https://discourse.ardour.org/t/regions-transparency-in-7-2/108060/31
This commit is contained in:
parent
5be4674adb
commit
4de53fa600
|
@ -4046,7 +4046,7 @@ FadeInDrag::setup_pointer_offset ()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
FadeInDrag::motion (GdkEvent* event, bool)
|
FadeInDrag::motion (GdkEvent* event, bool first_motion)
|
||||||
{
|
{
|
||||||
|
|
||||||
timepos_t tpos (timepos_t (_editor->canvas_event_sample (event)) + snap_delta (event->button.state));
|
timepos_t tpos (timepos_t (_editor->canvas_event_sample (event)) + snap_delta (event->button.state));
|
||||||
|
@ -4075,6 +4075,10 @@ FadeInDrag::motion (GdkEvent* event, bool)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (first_motion) {
|
||||||
|
tmp->drag_start ();
|
||||||
|
}
|
||||||
|
|
||||||
tmp->reset_fade_in_shape_width (tmp->audio_region(), fade_length);
|
tmp->reset_fade_in_shape_width (tmp->audio_region(), fade_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4116,6 +4120,8 @@ FadeInDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp->drag_end ();
|
||||||
|
|
||||||
boost::shared_ptr<AutomationList> alist = tmp->audio_region()->fade_in();
|
boost::shared_ptr<AutomationList> alist = tmp->audio_region()->fade_in();
|
||||||
XMLNode &before = alist->get_state();
|
XMLNode &before = alist->get_state();
|
||||||
|
|
||||||
|
@ -4145,6 +4151,8 @@ FadeInDrag::aborted (bool)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp->drag_end ();
|
||||||
|
|
||||||
tmp->reset_fade_in_shape_width (tmp->audio_region(), tmp->audio_region()->fade_in()->back()->when.samples());
|
tmp->reset_fade_in_shape_width (tmp->audio_region(), tmp->audio_region()->fade_in()->back()->when.samples());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4177,7 +4185,7 @@ FadeOutDrag::setup_pointer_offset ()
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
FadeOutDrag::motion (GdkEvent* event, bool)
|
FadeOutDrag::motion (GdkEvent* event, bool first_motion)
|
||||||
{
|
{
|
||||||
samplecnt_t fade_length;
|
samplecnt_t fade_length;
|
||||||
|
|
||||||
|
@ -4205,6 +4213,10 @@ FadeOutDrag::motion (GdkEvent* event, bool)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (first_motion) {
|
||||||
|
tmp->drag_start ();
|
||||||
|
}
|
||||||
|
|
||||||
tmp->reset_fade_out_shape_width (tmp->audio_region(), fade_length);
|
tmp->reset_fade_out_shape_width (tmp->audio_region(), fade_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4247,6 +4259,8 @@ FadeOutDrag::finished (GdkEvent* event, bool movement_occurred)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp->drag_end ();
|
||||||
|
|
||||||
boost::shared_ptr<AutomationList> alist = tmp->audio_region()->fade_out();
|
boost::shared_ptr<AutomationList> alist = tmp->audio_region()->fade_out();
|
||||||
XMLNode &before = alist->get_state();
|
XMLNode &before = alist->get_state();
|
||||||
|
|
||||||
|
@ -4276,6 +4290,8 @@ FadeOutDrag::aborted (bool)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tmp->drag_end ();
|
||||||
|
|
||||||
tmp->reset_fade_out_shape_width (tmp->audio_region(), tmp->audio_region()->fade_out()->back()->when.samples());
|
tmp->reset_fade_out_shape_width (tmp->audio_region(), tmp->audio_region()->fade_out()->back()->when.samples());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue