Commit graph

712 commits

Author SHA1 Message Date
Paul Davis
c04285addf convert canvas_event_frame() and window_event_frame() to canvas_event_sample() and window_event_sample() to go along with the convention adopted in cairocanvas code re: frames+samples 2014-02-26 08:43:53 -05:00
Paul Davis
d00dc6a706 various work to make loop/punch display work better (including fixes for bugs present in master also) 2014-01-27 21:27:13 -05:00
Paul Davis
b9185d2c07 Merge branch 'master' into cairocanvas 2014-01-17 09:25:03 -05:00
Paul Davis
17309c41c3 use Glib URI utility function to generate a local filename from a URI, rather than hand-crafted code 2014-01-17 09:24:32 -05:00
Paul Davis
b880a38152 Merge branch 'master' into cairocanvas 2013-12-28 14:00:20 -05:00
Robin Gareus
5bc8750f73 prevent 0-pointer dereference in editor_routes.cc - fixes #5794 2013-12-28 16:15:00 +01:00
Paul Davis
85daa31ab5 all events propagate out of the canvas in canvas coordinates now, so revert changes in editor_drags.cc that worked around this not being the case 2013-10-31 16:43:35 -04:00
Paul Davis
7ce86cec7d handle enter/leave items when zooming and scrolling occur 2013-10-31 03:10:18 -04:00
Paul Davis
e5888d3983 merge with master and fix 2 conflicts 2013-10-16 22:06:56 -04:00
Robin Gareus
c2b2953f8c export video-range: add to context menu 2013-10-12 22:56:08 +02:00
Paul Davis
fd23ebd088 Merge branch 'master' into cairocanvas 2013-09-17 21:23:30 -04:00
Paul Davis
1740bbb966 correctly restore zoom focus state after restart (from nick mainsbridge) 2013-09-16 22:32:55 -04:00
Paul Davis
7a30e63eaa fix merge conflicts with master 2013-09-14 16:42:40 -04:00
Colin Fletcher
1da655c2eb Fix special handling of 'zoom vertical' scroll wheel modifier key.
gtkmm2ext/keyboard.cc has a special case to emit a signal on the key-up of
the modifier key used to adjust track heights in conjunction with the
scroll wheel, so that the same track continues to be resized even when
it's shrunk to no longer be under the mouse cursor. However, this code
assumed that the modifier key for this was <Shift>.

Fix it to use the event->state bit corresponding to
ScrollZoomVerticalModifier instead, and rename the relevant functions to
clarify that it's the 'zoom vertical' modifier key they're dealing with.

Partially fixes #5610.
2013-08-08 15:24:15 -04:00
Paul Davis
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
Colin Fletcher
8e376f7a2a Fix special handling of 'zoom vertical' scroll wheel modifier key.
gtkmm2ext/keyboard.cc has a special case to emit a signal on the key-up of
the modifier key used to adjust track heights in conjunction with the
scroll wheel, so that the same track continues to be resized even when
it's shrunk to no longer be under the mouse cursor. However, this code
assumed that the modifier key for this was <Shift>.

Fix it to use the event->state bit corresponding to
ScrollZoomVerticalModifier instead, and rename the relevant functions to
clarify that it's the 'zoom vertical' modifier key they're dealing with.

