X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fautomation_selectable.h;h=7104f6adf414f83aca5542ac88ef455ab5246ca2;hb=b1c3a224983a6b0cc5c5bb4b042d15f1d67ae5b3;hp=e7139bedf01a823d858f59251d183b218d3aaeb3;hpb=402cc384ced6cb152c8abe4294009fe0de0a6dea;p=ardour.git diff --git a/gtk2_ardour/automation_selectable.h b/gtk2_ardour/automation_selectable.h index e7139bedf0..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; - TimeAxisView& track; + TimeAxisView* track; // ref would be better, but ARDOUR::SessionHandlePtr is non-assignable - AutomationSelectable (nframes_t s, nframes_t e, double l, double h, TimeAxisView& 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; } };