Commit Graph

146 Commits

Author SHA1 Message Date
eb1382bd9a minor tweaks
git-svn-id: svn://localhost/ardour2/branches/3.0@13532 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-19 18:18:09 +00:00
1bff57131a substantive change to automation line dragging code to avoid O(N^4) behaviour. performance fixes are still required for realistically data-rich automation lines
git-svn-id: svn://localhost/ardour2/branches/3.0@13515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17 22:55:03 +00:00
Carl Hetherington
2373c48da6 Revert shade on playhead cursor (SVN 13048).
git-svn-id: svn://localhost/ardour2/branches/3.0@13192 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-17 12:08:21 +00:00
0f9dab42d9 add translucent "shade" to playhead cursor (may remove this in the future)
git-svn-id: svn://localhost/ardour2/branches/3.0@13048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 13:02:57 +00:00
0532e2063b dramatic overhaul of automation. too long to explain here. this work is not finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:05:45 +00:00
e89bdcd9eb provide some numerical data during automation trim (range) drags, and correct computation of y-fraction for such drags
git-svn-id: svn://localhost/ardour2/branches/3.0@13011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 15:44:56 +00:00
7aa66b6623 remove extra unused argument to ::sync_model_with_view_point(s)
git-svn-id: svn://localhost/ardour2/branches/3.0@13005 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09 22:03:32 +00:00
Carl Hetherington
92bf2dc1c2 Fix incorrect display of automation lines after points are
removed.


