summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
AgeCommit message (Collapse)Author
2014-07-07add functionality for cut toolPaul Davis
2014-07-07add basics of Cut mouse mode, no functionality yet. Icon images are still ↵Paul Davis
required
2014-07-06remove some cruft with previous commits. remove option ↵Ben Loftis
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-06now that track and region selections are mutually exclusive, you need a ↵Ben Loftis
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-03lots of keybinding changes. added a new action to allow removing markers at ↵Ben Loftis
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-02simplify zooming, remove Editor::clamp_samples_per_pixel(), fix getting ↵Paul Davis
"stuck" at max and min zoom levels
2014-07-02remove unused "zoom range clock" from code as part of zoom simplificationsPaul Davis
2014-07-01Merge branch 'ripple-mode-cc' into cairocanvasColin Fletcher
Fix up merge conflicts in gtk2_ardour/editor_mouse.cc gtk2_ardour/editor_ops.cc Also fix up compile errors.
2014-07-01merge with master.Paul Davis
Manually resolved conflicts in import.cc and session.cc
2014-06-28add RAII DisplaySuspenderRobin Gareus
2014-06-28use a hash-table to cache gui propertiesRobin Gareus
2014-06-27replace old implementation of Editor::_ensure_time_axis_view_is_visible() ↵Paul Davis
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-26removed no-longer-used Editor::track_canvas_motion()Paul Davis
2014-06-25use new ruler dialog class for context clicks on ruler labels areaPaul Davis
2014-06-25remove unused codePaul Davis
2014-06-25lock dialog MUST be a Gtk::Dialog so that it does not forward key (or other) ↵Paul Davis
events to the Editor
2014-06-25new timer-based GUI locking codePaul Davis
2014-06-24add a modal lock dialog for better testing (and someone might find it ↵Paul Davis
useful, too)
2014-06-24add ability to save current action sensitivities and restore them, and to ↵Paul Davis
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-22more canvas refactoring.Paul Davis
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-21use newly factored canvas in gtk2_ardourPaul Davis
2014-06-18more work on cursor tracking statePaul Davis
2014-06-18a whole slew of changes related to centralizing and rationalizing cursor ↵Paul Davis
management. Debugging output left in place to help address the reports that will come in as people test this more
2014-06-13do most of the work related to adding new anchored trim cursors (but ↵Paul Davis
debugging/analysis continues)
2014-06-13fix scrolling behaviour in track headers (event was stolen by rulers because ↵Paul Davis
event coordinates made it look as if the event happened there)
2014-06-12remove no-longer-used codePaul Davis
2014-06-12add canvas rulers event dispatch and reinstate scrolling behaviourPaul Davis
2014-06-12remove header file includes of now-removed gtk custom rulerPaul Davis
2014-06-11use canvas rulers now instead of gtk widgetsPaul Davis
Some bugs that exist in master are still present.
2014-06-10make the icon set selector actually do somethingPaul Davis
2014-06-09forward scroll events from track control headers to the canvas, to get ↵Paul Davis
consistent scroll behaviour (whatever that behaviour is)
2014-06-09rename Editor::_canvas_bottom_rect as Editor::_canvas_drop_zone; increase ↵Paul Davis
its size; remove debug message
2014-06-08fix problem with calls to Editor::trackview_by_y_position() when using ↵Paul Davis
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-05reinstate a canvas group where we reparent regions while dragging, so that ↵Paul Davis
they are always on top. I mistakenly removed this during the onecanvas changes.
2014-06-03more profound changes to canvas scrolling, in particular find appropriate ↵Paul Davis
ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
2014-06-03remove useless groups from timebar area, clarify scroll group naming in editorPaul Davis
2014-06-03remove timebar canvas and just use a single canvas instead. This is just ↵Paul Davis
part one - lots of minor fixes to be done
2014-06-03different approach to independent scrolling, involving ArdourCanvas::ScrollGroupPaul Davis
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-02substantive changes to the logic and safety for naming of (audio/MIDI) ↵Paul Davis
sources, especially when created via import
2014-05-31towards region-trims preserving fade durationRobin Gareus
2014-05-29update x-fade context-menuRobin Gareus
2014-05-19change return type of Editor::axis_view_from_route()Paul Davis
2014-05-07Ripple mode: basic implementationColin Fletcher
Add a value for Ripple to EditMode enum. Add Ripple edit mode to edit mode dropdown, by adding it to the Editor::build_edit_mode_menu() helper function, and remove the old code that added items to the (now unused) Editor::edit_mode_strings. Add the regions that should be affected by the drag to RegionDrag::_views so that the drag carries them along automatically. Use a copy of the RegionList in Playlist::core_ripple(), since bad things happen when iterating over regions and they get moved around in the list. Handle rippling in removal of regions from playlist. When dragging in ripple mode, exclude all regions that lie before the original start position of the selected regions being dragged from rippling: this is what Mixbus does. Make editor dragging respect snap-to settings, by using the existing compute_x_delta() function, which did almost the right thing. Move setting of _last_frame_position out of that function so all ripple-dragged regions can move. Ripple when dragging from region list: even though Mixbus doesn't do this, it seems like a good idea. Prevent multi-track selection being dragged across tracks, by making RegionMotionDrag::y_movement_allowed() virtual, and overriding it in RegionRippleDrag to forbid dragging of selections containing regions on more than one track to dofferent tracks in ripple mode. Remember which TimeAxisView a ripple-mode drag that's allowed cross-track drags started from, so that the effect of rippling regions after any region that's dragged off that track can be undone.
2014-04-29"sequence regions" operation (remove space between selected regions) added, ↵Paul Davis
c/o Thomas Brand
2014-04-16add a transparent rect that is always located at the bottom of the track canvasPaul Davis
This gives us an event/drag-n-drop/click target for things "at the bottom"
2014-04-16make our intentions even clearer when call ↵Paul Davis
Editor::track_canvas_viewport_size_allocated()
2014-03-26rename ArdourMenu to ArdourDropdownBen Loftis
2014-03-25add back track shrink/expand buttonsPaul Davis
2014-03-25most of the support for save/restore of visible track countPaul Davis
2014-03-25first part of switch from shrink/expand tracks to pyramix-style "pick number ↵Paul Davis
of visible tracks". function to follow shortly, this is the control widget part