86d3735ea8
Fix MIDI Automation interpolation options
2017-10-03 02:20:57 +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
1545c426d9
Revert "Temporary session-format compatibility (revert before release)"
...
This reverts commit 8cd8cb1650
.
2017-09-18 11:40:52 -04:00
f04bacdfac
Drags are such a drag.
2017-07-24 01:59:13 +02:00
601c317d70
Clean up library inheritance (colors.h, utils.h)
...
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00
8cd8cb1650
Temporary session-format compatibility (revert before release)
...
Saving the new ControlList interpolation methods (enum) breaks loading
the session in older version. The session-format version will
need to be increased.
Until then:
* Fader automation + region gain envelope uses linear fades
* The automation-line visible in the GUI does not match the actual fade
(the y-axis is log/exp-scale, the fade is linear)
* Adding new points on the line is not using the correct initial value
* Custom changes of interpolation mode are not available
Neither of these issues is a regression.
2017-06-21 18:13:36 +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
555fcb89e5
GUI: prepare for API changes
...
remove use of
- unbound_min/max
- list->default_value and min/max_y
2017-06-21 18:12:16 +02:00
a869b39cd9
allow automation line fill opacity to be theme-able
2017-01-12 15:21:21 -06:00
fa828e0385
clamp values appropriately in AutomationLine::view_to_model_y()
...
Before this, drags from one automation track to another could add illegal/stupid values to an automation line. Presumably there needs to be another bounds check in ControlList
2017-01-09 12:41:49 +00:00
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
4f7d3069ab
highlight area below automation lanes
2016-07-05 00:39:43 +02:00
8125ea5909
tweak API of Selectable
2016-06-05 20:50:57 -04:00
nick_m
baf8f37967
Tempo ramps - rename meter_at() -> meter_at_frame() & make the ticker slightly more efficient.
2016-05-27 23:38:17 +10:00
nick_m
8f3bc6f809
Tempo ramps - rename tempo_at() -> tempo_at_frame().. 3 decimals for the audioclock tempo display.
2016-05-27 23:38:17 +10:00
42424eeb6c
another log-scale automation fix
2015-10-27 20:54:09 +01:00
nick_m
bf9e752b4d
AutomationLine::drag_motion () returns any clamped fractions correctly.
2015-10-28 03:14:10 +11:00
nick_m
fc8b03eef5
Fix incorrectly placed control points (y-axis). fixes #6647 .
...
- also use the return from AutomationLine::drag_motion () in
anticipation of it correctly reporting its clamping to
AutomationRangeDrag.
2015-10-28 02:46:03 +11:00
nick_m
be1396d066
Select the control point about to be deleted when using shift + right click.
...
- fixes incorrect selection changes when doing this.
2015-10-20 00:53:29 +11:00
dc36b063bf
remove unused fstream includes
2015-10-05 22:15:18 +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
6b019a4953
Move UIConfiguration Singleton into UIConfiguration header
...
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
0b2af5b9b8
fix log-scale for automation lanes.
2015-09-05 17:25:59 +02:00
b6f1eac8b0
don't use gain-mapping (verbose-cursor) for plugin params.
2015-09-05 17:13:04 +02:00
nick_m
63269b3063
Automation selection fixes.
...
- display selected comtrol points in region gain lines
- display selected points in internal edit mode
- allow dragging of region gain lines in MouseContent mode
2015-06-21 05:27:45 +10:00
nick_m
dcd3e3823c
Don't begin command on start_grab for AutomationRangeDrag and NoteResizeDrag
...
- fixes a crash when clicking to resize without movement.
- minor readability fix for _drag_had_movement
2015-06-19 00:02:09 +10:00
nick_m
44790ebff0
More _reversible_command() auditing in the gui.
...
- try to keep begin/commit pairs in the same file where possible.
2015-06-17 09:54:23 +10:00
12ece48525
fix verbose cursor for db automation.
2015-04-26 00:51:09 +02:00
9203bad7ba
fix automation lane for dB ranges other than fader.
2015-04-25 21:39:40 +02:00
52d67203a1
Trim Automation UI
2015-04-25 21:25:19 +02: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
3b38d7d8a6
Keep automation lines within their parent ( #6215 ).
2015-03-26 11:48:13 -04:00
nick_m
44203ce955
Fix AutomationTrackItem rubberband click thinking it was unhandled.
...
Fix several other cases where a single mouse click could cause several
(not nested) selection ops.
Fix missing selection memento for midi notes and midi commands.
Rename some variables.
Fix random style issues.
2015-01-11 04:07:31 +11:00
nick_m
9af9e17adc
Add editor selection state to session history via a SelectionMemento, which
...
combines selection related editor properties with the current editor selection.
The related editor properties are:
mouse mode,
zoom setting,
left frame of the canvas,
y origin of the canvas.
Selection state now includes region views (storing the underlying region id)
and time.
This patch also fixes a region mute undo bug.
2014-12-18 11:03:10 -05:00
c98366c7c8
fixed merge conflict
2014-12-14 09:36:01 -05:00
b3ea22fc3f
Remove unused method.
2014-12-01 23:35:24 -05:00
Julien de Kozak
cb8abbe8d2
Make it compile with C++11 support.
...
Reference : https://bugs.webkit.org/show_bug.cgi?id=59249
2014-12-01 23:18:11 +01: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
73ad993597
Fix invisible discrete control points.
2014-11-22 04:39:30 -05:00
c91b691260
Don't hide selected control points.
...
There was already code for this, but actually setting the corresponding
visibility flags seems to have been lost at some point.
2014-11-16 22:46:59 -05:00
de1ebcc149
Fix entering/editing MIDI region "automation" (controllers).
...
Two issues:
1) AutomationRegionView not receiving events (CC breakage).
2) Entered values must be rounded to integer for MIDI controllers. This should
be done more generically with ParameterDescriptor for all controls (also
supporting boolean toggles and such), once ParameterDescriptor becomes more
pervasive and takes over Evoral::Parameter, but this will do for now.
2014-11-15 02:58:39 -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
ba4d1cd1c1
remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config()
2014-10-21 22:58:58 -04:00
df19c576c7
fix a bunch of memory leaks
2014-09-11 03:04:11 +02:00
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02: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
5a41487a08
remove some 1920 tick constants and leave notes for some others.
2014-06-07 18:35:37 +02: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
6605b2a542
when an automation/region gain line is hidden, so are its points
2014-03-05 14:40:49 -05:00
983bf548cd
alter name of AutomationLine::show() to much more sensibly named ::update_visibility()
2014-03-05 12:11:22 -05:00
f5233f11a2
remove debugging output
2014-03-05 11:47:58 -05:00
836e95d964
fix/adjust logic used to display automation lines
2014-03-04 21:58:17 -05:00
0bcf3001f5
fiddle with single pixel adjustments to time axis view item heights; fix region gain envelope visibility
2014-02-25 12:02:50 -05:00
1044532270
use new "covers" threshold to make automation lines more grabbable
2014-02-20 12:53:38 -05:00
9aacefc170
merge with master
2014-01-15 14:29:32 -05:00
79b56b1d33
fix pan-width automation
2014-01-15 20:03:20 +01:00
59631acc5f
fix merge with master
2014-01-11 15:19:18 -05:00
0fe968a140
Fix whitespace (no functional changes).
2014-01-10 20:51:54 -05:00
658bb3ccd4
finished merge of cairocanvas with windows and windows+cc branches
2014-01-10 17:11:10 -05:00
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
68af0fdc07
fix up visibility control for automation lines
2013-12-31 13:28:20 -05:00
87c29025de
just use show() and hide() to manage control point visibility in automation lines
...
No need for the wierd old set_visible()/property_draw() stuff that was a hangover from gnomecanvas.
2013-12-31 11:55:30 -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
7bbd28aa08
notable changes to try to improve most of enter/leave handling for canvas items
2013-10-30 23:36:30 -04:00
904367748c
'gtk2_ardour' - 'std::isinf' + 'std::isnan' are not available in MSVC (at least, not VC8)
2013-10-03 09:48:19 +01:00
ffc9a2cc70
Revert "replace "-inf" with UTF8 infinity symbol"
...
This reverts commit 7f2000ec8b0d6e0d3a6e22db44a8859301d35791.
2013-07-10 15:27:16 +02:00
0f1f7ca4fd
replace "-inf" with UTF8 infinity symbol
2013-07-10 15:27:16 +02:00
55d7e8da19
reset xfade colors after theme change
2013-04-18 14:21:53 -04:00
b9c94f6dbf
remove all calls to Outline::set_outline_width (1) because this is "wrong" when using Cairo - the default is 0.5 and it can remain that way
2013-04-17 10:56:04 -04:00
96eee9e7a1
change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
2013-04-16 23:46:22 -04:00
4258a34912
change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample
2013-04-12 11:15:45 -04:00
ecfd2a7455
remove all unit-based methods from (Public)Editor; rationalize Editor::event_frame() to clearly identify whether the passed-in GdkEvent has window units or canvas units (the latter will be true for all events that are handled by the canvas and then passed to Editor
2013-04-12 11:09:49 -04: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
19bd641915
commit immediately post linking
2013-04-04 18:45:27 -04:00
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00
bc8ccfa768
fix drags of a single control point in a line where that is the only control point
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13802 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-07 20:10:18 +00: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
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