mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-17 04:06:26 +01:00
fix another #warning from the pianorule refactoring
There is one single place in AutomationLine code where we need to callback to its AutomationTimeAxisView, if it is part of one, regarding automation state. This permits that to happen
This commit is contained in:
parent
6af9d08f69
commit
dd3683bc06
5 changed files with 36 additions and 18 deletions
|
|
@ -112,6 +112,7 @@ AutomationLine::AutomationLine (const string& name,
|
||||||
, _desc (desc)
|
, _desc (desc)
|
||||||
, _control_points_inherit_color (true)
|
, _control_points_inherit_color (true)
|
||||||
, _sensitive (true)
|
, _sensitive (true)
|
||||||
|
, atv (nullptr)
|
||||||
{
|
{
|
||||||
group = new ArdourCanvas::Container (&parent, ArdourCanvas::Duple(0, 1.5));
|
group = new ArdourCanvas::Container (&parent, ArdourCanvas::Duple(0, 1.5));
|
||||||
CANVAS_DEBUG_NAME (group, "automation line group");
|
CANVAS_DEBUG_NAME (group, "automation line group");
|
||||||
|
|
@ -1628,8 +1629,9 @@ AutomationLine::add (std::shared_ptr<AutomationControl> control, GdkEvent* event
|
||||||
if (alist->editor_add (when, y, with_guard_points)) {
|
if (alist->editor_add (when, y, with_guard_points)) {
|
||||||
|
|
||||||
if (control->automation_state () == ARDOUR::Off) {
|
if (control->automation_state () == ARDOUR::Off) {
|
||||||
#warning paul make this work again .. call back to ATV or similar
|
if (atv) {
|
||||||
// set_automation_state (ARDOUR::Play);
|
atv->set_automation_state (ARDOUR::Play);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UIConfiguration::instance().get_automation_edit_cancels_auto_hide () && control == session->recently_touched_controllable ()) {
|
if (UIConfiguration::instance().get_automation_edit_cancels_auto_hide () && control == session->recently_touched_controllable ()) {
|
||||||
|
|
@ -1647,3 +1649,9 @@ AutomationLine::add (std::shared_ptr<AutomationControl> control, GdkEvent* event
|
||||||
session->set_dirty ();
|
session->set_dirty ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
AutomationLine::set_atv (AutomationTimeAxisView& a)
|
||||||
|
{
|
||||||
|
atv = &a;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,9 @@ public:
|
||||||
|
|
||||||
virtual ~AutomationLine ();
|
virtual ~AutomationLine ();
|
||||||
|
|
||||||
|
|
||||||
|
void set_atv (AutomationTimeAxisView&);
|
||||||
|
|
||||||
virtual Temporal::timepos_t get_origin () const;
|
virtual Temporal::timepos_t get_origin () const;
|
||||||
|
|
||||||
ArdourCanvas::Rectangle* drag_base() const { return _drag_base; }
|
ArdourCanvas::Rectangle* drag_base() const { return _drag_base; }
|
||||||
|
|
@ -271,6 +274,7 @@ private:
|
||||||
const ARDOUR::ParameterDescriptor _desc;
|
const ARDOUR::ParameterDescriptor _desc;
|
||||||
bool _control_points_inherit_color;
|
bool _control_points_inherit_color;
|
||||||
bool _sensitive;
|
bool _sensitive;
|
||||||
|
AutomationTimeAxisView* atv;
|
||||||
|
|
||||||
friend class AudioRegionGainLine;
|
friend class AudioRegionGainLine;
|
||||||
friend class RegionFxLine;
|
friend class RegionFxLine;
|
||||||
|
|
|
||||||
|
|
@ -34,15 +34,21 @@ using namespace ARDOUR;
|
||||||
/** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session samples.
|
/** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session samples.
|
||||||
* This will not be deleted by EditorAutomationLine.
|
* This will not be deleted by EditorAutomationLine.
|
||||||
*/
|
*/
|
||||||
EditorAutomationLine::EditorAutomationLine (const string& name,
|
EditorAutomationLine::EditorAutomationLine (const string& name,
|
||||||
TimeAxisView& tv,
|
TimeAxisView& tv,
|
||||||
ArdourCanvas::Item& parent,
|
ArdourCanvas::Item& parent,
|
||||||
std::shared_ptr<AutomationList> al,
|
std::shared_ptr<AutomationList> al,
|
||||||
const ParameterDescriptor& desc)
|
const ParameterDescriptor& desc)
|
||||||
: AutomationLine (name, tv.editor(), parent, nullptr, al, desc)
|
: AutomationLine (name, tv.editor(), parent, nullptr, al, desc)
|
||||||
, trackview (tv)
|
, trackview (tv)
|
||||||
{
|
{
|
||||||
line->set_data ("trackview", &trackview);
|
line->set_data ("trackview", &trackview);
|
||||||
|
|
||||||
|
AutomationTimeAxisView* atv = dynamic_cast<AutomationTimeAxisView*> (&tv);
|
||||||
|
|
||||||
|
if (atv) {
|
||||||
|
set_atv (*atv);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EditorAutomationLine::~EditorAutomationLine ()
|
EditorAutomationLine::~EditorAutomationLine ()
|
||||||
|
|
|
||||||
|
|
@ -63,11 +63,11 @@ class PublicEditor;
|
||||||
class EditorAutomationLine : public AutomationLine
|
class EditorAutomationLine : public AutomationLine
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
EditorAutomationLine (const std::string& name,
|
EditorAutomationLine (const std::string& name,
|
||||||
TimeAxisView& tv,
|
TimeAxisView& tv,
|
||||||
ArdourCanvas::Item& parent,
|
ArdourCanvas::Item& parent,
|
||||||
std::shared_ptr<ARDOUR::AutomationList> al,
|
std::shared_ptr<ARDOUR::AutomationList> al,
|
||||||
const ARDOUR::ParameterDescriptor& desc);
|
const ARDOUR::ParameterDescriptor& desc);
|
||||||
|
|
||||||
|
|
||||||
virtual ~EditorAutomationLine ();
|
virtual ~EditorAutomationLine ();
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,12 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
MidiAutomationLine::MidiAutomationLine (
|
MidiAutomationLine::MidiAutomationLine (
|
||||||
const std::string& name,
|
const std::string& name,
|
||||||
TimeAxisView& tav,
|
TimeAxisView& tav,
|
||||||
ArdourCanvas::Item& parent,
|
ArdourCanvas::Item& parent,
|
||||||
std::shared_ptr<ARDOUR::AutomationList> list,
|
std::shared_ptr<ARDOUR::AutomationList> list,
|
||||||
std::shared_ptr<ARDOUR::MidiRegion> region,
|
std::shared_ptr<ARDOUR::MidiRegion> region,
|
||||||
Evoral::Parameter parameter)
|
Evoral::Parameter parameter)
|
||||||
: EditorAutomationLine (name, tav, parent, list, parameter)
|
: EditorAutomationLine (name, tav, parent, list, parameter)
|
||||||
, _region (region)
|
, _region (region)
|
||||||
, _parameter (parameter)
|
, _parameter (parameter)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue