Commit graph

551 commits

Author SHA1 Message Date
Paul Davis
5cbb60d339 fix display of time selection rect(s) when switching mouse modes 2014-02-26 10:50:51 -05:00
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
d23c2499bf rationalize, consolidate and make work dbl-click editing for regions and markers, as part of the Drag model rather than discretely 2014-01-27 10:09:58 -05:00
Paul Davis
b2895eaa50 fix visibility of punch and loop rects.
They used to be in the time_line_group but this is regularly cleared of all its members (which were assumed to be time lines).
2014-01-26 14:04:23 -05:00
Paul Davis
84f55440a3 fix redrawing of canvas with an optimized build
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00
Robin Gareus
dc7878760d vtl: do not lock audio [to video] when extracting audio-only. 2013-12-23 10:28:32 +01:00
Paul Davis
ea1ccb869a fix merge with master 2013-10-31 13:16:51 -04:00
Colin Fletcher
abb05680b4 Make double-click on marker pop up rename dialogue. 2013-10-25 17:03:45 +01:00
Colin Fletcher
89193dc40b Add a double-click handler for items in the editor window. 2013-10-25 17:03:45 +01: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
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
c222acecaa fix #5609 (import with 1 track per channel mis-associates tracks + channels)
when using ImportDistinctChannels, correctly name regions so that playlists for each channel/track
are also named differently, and thus reloaded properly when the session is reloaded.
2013-08-08 15:24:15 -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
d5209cb4bf fix #5609 (import with 1 track per channel mis-associates tracks + channels)
when using ImportDistinctChannels, correctly name regions so that playlists for each channel/track
are also named differently, and thus reloaded properly when the session is reloaded.
2013-07-23 11:29:10 -04:00
Paul Davis
aaaeb958c1 switch samples_per_pixel to integer type 2013-06-18 23:02:54 -04:00
Robin Gareus
11619a37bf Merge branch 'master' into cairocanvas
Conflicts:
	gtk2_ardour/editor_canvas.cc
	gtk2_ardour/imageframe_time_axis.cc
	gtk2_ardour/imageframe_time_axis.h
	gtk2_ardour/imageframe_time_axis_group.cc
	gtk2_ardour/imageframe_time_axis_group.h
	gtk2_ardour/imageframe_time_axis_view.cc
	gtk2_ardour/imageframe_time_axis_view.h
	gtk2_ardour/imageframe_view.cc
	gtk2_ardour/imageframe_view.h
	gtk2_ardour/marker_time_axis.cc
	gtk2_ardour/marker_time_axis.h
	gtk2_ardour/marker_time_axis_view.cc
	gtk2_ardour/marker_time_axis_view.h
	gtk2_ardour/marker_view.cc
	gtk2_ardour/marker_view.h
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/visual_time_axis.cc
	gtk2_ardour/visual_time_axis.h
	libs/canvas/canvas/circle.h
2013-06-14 21:09:24 +02:00
Robin Gareus
084af4727d remove cruft - old CMT imageframe* 2013-06-14 17:18:59 +02:00
Paul Davis
f00b3b7f11 merge with master 2013-06-13 23:00:24 -04:00
Robin Gareus
6b480bb2f7 vtl: make "Remove Video" insensitive if N/A 2013-06-13 00:58:19 +02: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
e1b0f1bd0b merge with master 2013-05-04 22:41:10 -04:00
Paul Davis
40944574c6 the big rework of window management. probably not complete at thsi point, but this is mostly functional 2013-05-04 22:02:05 -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
d14f43ccf2 fix operation of right-click on selected MIDI note to bring up the note editor. this is still not really right long term, but it is better than displaying the channel selector 2013-05-02 15:16:56 -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
f88cfdb478 remove Editor::redraw_measures to improve efficiency of tempo measure line redraws 2013-04-20 16:11:40 -04:00
Robin Gareus
5cac4a6885 vtl: get rid of unused "bar" inside the ruler 2013-04-17 02:27:17 +02:00
Robin Gareus
1227f2b73e vtl: get rid of one more unnecessary canvas-group 2013-04-17 02:27:06 +02: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
64c861a791 fix markers so that the blue line spans both canvases 2013-04-15 16:10:13 -04:00
Paul Davis
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
Paul Davis
af4539f857 a few changes to fix region dragging, all related to coordinate system handling, which is now much simpler with the new canvas; more debugging output when asked for 2013-04-15 10:38:12 -04:00
Paul Davis
cfe4bfb732 remove another pointless adjustment 2013-04-13 07:50:31 -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
8eef4b1904 master merge; new files not added after initial cairocanvas patch application 2013-04-05 17:16:33 -04:00