mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry
This commit is contained in:
parent
f69180c8ee
commit
c18d175f55
17 changed files with 79 additions and 62 deletions
|
|
@ -45,15 +45,25 @@ namespace ArdourCanvas
|
|||
class Polygon;
|
||||
}
|
||||
|
||||
class TriggerReference
|
||||
{
|
||||
public:
|
||||
TriggerReference (ARDOUR::TriggerBox& b, uint32_t s) : box (b), slot (s) {}
|
||||
boost::shared_ptr<ARDOUR::Trigger> trigger() const { return box.trigger (slot); }
|
||||
|
||||
ARDOUR::TriggerBox& box;
|
||||
uint32_t slot;
|
||||
};
|
||||
|
||||
class TriggerEntry : public ArdourCanvas::Rectangle
|
||||
{
|
||||
public:
|
||||
TriggerEntry (ArdourCanvas::Item* item, ARDOUR::Trigger&);
|
||||
TriggerEntry (ArdourCanvas::Item* item, TriggerReference rf);
|
||||
~TriggerEntry ();
|
||||
|
||||
ARDOUR::Trigger& trigger () const
|
||||
boost::shared_ptr<ARDOUR::Trigger> trigger () const
|
||||
{
|
||||
return _trigger;
|
||||
return tref.trigger();
|
||||
}
|
||||
|
||||
ArdourCanvas::Rectangle* play_button;
|
||||
|
|
@ -74,7 +84,7 @@ public:
|
|||
void set_default_colors ();
|
||||
|
||||
private:
|
||||
ARDOUR::Trigger& _trigger;
|
||||
TriggerReference tref;
|
||||
double _poly_size;
|
||||
double _poly_margin;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue