Robin Gareus
4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points
2023-07-11 00:53:48 +02:00
Paul Davis
b35518e212
switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
...
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis
f1d784afbb
deep fix to the way automation control point drags are handled/computed
...
The old code could not snap to the grid, because it had a lot of confusion about pixels vs. time,
and between line-origin-relative time and absolute time
2023-02-10 11:11:51 -07:00
Paul Davis
e883c39e7a
control point drag: fix the way bounding-to-region is computed
2023-02-06 21:04:17 -07:00
Paul Davis
3d96a318ac
automation line: add dump() method to inspect GUI control points
2023-02-06 21:04:17 -07:00
Paul Davis
5dd60c03df
automation lines: fix missing line segments
2022-10-26 16:57:06 -06:00
Paul Davis
83ad0a10b5
automation line: drop ::redisplay() method
2022-10-26 14:01:59 -06:00
Paul Davis
a928e35efb
significant overhaul of automation region/lines to update during tempo map drags etc
2022-10-25 11:10:36 -06:00
Paul Davis
373a73cb51
fix selectability of region-associated automation (i.e. MIDI)
...
The fix here is really just dropping the use of _offset when computing the session position
of a control point. This was just an arithmetical error.
However, session_sample_position() was redundant and just caused more work, so this
method was removed, and only ::session_position() is now used.
In addition, several closely related places now use C++11 (or later) "auto"
syntax for iterating over containers, for cleaner looking code
2022-08-11 15:26:42 -06:00
Paul Davis
ca22ba77e1
Constification: make Stateful::get_state() const, with all other required const-ness added (GUI)
2022-04-06 21:56:59 -06:00
Paul Davis
49424ab0e3
Region::_start should be a timepos_t not a timecnt_t (GUI edition)
2021-08-13 12:51:34 -06:00
Paul Davis
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
Paul Davis
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
Paul Davis
9d69fa3820
another day or two's work on timeline type conversion
2021-08-13 12:51:29 -06:00
Paul Davis
04e8dbb342
another day of slow timeline type conversion
2021-08-13 12:51:29 -06:00
Paul Davis
7433bc27e0
intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI
2021-08-13 12:51:29 -06:00
Paul Davis
a855119bdd
rename all Evoral source from .(hpp|cpp)$ to .(h|cc)
2019-11-02 16:32:18 -06:00
Robin Gareus
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
Paul Davis
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
Robin Gareus
fd36355e2c
Log-scale/relative automation point dragging
2017-06-21 18:13:03 +02:00
Robin Gareus
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
Robin Gareus
4f7d3069ab
highlight area below automation lanes
2016-07-05 00:39:43 +02:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
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
David Robillard
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
David Robillard
b3ea22fc3f
Remove unused method.
2014-12-01 23:35:24 -05:00
David Robillard
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
David Robillard
f190e630ab
Show discrete/toggled automation as stepped line.
2014-11-28 21:15:28 -05:00
David Robillard
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
David Robillard
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
Paul Davis
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
Paul Davis
0796ccfb65
use newly factored canvas in gtk2_ardour
2014-06-21 11:44:22 -04:00
Robin Gareus
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
Paul Davis
983bf548cd
alter name of AutomationLine::show() to much more sensibly named ::update_visibility()
2014-03-05 12:11:22 -05:00
Paul Davis
59631acc5f
fix merge with master
2014-01-11 15:19:18 -05:00
David Robillard
72d8ca89e2
Support midnam controller value labels.
2014-01-10 20:51:54 -05:00
David Robillard
0fe968a140
Fix whitespace (no functional changes).
2014-01-10 20:51:54 -05:00
Paul Davis
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
Paul Davis
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
Paul Davis
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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