Partially fixes #5610.
2013-07-23 16:42:34 +01:00
Paul Davis
3031a99364 Merge branch 'master' into cairocanvas 2013-06-25 22:24:47 -04:00
Paul Davis
2b74c955f1 fix zoom focus issue that was messing up zoom changes 2013-06-25 21:56:10 -04:00
Julien de Kozak
8af47234fb remove compilation warning 2013-06-23 13:37:50 +02:00
Paul Davis
aaaeb958c1 switch samples_per_pixel to integer type 2013-06-18 23:02:54 -04:00
Paul Davis
bebe2af95a merge with master 2013-05-08 14:48:28 -04:00
Paul Davis
a902737db9 various changes to window visibility mgmt, including use of the mixbus2 code for toggling editor + mixer windows. no longer attempt to track changes made outside of ardour, which is a lost cause 2013-05-07 13:01:26 -04:00
Paul Davis
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
Paul Davis
3973ce81b3 remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works 2013-05-02 18:13:35 -04:00
Paul Davis
81485faa83 remove CMT code - has not been used for years, and will become irrelevant with VTL and cairocanvas 2013-05-02 12:21:41 -04:00
Paul Davis
54bf06e63c Merge branch 'master' into cairocanvas 2013-04-26 14:20:11 -04:00
Paul Davis
db34831b18 redesign toggling of editor/mixer stacking to use Gtkmm2ext::VisibilityTracker 2013-04-26 14:12:52 -04:00
Paul Davis
6f664c1f67 many pervasive changes primarily related to waveform drawing, particular content-dragging, colors, and more 2013-04-24 15:42:14 -04:00
Paul Davis
f88cfdb478 remove Editor::redraw_measures to improve efficiency of tempo measure line redraws 2013-04-20 16:11:40 -04:00
Paul Davis
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
Paul Davis
84fb0a8dce remove all XML related API from canvas. it may have been useful during development, but it is just a distraction - we will NEVER be saving or restoring canvas state via XML or any kind of serialized state 2013-04-15 21:57:08 -04:00
Paul Davis
05caa9caa1 removal of sundry Adjustments and consolidation of scrolling around two editor-owned Adjustments 2013-04-13 07:29:49 -04:00
Paul Davis
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
Paul Davis
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
Paul Davis
8877199ae0 leftmost_position => leftmost_sample, current_page_frames => current_page_samples 2013-04-12 11:21:12 -04:00
Paul Davis
4258a34912 change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample 2013-04-12 11:15:45 -04:00
Paul Davis
ecfd2a7455 remove all unit-based methods from (Public)Editor; rationalize 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-12 11:09:49 -04:00
Paul Davis
f208593249 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-11 22:54:22 -04:00
Paul Davis
ee1f0520a8 many changes to get the cairo-canvas version much, much more functional. still problems with a lot of subtle and not-so-subtle issues 2013-04-11 20:19:22 -04:00
Robin Gareus
6ae4f10437 Merge branch 'master' into cairocanvas
Conflicts:
	gtk2_ardour/editor.h
	gtk2_ardour/editor_canvas.cc
	gtk2_ardour/wscript
2013-04-11 22:24:05 +02:00
Robin Gareus
66ee2c8e59 enable videotimeline by default 2013-04-11 19:49:48 +02:00
Paul Davis
30968b8542 merge with master, including manual merge conflict resolution 2013-04-06 16:12:15 -04:00
Paul Davis
cd6cbba299 rename Route::is_hidden() to Route::is_auditioner() and Route::Hidden to Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit 2013-04-06 16:04:02 -04:00
Paul Davis
8eef4b1904 master merge; new files not added after initial cairocanvas patch application 2013-04-05 17:16:33 -04:00
Paul Davis
07a505b1b2 lots of tweaking and adding debug output including operator<</dump(ostream&) methods to help visualize canvas structure 2013-04-05 11:27:26 -04:00
Paul Davis
19bd641915 commit immediately post linking 2013-04-04 18:45:27 -04:00
Paul Davis
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
Colin Fletcher
ddfc047f0e Update region_ops.txt to match current behaviour, and fix a couple of comments.
Update region_ops.txt to better describe the current behaviour of
Editor::get_regions_from_selection_and_edit_point(), and fix a couple of
comments that still referred to the no-longer-existing 'edit' property of
route groups.
2013-04-03 23:21:53 +01:00
Colin Fletcher
47efae83d1 Don't include unselected regions in edit grouped region operations.
Make Editor::get_regions_from_selection_and_entered() only return regions
that are actually selected or entered, not their unselected equivalents.
2013-04-03 18:21:12 +01:00
Colin Fletcher
b49f2a10d2 Ignore track selection if there are any selected regions.
Make Editor::get_regions_from_selection_and_edit_point() only consider the
selected tracks when finding regions to operate on if there are no regions
selected, and never if the edit point is 'mouse'.
2013-04-03 17:29:34 +01:00