Ardour  9.0-pre0-582-g084a23a80d
region_fx_line.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024 Robin Gareus <robin@gareus.org>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #pragma once
20 
21 #include "editor_automation_line.h"
22 
23 class RegionView;
24 
26 {
27 public:
28  RegionFxLine (std::string const&, RegionView&, ArdourCanvas::Container&, std::shared_ptr<ARDOUR::AutomationList>, ARDOUR::ParameterDescriptor const&);
29  RegionFxLine (std::string const&, RegionView&, ArdourCanvas::Container&, std::shared_ptr<ARDOUR::AutomationControl>);
30 
32 
33  RegionView& region_view () { return _rv; }
34 
35  void end_drag (bool with_push, uint32_t final_index);
36  void end_draw_merge ();
37 
38  virtual void enable_automation ();
39 
40 private:
41  void init ();
43 
45  std::weak_ptr<ARDOUR::AutomationControl> _ac;
47 };
48 
virtual void enable_automation()
RegionFxLine(std::string const &, RegionView &, ArdourCanvas::Container &, std::shared_ptr< ARDOUR::AutomationList >, ARDOUR::ParameterDescriptor const &)
void end_draw_merge()
Temporal::timepos_t get_origin() const
RegionView & _rv
void end_drag(bool with_push, uint32_t final_index)
PBD::ScopedConnection _region_changed_connection
void region_changed(PBD::PropertyChange const &)
std::weak_ptr< ARDOUR::AutomationControl > _ac
RegionFxLine(std::string const &, RegionView &, ArdourCanvas::Container &, std::shared_ptr< ARDOUR::AutomationControl >)
RegionView & region_view()