Commit Graph

193 Commits

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