Commit Graph

226 Commits

Author SHA1 Message Date
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