X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_selectable.h;h=7104f6adf414f83aca5542ac88ef455ab5246ca2;hb=129ace60e24aa7b5297563d389edbae1d70a3a80;hp=7a157d261c1414815446d5bc69cef92773ab4d44;hpb=4297071b3f7360b17d81ef9cf36b8d75d46d2818;p=ardour.git diff --git a/gtk2_ardour/automation_selectable.h b/gtk2_ardour/automation_selectable.h index 7a157d261c..7104f6adf4 100644 --- a/gtk2_ardour/automation_selectable.h +++ b/gtk2_ardour/automation_selectable.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 Paul Davis + Copyright (C) 2000-2007 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,23 +25,29 @@ class TimeAxisView; +/** A selected automation point, expressed as a rectangle on a track (so that x coordinates + * are frames and y coordinates are a fraction of track height). This representation falls + * between the visible GUI control points and the back-end "actual" automation points, + * some of which may not be visible; it is not trivial to convert from one of these to the other, + * so the AutomationSelectable is a kind of "best and worst of both worlds". + */ struct AutomationSelectable : public Selectable { nframes_t start; nframes_t end; double low_fract; double high_fract; - TimeAxisViewPtr track; + TimeAxisView* track; // ref would be better, but ARDOUR::SessionHandlePtr is non-assignable - AutomationSelectable (nframes_t s, nframes_t e, double l, double h, TimeAxisViewPtr atv) + AutomationSelectable (nframes_t s, nframes_t e, double l, double h, TimeAxisView* atv) : start (s), end (e), low_fract (l), high_fract (h), track (atv) {} bool operator== (const AutomationSelectable& other) { return start == other.start && - end == other.end && - low_fract == other.low_fract && - high_fract == other.high_fract && - track == other.track; + end == other.end && + low_fract == other.low_fract && + high_fract == other.high_fract && + track == other.track; } };