13
0
Commit Graph

126 Commits

Author SHA1 Message Date
9c6a821c67 prevent crash when using WM close button on "new route name contains bad chars" dialog.
The dialog would be created twice, once because the user hit enter etc. to indicate they were done editing,
and once because focus left the name text entry, also indicate the end of editing. We now note that we're
already processing the end of a name edit, and do nothing in that case
2015-05-27 19:34:11 -04:00
f1ce87a699 add API to select TAV height mode.
preparation for further Summary and Number of visible
track count fixes.

* “Only Self”: don’t resize child-views (old default)
* “Total Height”: distribute height equally among 
   all visible child [automation] lanes
* “Height per Lane”: given height should be applied
   to all sub-views.
2015-03-19 21:47:34 +01:00
9e0cd98ad4 fix select-all-regions-within (it used to select everything overlapped) 2015-01-09 12:21:10 -06:00
c14f6c59db apply font-scale to overall layout (rulers, track-header) - fixes #6088 2014-12-28 15:01:49 +01:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
09bd88c9df Fix crash when resizing a track quickly.
Triggered by resize drag an automation track very quickly upwards to shrink it
to the minimum.  Caused by unsigned integer underflow.
2014-12-06 22:43:06 -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
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
45b7a03b7b retain selection on track-height change 2014-11-01 16:54:52 +01:00
b9f0751438 Move Scroomer out of Track Selection Box:
* no horiz space between Piano-Roll & Track
* 1:1 mapping of note's vertical space (no border)
2014-09-08 18:43:08 +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
028346d412 Revert "use a gloabl size group for track-header ctrl buttons"
This reverts commit 86eb72955c.
2014-09-06 03:36:01 +02:00
86eb72955c use a gloabl size group for track-header ctrl buttons 2014-09-04 23:21:05 +02:00
dc02625b56 further tweaks pertaining the track-number height 2014-09-04 20:11:44 +02:00
cb05e3a21d dedicated TAV separator line 2014-09-04 17:01:28 +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
b184df3286 static global definition for track-header width
the track-header minimum width is defined by
the name-label (IFF the 2nd row fader is not visible,
but the fader is rather small by default and and grows)

track-header width in almost all cases is:
   name-label width
 + width of three button (1 char each)
 + max size of all meters (if visible)
 + width of MIDI scroomer (if visible)
 + 2px table cellspacing (per column)
2014-09-02 18:12:39 +02:00
f7e5d4eba2 the return of the time_axis_vbox 2014-08-31 19:43:32 +02:00
098a698052 right side track-header control buttons (for non mixbus profile) 2014-08-31 16:12:43 +02:00
9c59b21bb6 simplify time-axis packing: consistent table layout 2014-08-31 07:11:24 +02:00
dc83ae4ffc NOOP, re-indent, fix whitespace 2014-08-30 21:44:41 +02:00
bf13bf6385 red-border selection for tracks, regions, and processors. requesting comments 2014-08-29 17:16:32 -05:00
b41df8e120 shuffle packing order to accomodate midi controls 2014-08-11 14:44:12 -05:00
bf034f48ce New track header layout.
Vertical alignment no longer depends on number of meters shown.
Looking for comments.
2014-08-11 12:59:42 -05:00
07e0f785f8 add "fade range" operation, bound to alt-f at present by default 2014-07-10 08:17:22 -04: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
aff595c739 add ::covered_by_y_range() to TimeAxisView 2014-02-25 21:53:04 -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
7e19053b88 Fix dragging objects on the canvas and remove redundant canvas groups
Delivery of fake motion events to the editor needed the event coordinates to be
in canvas space, as they are with "real" events. Editor and other objects had
many redundant groups from timbyr's work on gnomecanvas to scroll by moving
groups. We don't need this anymore with cairo-canvas (though possibly a
stationay background group for the canvas might be useful again one day as in
the SAE logo. Its implementation would be fairly different though, since we
would have to explicitly move the group on every scroll, since nothing else
ever moves on scroll).

Also tweaks to text item placement, and switch TimeAxisViewItem from
name_pixbuf to name_text, since ArdourCanvas::Text is already "pixbuf optimized".
2013-04-15 13:50:05 -04:00
4e9108cd1e remove TimeAxisView::clip_to_viewport() and Editor::update_canvas_now() and Editor::flush_canvas() which should no longer be necessary with a sane canvas design 2013-04-12 18:01:44 -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
e34470b7bd return to the old way of editing track names, but hopefully better than it was. likely to be some corner case issues still and the issue of how rec-arm interacts with this
git-svn-id: svn://localhost/ardour2/branches/3.0@13934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-21 00:12:06 +00: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
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
4481cca74a do not start editing track/bus names on a single click in the name entry of the track header - require double click; show name label rather than name entry when rec-enabled, to allow using the name area for track selection (name entry would have been visually still available for editing, which is misleading
git-svn-id: svn://localhost/ardour2/branches/3.0@13738 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-27 14:08:38 +00:00
Carl Hetherington
f722858e43 Patch from tophatdave to improve display of timestretch in
stacked layers mode (#4379).


git-svn-id: svn://localhost/ardour2/branches/3.0@12460 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 20:07:13 +00:00
18b18a45a5 hide xfades while dragging region(s)
git-svn-id: svn://localhost/ardour2/branches/3.0@12202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-07 22:02:17 +00:00
bef3ea1adc MCP: F1-7 jump to a given view; F8 closes any currently open dialog; in zoom mode, up/down alter vertical track height of all tracks; option-up/down alters selected track heights
git-svn-id: svn://localhost/ardour2/branches/3.0@11858 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-09 18:53:51 +00:00
Carl Hetherington
6304261b98 Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 01:42:49 +00:00
Carl Hetherington
4dd7b9b34c Make TimeAxisView::remove_child virtual so that RouteTimeAxis can override it to also remove the same child from its _automation_tracks list. Prevents a shared_ptr to an out-of-date AutomationTimeAxisView hanging around; fixes #4554.
git-svn-id: svn://localhost/ardour2/branches/3.0@10985 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-12 02:17:17 +00:00
8f078d7fd4 drastic overhaul of keyboard handling in mixer window. real bindings, key events handled at window level, actions for all processor ops. still the confusing mess of old crap for the processor box context menu (it will die, i feel it)
git-svn-id: svn://localhost/ardour2/branches/3.0@10442 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-04 17:53:21 +00:00
6436e4e541 Fix editor track heights (m/s/etc. buttons being cut off at Normal height).
git-svn-id: svn://localhost/ardour2/branches/3.0@10037 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-31 15:07:44 +00:00
Carl Hetherington
58a700e968 Change the cursor back from the track resize handle when
git-svn-id: svn://localhost/ardour2/branches/3.0@9837 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-11 12:57:17 +00:00
a9d5991205 remove track resize handle and allow resize of tracks from the lower 25% of the track control box
git-svn-id: svn://localhost/ardour2/branches/3.0@9805 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-07 21:45:38 +00:00
10cb0a7646 introduce GUIObjectState; massive, pervasive changes in visibility and height management for track displays in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@9796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-07 00:37:13 +00:00
1060243302 major, substantive reworking of how we store GUI information (visibility, height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions
git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11 15:35:34 +00:00