Commit Graph

119 Commits

Author SHA1 Message Date
49424ab0e3 Region::_start should be a timepos_t not a timecnt_t (GUI edition) 2021-08-13 12:51:34 -06:00
0162d3f9d6 GUI changes to *try* to adapt to a world without explicit beats<->samples converter objects (i.e. use AutomationLine::get_origin() instead 2021-08-13 12:51:34 -06:00
888239a834 remove dual (x,y) version of AutomationLine::view_to_model_coord()
The x-axis coordinate was never transformed or modified anyway (6.x just changed it
from double to integer and back again!)
2021-08-13 12:51:33 -06:00
9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
04e8dbb342 another day of slow timeline type conversion 2021-08-13 12:51:29 -06:00
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
fd36355e2c Log-scale/relative automation point dragging 2017-06-21 18:13:03 +02:00
1db9ce4c90 update GUI to use new APIs 2017-06-21 18:13:01 +02:00
nick_m
0b50945484 Fix various snap issues when dragging control points (AutomationRegionView). 2016-10-16 03:47:10 +11:00
4f7d3069ab highlight area below automation lanes 2016-07-05 00:39:43 +02:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
5c11e43f08 Clam points to valid values on drag end.
Fixes bug #6214.

It would be better to do this while dragging, but this would require rewriting
much of the drag code to keep track of a cumulative y delta since the current
position of points would be "sticky" and prevent any movement at all, so this
will have to do for now.
2015-03-26 13:22:57 -04:00
b3ea22fc3f Remove unused method. 2014-12-01 23:35:24 -05:00
ed1bbefd19 Somewhat working gain automation.
This probably isn't correct in several ways, but it works more than it did, so
I figure it's push worthy.

Still not working:

 * Saving mute automation list
 * Dragged control points are not snapped to model restrictions
   (boolean, in this case, but general problem)
 * Line goes funny if you record mute automation
   (as opposed to drawing it which works)
2014-11-29 01:25:27 -05:00
f190e630ab Show discrete/toggled automation as stepped line. 2014-11-28 21:15:28 -05:00
47c4929bc2 Display gain and midiNote plugin parameters/properties nicely.
Show fancy values on generic GUI controls, automation lane controls, and automation lane verbose cursor.
Fix text display of midiNote values.
Make bigstep of midiNote parameters 12 (one octave).
Add ARDOUR::value_as_string() as a stateless one-stop-shop for value printing.
2014-11-02 02:10:24 -05:00
8a128b33d3 Automation of LV2 plugin properties.
Work towards ParameterDescriptor being used more universally to describe control characteristics.
2014-11-02 02:10:24 -05:00
6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
94fa927861 limit automation event density - fixes #5928
Constrain control points to one per tick (1/1920 beats).

Prior to this it was possible to set two values to the
same time (interpolation and iteration failed).
2014-06-07 17:43:12 +02:00
983bf548cd alter name of AutomationLine::show() to much more sensibly named ::update_visibility() 2014-03-05 12:11:22 -05:00
59631acc5f fix merge with master 2014-01-11 15:19:18 -05:00
72d8ca89e2 Support midnam controller value labels. 2014-01-10 20:51:54 -05:00
0fe968a140 Fix whitespace (no functional changes). 2014-01-10 20:51:54 -05:00
2d389a23d5 convert automation line from Canvas::Curve to Canvas::PolyLine (note: this means there is no actual use of Canvas::Curve now) 2013-12-28 13:52:46 -05:00
7caf517b27 add (bezier) curves to canvas, use for automation lines; fix issue with rectangles missing their upper line segment; more cairo canvas fixes 2013-04-11 22:54:12 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
30237aad7f fix push-drags of automation data - previously we did not resync the model with the view for the points that were pushed (i.e. not selected, but moved anyway)
git-svn-id: svn://localhost/ardour2/branches/3.0@13681 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 15:55:06 +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
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
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
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
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
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
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
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
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