13
0
Commit Graph

205 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
e0cb9efb00 Various color tweaks.
This commit changes some color names, nuke your theme.  This isn't quite ideal
yet, but takes some steps towards where I think things should go aesthetically:

Make automation tracks/regions colors correspond to their parent's type.

Make selected MIDI notes outlined in red like most everything else, and scrap
separate min/mid/max fill colors for selected MIDI notes.

Color automation ghost MIDI notes based on original note color.

Try to kill 90's looking brightish gray gradients in general.
2014-12-16 00:05:45 -05:00
651fc9f68e next modifier 2014-12-15 10:25:42 -05:00
56ca52651e fix up requested color names everywhere.
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
48a7a11974 initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
63082821d8 Support paste between automation lanes.
Also push the increasingly unwieldly paste parameters into a context object.

As with othe things, currently it is only possible to do "cross-type paste" by
explicitly selecting the target track.  We will need to get automation region
view selection working to do better here, but at least for now it's possible to
get the data over.
2014-12-06 12:20:52 -05:00
55c616519b Use a button as controller for toggled parameters. 2014-11-28 18:40:23 -05:00
85cf4b4dbd Fix visibility of MIDI controller automation tracks across saves.
Fix some inaccurate/misleading comments that led to said bug.

Gracefully handle the "impossible" case where we can't figure out a state ID
for an automation track, instead of crashing.
2014-11-17 00:13:53 -05:00
2fa6caad95 Support cut/copy/paste of several regions and lines at once.
The idea here is to do the reasonable thing, and copy objects of some
type (e.g. MIDI region, gain line) to tracks with a matching type.  The user
can override this with a track selection, which will be used straight-up.

Lost: ability to copy/paste lines across types, e.g. gain to pan.  This is
often questionable, but sometimes useful, so we will need to implement some
sort of "greedy mode" to make it possible.  Implementation simple, but not sure
what to do.  Perhaps this should only be possible if one automation track is
explicitly (i.e. via track selection) involved, and the types are at least
compatible-ish?
2014-11-16 22:35:45 -05:00
31acd96384 Implement "multi-paste" for notes, regions, and automation.
The idea here is that pasting several times to the same location doesn't make
sense.  Instead, the paste is appended past the last paste, snapped to the
grid.  This make it simple to replicate a given section a number of times,
simply by copying once and pasting several times.

This behaviour only appears when successive pastes are done to the same
location (whatever the edit point is).  When the paste point changes, the
"multi-paste" state is reset.

Boots 'n cats 'n boots 'n cats.
2014-11-14 20:04:19 -05:00
cdcd1e973c simplify removal of outline from automation time axis base rect 2014-11-07 12:58:56 -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
6bb573d81c vertical pixel alignment of all TAV elements 2014-09-08 18:42:41 +02:00
1bb6fd752c special case track-header buttons 2014-09-07 20:23:49 +02:00
75df0a9c78 no horiz canvas scroll over track-header automation fader 2014-09-07 20:23:49 +02:00
4912409a8d gtk style related fixes:
* remove some old/unused styles
* fix plugin-ui button (hover color when active)
* consistent style for route buttons
  (and related ArdourButton updates)
2014-09-06 12:49:57 +02:00
ae1200716f fix track-header vertical scrolling
Ignore vertical scroll events on horizontal
Automation Track Sliders. see also 70be12afaa
2014-09-06 12:46:28 +02:00
795451a697 Trick 17: share separator + border:
This effectively adds a line after the last track.
2014-09-04 18:08:45 +02:00
cb05e3a21d dedicated TAV separator line 2014-09-04 17:01:28 +02:00
70358639de Revert "cont'd work on automation-track headers (amend ba53af1c5)"
This reverts commit beb5e3e777.
2014-09-04 16:14:01 +02:00
a25f6af94a use close/cross button 2014-09-03 22:07:46 +02:00
73cfd26237 proper automation header indenting 2014-09-03 20:48:20 +02:00
beb5e3e777 cont'd work on automation-track headers (amend ba53af1c5)
now that the separator line is at the top,
offset region-contents y0 by 1px.
2014-09-03 20:48:20 +02:00
ba53af1c50 quick mockup of indented automation-track headers
XXX: If we keep this approach, TimeAxisView::show_at()
needs to be fixed.
TimeAxisView::_canvas_display should draw the separator
line at the top, and regions inside moved down 1px.
2014-09-03 15:03:35 +02:00
154621978a track-header fader tweaks:
* align height to button-height.
* align width to label text-entry
* increase min width
2014-08-31 21:32:22 +02:00
e3d982a66e set initial TAV style 2014-08-31 18:51:04 +02:00
9c59b21bb6 simplify time-axis packing: consistent table layout 2014-08-31 07:11:24 +02:00
bf13bf6385 red-border selection for tracks, regions, and processors. requesting comments 2014-08-29 17:16:32 -05:00
a52e18c7e8 use ArdourButtons on the automation time axis 2014-08-27 11:53:53 -05:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
6e38ecc158 manually applied equivalent of 1d82f4ca07 in master (git could not apply successfully) 2014-02-19 23:37:46 -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
aa1933ef8a fix up construction and outlining for automation time axis (track) base rect 2014-01-10 12:06:07 -05:00
08b485db75 send enter events to EVERY newly entered item (ignore the bool return from the event handler); other canvas debugging aids;switch items_at_point() to use canvas coordinates 2013-11-03 10:07:00 -05:00
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
c08b336292 Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-11 15:32:31 -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
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
f4f0dd6637 completely revisit how track name editing works in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@13898 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 15:27:04 +00:00
fc77ae0738 Replace a bunch of potential crashes with graceful handling of the situation.
We really need some kind of more sophisticated assert macro that can be
switched to non-fatal logging mode for release builds.  A log message, which is
often all that would happen, is a lot better than a trainwrecked performance...


git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 07:00:43 +00:00
d251c68d76 Avoid some copy overhead and sprinkle in some const for good measure.
git-svn-id: svn://localhost/ardour2/branches/3.0@13891 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 06:17:02 +00:00
00cba5aa3b more substantive reworkings of TimeAxisView::name_(entry|label) and name editing. better, but i can still (somehow) trigger occasional misbehaviour
git-svn-id: svn://localhost/ardour2/branches/3.0@13840 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-14 21:46:32 +00:00
f269d7c56e various tweaks to get 80% Of the way to proper use of TimeAxisView::name_label and TimeAxisView::name_entry. Not done yet, since the entry sometimes loses focus and cannot be hidden.
git-svn-id: svn://localhost/ardour2/branches/3.0@13836 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-12 04:07:29 +00:00
Ben Loftis
014540a096 tweak to plugin parameter sliders in mixer strips
git-svn-id: svn://localhost/ardour2/branches/3.0@13631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-10 20:08:36 +00:00
Ben Loftis
92e5a13fd4 several theme changes. changed drawing of rounded_rectangle to be more correct. operation and feel should be more consistent. rec-mute-solo buttons are now dull until enabled. this might be debatable. otherwise if it looks weird, try loading Window->Theme Manager and clicking Restore Defaults
git-svn-id: svn://localhost/ardour2/branches/3.0@13611 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-06 20:48:44 +00:00
3c252e9321 lots more fidgety work on automation. sort of works now, but undo/redo needs attention
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 03:10:40 +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