git-svn-id: svn://localhost/ardour2/branches/3.0@12645 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-10 14:14:01 +00:00
Carl Hetherington
556732df80 Fix incorrect automation point drags when a drag is started with push held and finished without it.
git-svn-id: svn://localhost/ardour2/branches/3.0@12509 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:08:39 +00:00
Carl Hetherington
a4ed608e4d Push of automation points is done on the GUI side, so no need to do it on sync as well.
git-svn-id: svn://localhost/ardour2/branches/3.0@12508 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:08:32 +00:00
Carl Hetherington
524b61731a Remove some more unwanted roundings from control point frame to pixel conversions.
git-svn-id: svn://localhost/ardour2/branches/3.0@12507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:08:25 +00:00
Carl Hetherington
6a388349c6 Allow movement of several vertically-colinear points at the same time.
git-svn-id: svn://localhost/ardour2/branches/3.0@12506 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:08:08 +00:00
Carl Hetherington
411a534c38 Handle discontiguous control point selections properly when dragging.
git-svn-id: svn://localhost/ardour2/branches/3.0@12505 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:08:00 +00:00
Carl Hetherington
d4af4d99e9 Remove suspect pixel-based control point x position clamping; this may cause issues in libart, so may need reverting.
git-svn-id: svn://localhost/ardour2/branches/3.0@12504 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:07:47 +00:00
f1505b631d substantive change to try to provide some rationality for region gain line visibility (and automation line visibility in general
git-svn-id: svn://localhost/ardour2/branches/3.0@12478 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 18:30:10 +00:00
Carl Hetherington
b397dafb86 Remove duplicate include.
git-svn-id: svn://localhost/ardour2/branches/3.0@12475 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-28 23:28:42 +00:00
Carl Hetherington
7070b8f753 Fix some confusion wrt did_push as a member and a local variable; pass push distances through the AutomationList's time converter so that they work properly; a few comment fixes.
git-svn-id: svn://localhost/ardour2/branches/3.0@12060 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 00:35:49 +00:00
Carl Hetherington
a4434809e1 Use a list of ControlPoints to hold the automation selection,
rather than a time range.  This makes more sense now that we
display every point on an automation line, rather than just
a subset.  Makes the code a fair bit simpler, and should fix
some unexpected behaviours, especially when cutting automation
points.


git-svn-id: svn://localhost/ardour2/branches/3.0@12054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 14:03:07 +00:00
Carl Hetherington
ca96b9afe8 Remove some unused code.
git-svn-id: svn://localhost/ardour2/branches/3.0@12052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-21 23:54:20 +00:00
Carl Hetherington
23973bae24 A few tweaks to make Ardour build in GCC -std=c++0x mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@11983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 19:28:44 +00:00
49240fe7c5 Draw all automation points, rather than trying to use a heuristic to show some
at any given zoom level. 

This works because (1) automation data is obtained by sampling, and we control
the sampling interval (2) automation data is filtered to remove co-linear
points before becoming part of a ControlList. 

This commit removes some of the hairiest code in Ardour's GUI, which was
responsible for figuring out which invisible control points were affected by an
edit. The change is based on an experiment in mixbus done by Ben Loftis.


git-svn-id: svn://localhost/ardour2/branches/3.0@11798 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 16:53:55 +00:00
Carl Hetherington
3120bae8b4 Don't leave internal edit mode when clicking on an automation region view (#4747).
git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:23 +00:00
Carl Hetherington
de53e1154b Fix problems with selecting control points in AutomationRegionViews with non-zero region start. Firstly, determine_visible_control_points considers a subset of the AutomationLine's points if start is non-zero, and this must be taken into account when matching up AutomationLine points with AutomationList points. Secondly, _offset should not part of the calculation when converting model position to session frames. Fixes #4338.
git-svn-id: svn://localhost/ardour2/branches/3.0@10151 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-28 00:36:30 +00:00
Carl Hetherington
5f9fb85b77 Fix crash when selecting automation points in MIDI
regions with non-zero starts (#4177) and also fix
problems with selection conversions between
ControlPoints and PointSelection in similar regions.


git-svn-id: svn://localhost/ardour2/branches/3.0@9866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 19:24:46 +00:00
d5e09076ca much ado about nothing when it comes to gain control
git-svn-id: svn://localhost/ardour2/branches/3.0@9748 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-19 23:02:55 +00:00
ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington
a7a6bd1256 Remove duplicate connect_to_list() call.
git-svn-id: svn://localhost/ardour2/branches/3.0@9410 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-23 00:02:49 +00:00
Carl Hetherington
408d433842 Tiny cleanup.
git-svn-id: svn://localhost/ardour2/branches/3.0@8634 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-01 01:05:39 +00:00
15b5fce904 merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +00:00
Carl Hetherington
a97d522a4f Fix display of MIDI automation on regions with non-zero _start. Should fix #3504.
git-svn-id: svn://localhost/ardour2/branches/3.0@8257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-12 22:25:27 +00:00
Carl Hetherington
6fff4dcdda Small cleanups.
git-svn-id: svn://localhost/ardour2/branches/3.0@8255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-12 20:14:19 +00:00
8b68ed57ec Fix some messed up code (spacey tabs).
(There is faar more of this... FIX YOUR EDITORS!)


git-svn-id: svn://localhost/ardour2/branches/3.0@8086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-25 20:37:39 +00:00
Carl Hetherington
ef62a039b9 Fix rounding of automation view point positions. Fixes remainder of #3329.
git-svn-id: svn://localhost/ardour2/branches/3.0@7869 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-10-02 00:28:13 +00:00
ede4ecbb00 megaopus patch #2 for today: remove nframes64_t and sframes_t from source
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
10bdce85a0 megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
Carl Hetherington
86244875a4 Allow drags of automation in time ranges where the automation is on a MIDI track and may span different regions. Fixes #3366.
git-svn-id: svn://localhost/ardour2/branches/3.0@7765 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 21:35:28 +00:00
6e904b1e16 3.0 version of rev 5564 from 2.x - basic boolean plugin parameter automation (no graphical editing intended). this involved adding a new "toggled" property to Evoral::Parameter
git-svn-id: svn://localhost/ardour2/branches/3.0@7670 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-23 16:31:34 +00:00
Carl Hetherington
822ee79d84 Limit region-based automation to the edges of regions. Fixes #3201.
git-svn-id: svn://localhost/ardour2/branches/3.0@7662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 22:43:10 +00:00
Carl Hetherington
efe60474d6 Hopefully fix up automation control point selection (finally).
git-svn-id: svn://localhost/ardour2/branches/3.0@7592 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 01:23:03 +00:00
Carl Hetherington
48063c15df Improve ctrl-click behaviour of automation points. Should fix #3385.
git-svn-id: svn://localhost/ardour2/branches/3.0@7584 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-10 01:52:49 +00:00
Carl Hetherington
c06c6c153d Fix up selection of automation points.
git-svn-id: svn://localhost/ardour2/branches/3.0@7556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-06 23:28:44 +00:00
Carl Hetherington
b99721ec3b Remove somewhat confusing view_to_model_coord_x method.
git-svn-id: svn://localhost/ardour2/branches/3.0@7546 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:37:04 +00:00
Carl Hetherington
5e3ca4db5c Support cut / copy / paste of MIDI automation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7545 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:36:38 +00:00
Carl Hetherington
cc6016400b Allow rubberband selection of MIDI automation points. Fixes
git-svn-id: svn://localhost/ardour2/branches/3.0@7535 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04 15:41:55 +00:00
Carl Hetherington
97c8ad6564 Make Clear option work for MIDI automation tracks. Fixes part of #3137.
git-svn-id: svn://localhost/ardour2/branches/3.0@7523 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-31 00:44:26 +00:00
Carl Hetherington
2aaec8beeb Fix list corruption when modifying a view point in y only. Should fix #3329.
git-svn-id: svn://localhost/ardour2/branches/3.0@7450 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-20 16:53:30 +00:00
Carl Hetherington
66062a85b6 Fix binding of automation list undo records to MIDI sources. Should fix the remainder of #3203.
git-svn-id: svn://localhost/ardour2/branches/3.0@7411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-14 12:27:37 +00:00
Carl Hetherington
593b421180 A few fixes to interpolation of MIDI controller data. Don't interpolate
when writing these data back to a source, otherwise surprising new
interpolated points appear in MIDI automation.  Similarly don't interpolate
when reading the model during MIDI stretch.  Fix handling of interpolation state;
controllers that have been set by the user to use a different interpolation style
are noted in the <Source> tag of the session file and this state is sprayed around
to MidiModel and the GUI as necessary.


git-svn-id: svn://localhost/ardour2/branches/3.0@7409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-14 00:58:15 +00:00
Carl Hetherington
8d747e647a Make AutomationLine set up interpolation style for its list as appropriate.
git-svn-id: svn://localhost/ardour2/branches/3.0@7405 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-12 00:42:06 +00:00
b1c3a22498 fix from 2.X for automation line clear command using the wrong object in the memento command
git-svn-id: svn://localhost/ardour2/branches/3.0@7134 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-21 15:08:57 +00:00