summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
AgeCommit message (Collapse)Author
2013-04-24many pervasive changes primarily related to waveform drawing, particular ↵Paul Davis
content-dragging, colors, and more
2013-04-18fix various event coordinate system problems with button events on the rulersPaul Davis
2013-04-18semi-fix xfade display, and reduce number of calls to Curve::get_vector() by ↵Paul Davis
a factor of two
2013-04-17fix playhead dragging from rulersPaul Davis
2013-04-17various work waveview amplitude mgmt; fix playhead cursor drag from timebar ↵Paul Davis
click
2013-04-16change UIConfig to use accessor/setter methods like RCConfig so that ↵Paul Davis
ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
2013-04-15Fix dragging objects on the canvas and remove redundant canvas groupsPaul Davis
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-15a few changes to fix region dragging, all related to coordinate system ↵Paul Davis
handling, which is now much simpler with the new canvas; more debugging output when asked for
2013-04-12Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvasPaul Davis
2013-04-12changes to get cairocanvas branch to build on OS X, with its stupid nil and ↵Paul Davis
Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master
2013-04-12remove TimeAxisView::clip_to_viewport() and Editor::update_canvas_now() and ↵Paul Davis
Editor::flush_canvas() which should no longer be necessary with a sane canvas design
2013-04-12change frames_per_pixel to samples_per_pixelPaul Davis
2013-04-12change all frame_to_pixel and pixel_to_frame to sample_to_pixel and ↵Paul Davis
pixel_to_sample
2013-04-12remove all unit-based methods from (Public)Editor; rationalize ↵Paul Davis
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-11Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvasPaul Davis
2013-04-11many changes to get the cairo-canvas version much, much more functional. ↵Paul Davis
still problems with a lot of subtle and not-so-subtle issues
2013-04-11Merge branch 'master' into cairocanvasRobin Gareus
Conflicts: gtk2_ardour/editor.h gtk2_ardour/editor_canvas.cc gtk2_ardour/wscript
2013-04-11enable videotimeline by defaultRobin Gareus
2013-04-04commit immediately post linkingPaul Davis
2013-04-04initial commit of hand merging, plus getting "ancient" waf script to work ↵Paul Davis
correctly
2013-03-27use C++ std function for max()Robin Gareus
2013-03-27vtl: video sets session start/end markers.Robin Gareus
2013-03-14vtl: one less compiler warningRobin Gareus
2013-03-13videotimlineRobin Gareus
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-01-20Fix crash when trimming MIDI region with automation.David Robillard
This seems impossible, but it happens. Reproduction instructions: 1) Click in an empty portion of MIDI track to create a region 2) Add a CC lane 3) Click some points into lane (perhaps unnecessary) 4) Switch lane to linear mode (perhaps unnecessary) 5) Attempt to extend region leftward (with draw tool, but probaby doesn't matter) 6) Boom Note trimming still doesn't work in this case and something seems deeply broken, but at least it doesn't crash now. git-svn-id: svn://localhost/ardour2/branches/3.0@13922 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-06fix problem with dragging an end range marker if the start of the range was ↵Paul Davis
near zero git-svn-id: svn://localhost/ardour2/branches/3.0@13795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04fix invalid casts in prev commit.Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04merge Marcel Bonnet's patches for Free-BSDRobin Gareus
(may need further cleanup: compare with timbyr's windows patch, verify fst/vsti + ALSA) git-svn-id: svn://localhost/ardour2/branches/3.0@13774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-02various fixes for moving markers, fixes a crash reported by tim blechmann ↵Paul Davis
and also likely #5232 and #5241 git-svn-id: svn://localhost/ardour2/branches/3.0@13754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19fix push-drags of automation data - previously we did not resync the model ↵Paul Davis
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-14code cleanup; crossfade shape drawing is now more closely associated with ↵Ben Loftis
the fade-in shape rather than a separate thing. could probably be consolidated into fewer functions, but this is an interim step for testing. Also remove the use-current-fade-shape option which is not meaningful in new model git-svn-id: svn://localhost/ardour2/branches/3.0@13669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14fix a couple of issues with range selection, caused by clicked_selection ↵Paul Davis
persisting across drag/click ops git-svn-id: svn://localhost/ardour2/branches/3.0@13666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13various fixes for "advanced" operations on range selections. ctrl-drags now ↵Paul Davis
add a new range selection, allowing discontiguous selections as in ardour2, shift-click extends an existing range selection to the clicked position, alt-drag on a range selection moves it, and to do a so-called "separation drag" now use ctrl-alt-drag (or ctrl-alt-click) git-svn-id: svn://localhost/ardour2/branches/3.0@13660 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13crossfade hack and slash. removed overlap checks, overlap mode, default ↵Ben Loftis
length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13end drags on regions before doing front trim, so that fades get visually ↵Paul Davis
updated rather than skipped because dragging() still returned true git-svn-id: svn://localhost/ardour2/branches/3.0@13657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-05prevent Primary-click or Shift-click from deselecting when clicking on a ↵Paul Davis
track "background" git-svn-id: svn://localhost/ardour2/branches/3.0@13604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28tweak Auto Play behavior: dont auto-play a range selection if the auto-play ↵Ben Loftis
option is on; but note that this is still possible if both auto-play and follow-edits is on git-svn-id: svn://localhost/ardour2/branches/3.0@13562 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26region selections and moves should have optional preroll when playhead ↵Ben Loftis
follows edits git-svn-id: svn://localhost/ardour2/branches/3.0@13552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26tweak Smart Mode to be more like Mixbus. Smart mode is just a modifier on ↵Ben Loftis
Object mode which provides Range selection in the top half of the waveform. probably lots of corner cases to clear up before its all over, but at least we can use Mixbus as a consistent target rather than making it all up again. git-svn-id: svn://localhost/ardour2/branches/3.0@13551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20Always Play Range is now Follow Edits, and is based on Mixbus ↵Ben Loftis
implementation. Added menu item. Follow Edits button replaces Auto Play; removed the connector between play and play-range. Some Smart Mode changes came along for the ride but will be cleaned up shortly git-svn-id: svn://localhost/ardour2/branches/3.0@13537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18grid/snap minimum selection lengthRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17substantive change to automation line dragging code to avoid O(N^4) ↵Paul Davis
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-13remove a bunch of cerr output and/or convert to use error<<Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13477 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10cleaner version of previous commit's fix for AutomationRangeDrag y fraction ↵Paul Davis
computation git-svn-id: svn://localhost/ardour2/branches/3.0@13013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10provide some numerical data during automation trim (range) drags, and ↵Paul Davis
correct computation of y-fraction for such drags git-svn-id: svn://localhost/ardour2/branches/3.0@13011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10add a comment to the previous changePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10don't spin on Session::timecode_transmission_suspended() if disconnected ↵Paul Davis
from JACK because it will never be re-enabled (fixes lockups when disconnected) git-svn-id: svn://localhost/ardour2/branches/3.0@13007 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25drastic rethink of the relationship between remote control ID and route ↵Paul Davis
order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-15Re-show all xfades that we hide during drags (#4933).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12729 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13Make y position of MIDI note drags slightly better.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@12707 d708f5d6-7413-0410-9779-e7cbd77b26cf