Ben Loftis
b22e136887
Add some new zoom-to-selection actions, so zoom tool is less needed.
...
Reverse order of items in the zoom menus to match Ardour.
Consolidate the extra zoom math into a function; this fixes a problem in zoom-to-session.
2014-07-23 11:31:06 -05:00
Paul Davis
b69870dfe6
add Editor::trackviews_height() convenience function to determine height of trackview area of canvas; use to help fix set_visible_track_count(); don't consider hidden tracks in that function; add "Selected" to that selector menu
2014-07-15 18:09:04 -04:00
Paul Davis
d0bc4b55fa
scroll up/down by tracks uses top edge as "focal point"; fix some other nasty code details
2014-07-14 12:36:51 -04:00
Ben Loftis
492c933a69
fix the visible_tracks_selector to show * when user tweaks a track height. various experimental tweaks to visible_tracks_selector and a new zoom_preset_selector for Mixbus.
2014-07-14 10:08:55 -05:00
Paul Davis
07e0f785f8
add "fade range" operation, bound to alt-f at present by default
2014-07-10 08:17:22 -04:00
Paul Davis
8eeb02fe75
add Editor::edit_mode_strings to allow for i18n; correctly size ArdourDropdowns using longest, translated strings
2014-07-09 16:48:36 -04:00
Ben Loftis
c1166c9f63
fix thinko with split selections. also ignore follow_edits when we are splitting, because the playlist freeze and the newly added regions cause the playhead to jump to unexpected locations
2014-07-08 15:00:19 -05:00
Paul Davis
fcabd5d8ee
initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files
2014-07-08 00:53:13 -04:00
Paul Davis
67eaa62ee9
fix build after copy-n-paste/code change collision
2014-07-07 10:21:47 -04:00
Paul Davis
d97199088b
some code shuffling to make sure that cut mode always operates at the mouse location, with (maybe) the right regions
2014-07-07 10:13:26 -04:00
Paul Davis
779fe6c082
add functionality for cut tool
2014-07-07 07:05:44 -04:00
Paul Davis
7ec397c019
add basics of Cut mouse mode, no functionality yet. Icon images are still required
2014-07-07 07:05:43 -04:00
Ben Loftis
6d97d72999
remove some cruft with previous commits. remove option link-region-and-track-selection since they are now exclusive, and rename select-all-regions to select-all-objects to match the implementation
2014-07-06 14:02:13 -05:00
Ben Loftis
db60bc86b8
now that track and region selections are mutually exclusive, you need a separate action to select-all-tracks and select-all-regions. also, preserve region selection during a split, iff we are working on a region selection: only add the newly created regions, dont change anything else in the selection; leave that in control of the user
2014-07-06 12:57:36 -05:00
Ben Loftis
555a5d6348
lots of keybinding changes. added a new action to allow removing markers at the playhead location. numpad now allows you to access marks higher than 9. to locate to a marker, use the numpad decimal to start and end the operation - for example press .19. to locate to marker 19. also added alternate bindings for redo, delete, and several other alternates that will be needed in subsequent commits. tab is not working, using either Tab or nabla in the binding.in file
2014-07-03 17:50:14 -05:00
Paul Davis
3dbf37eab7
simplify zooming, remove Editor::clamp_samples_per_pixel(), fix getting "stuck" at max and min zoom levels
2014-07-02 15:53:24 -04:00
Paul Davis
4c79d35838
remove unused "zoom range clock" from code as part of zoom simplifications
2014-07-02 14:56:36 -04:00
Colin Fletcher
e5e12acc56
Merge branch 'ripple-mode-cc' into cairocanvas
...
Fix up merge conflicts in
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
Also fix up compile errors.
2014-07-01 19:10:47 +01:00
Paul Davis
23e7cf1019
merge with master.
...
Manually resolved conflicts in import.cc and session.cc
2014-07-01 09:46:18 -04:00
Robin Gareus
77216ac468
add RAII DisplaySuspender
2014-06-28 23:22:15 +02:00
Robin Gareus
fd7cddb847
use a hash-table to cache gui properties
2014-06-28 22:02:20 +02:00
Paul Davis
c706b1c4bb
replace old implementation of Editor::_ensure_time_axis_view_is_visible() with the guts of Editor::ensure_track_is_visible(), then remove the latter.
...
Also change all users of ensure_track_is_visible() to use _ensure_time_axis_view_is_visible()
2014-06-27 10:49:05 -04:00
Paul Davis
be37432bef
removed no-longer-used Editor::track_canvas_motion()
2014-06-26 15:10:24 -04:00
Paul Davis
298085eec2
use new ruler dialog class for context clicks on ruler labels area
2014-06-25 15:23:25 -04:00
Paul Davis
4b515c178c
remove unused code
2014-06-25 13:37:59 -04:00
Paul Davis
66be061449
lock dialog MUST be a Gtk::Dialog so that it does not forward key (or other) events to the Editor
2014-06-25 11:47:35 -04:00
Paul Davis
d5ef8f5f1e
new timer-based GUI locking code
2014-06-25 08:28:36 -04:00
Paul Davis
a12f43fa46
add a modal lock dialog for better testing (and someone might find it useful, too)
2014-06-24 10:14:07 -04:00
Paul Davis
f147846863
add ability to save current action sensitivities and restore them, and to disable all action sensitivity.
...
This is needed to be able to lock the application fully on OS X, where the global menu bar would still allow interaction
even when a modal dialog is displayed.
2014-06-24 09:56:16 -04:00
Paul Davis
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
Paul Davis
0796ccfb65
use newly factored canvas in gtk2_ardour
2014-06-21 11:44:22 -04:00
Paul Davis
e7895e1f80
more work on cursor tracking state
2014-06-18 21:03:25 -04:00
Paul Davis
becf857f48
a whole slew of changes related to centralizing and rationalizing cursor management.
...
Debugging output left in place to help address the reports that will come in as people test this more
2014-06-18 10:24:59 -04:00
Paul Davis
f7844f4893
do most of the work related to adding new anchored trim cursors (but debugging/analysis continues)
2014-06-13 18:43:53 -04:00
Paul Davis
7a0b2e1c18
fix scrolling behaviour in track headers (event was stolen by rulers because event coordinates made it look as if the event happened there)
2014-06-13 14:27:59 -04:00
Paul Davis
6958409187
remove no-longer-used code
2014-06-12 16:18:38 -04:00
Paul Davis
ea355bfe15
add canvas rulers event dispatch and reinstate scrolling behaviour
2014-06-12 15:58:05 -04:00
Paul Davis
4b07d01532
remove header file includes of now-removed gtk custom ruler
2014-06-12 00:18:15 -04:00
Paul Davis
b73352880e
use canvas rulers now instead of gtk widgets
...
Some bugs that exist in master are still present.
2014-06-11 23:54:28 -04:00
Paul Davis
c56d309bd7
make the icon set selector actually do something
2014-06-10 14:39:28 -04:00
Paul Davis
d36afa6b8b
forward scroll events from track control headers to the canvas, to get consistent scroll behaviour (whatever that behaviour is)
2014-06-09 10:02:38 -04:00
Paul Davis
b530e8649e
rename Editor::_canvas_bottom_rect as Editor::_canvas_drop_zone; increase its size; remove debug message
2014-06-09 09:09:21 -04:00
Paul Davis
92bb0e0d7f
fix problem with calls to Editor::trackview_by_y_position() when using motion events. The coordinate passed in was in canvas space and the method expected trackview space
...
To handle any further issues like this, I generalized and added an optional argument specifying that the canvas=>trackview transform is required, thus
centralizing where this done.
2014-06-08 14:41:29 -04:00
Paul Davis
ad346dc638
reinstate a canvas group where we reparent regions while dragging, so that they are always on top.
...
I mistakenly removed this during the onecanvas changes.
2014-06-05 15:16:55 -04:00
Paul Davis
e0533e9dd7
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
2014-06-03 16:13:12 -04:00
Paul Davis
da7a860256
remove useless groups from timebar area, clarify scroll group naming in editor
2014-06-03 16:11:24 -04:00
Paul Davis
5696199daf
remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done
2014-06-03 16:10:27 -04:00
Paul Davis
6019f06bdf
different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
...
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.
Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-06-03 16:10:27 -04:00
Paul Davis
74bc0c8468
substantive changes to the logic and safety for naming of (audio/MIDI) sources, especially when created via import
2014-06-02 11:20:37 -04:00
Robin Gareus
4843c5d5cf
towards region-trims preserving fade duration
2014-05-31 03:53:59 +02:00