0a9595f74f
make verbose canvas cursor color be set in its constructor rather than explicitly
2014-06-27 09:37:57 -04:00
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02:00
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
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
0796ccfb65
use newly factored canvas in gtk2_ardour
2014-06-21 11:44:22 -04:00
f5edb5a022
correct conversion of drop y-position into trackview for drag-n-drop of external files
2014-06-19 13:45:22 -04:00
f552c1cc5c
fix potential crash in Editor::set_canvas_cursor() if inadvertently passed a null cursor (semantics are different on OS X vs. X Window)
2014-06-19 09:26:00 -04:00
e7895e1f80
more work on cursor tracking state
2014-06-18 21:03:25 -04:00
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
c30bda5173
a set of inter-related subtle changes to get vertical autoscrolling to work, or at least work better.
2014-06-17 08:08:14 -04:00
23b1c59630
fix erroneous start of autoscroll when mouse pointer is left or above the left/upper scrolling boundary but we're already scrolled to zero on the relevant axes
2014-06-13 18:43:53 -04:00
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
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
79c30ab766
make rulers color-sensitive (e.g. theme manager editable, etc)
2014-06-12 01:07:58 -04:00
22f45b5a78
Revert "do not allow canvas cursor changes while a drag is in progress". This
...
was a bad idea. There are lots of reasons to want to change cursors while
dragging, even if we don't do that yet.
This reverts commit 144033e55c
.
2014-06-10 18:50:42 -04:00
144033e55c
do not allow canvas cursor changes while a drag is in progress
2014-06-10 16:46:09 -04:00
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
95f2b4ba17
change height of canvas drop so last 20 pixels of bottom track is still visible when fully scrolled down
2014-06-09 09:12:42 -04:00
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
5285bb587f
fix position where rubberband rect is drawn
2014-06-06 08:33:13 -04:00
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
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
da7a860256
remove useless groups from timebar area, clarify scroll group naming in editor
2014-06-03 16:11:24 -04:00
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
c9f890bd7c
avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups
2014-06-03 16:10:27 -04:00
da67cb92e9
whitespace deletion
2014-06-03 16:10:27 -04:00
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
97109672c7
initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.
...
This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step
2014-06-03 16:09:06 -04:00
529a31bde7
remove unnecessary and wierd constant for bottom rect (drop zone) of track canvas
2014-05-19 14:00:36 -04:00
5668eea2a3
add a transparent rect that is always located at the bottom of the track canvas
...
This gives us an event/drag-n-drop/click target for things "at the bottom"
2014-04-16 04:16:56 -04:00
8b93576c18
not that anyone ever runs with the SAE profile and not that we want to support it, but don't crash if they do
2014-04-16 03:00:49 -04:00
dbb8501429
make our intentions even clearer when call Editor::track_canvas_viewport_size_allocated()
2014-04-16 02:55:08 -04:00
fea4f14242
make our intentions clear when call Editor::track_canvas_viewport_size_allocated()
2014-04-16 02:52:55 -04:00
f2673bb9bf
remove reference to JACK constant
2014-04-10 10:22:13 -04:00
232cb73983
remove final reference to jack headers
2014-04-10 10:17:36 -04:00
Paul Davis
f89ddb10aa
comment edit
2014-04-01 04:14:34 -04:00
200a67fba8
most of the support for save/restore of visible track count
2014-03-25 10:33:18 -04:00
95f81e2d24
add optional arg to Editor::ensure_time_axis_view_is_visible() to "force" "make it visible as the top track" behaviour
2014-03-24 19:46:45 -04:00
4f7d94ea67
latest tweaks to autoscroll: symmetrical boundary on both sides, stop runaway scrolling, and more
2014-03-21 09:49:35 -04:00
65b4308c84
first pass at quantizing vertical scroll to whole tracks.
...
Dragging regions vertically does the quantization BUT speed control is lacking and the region ends up on
a track that is still invisible ... to be fixed as the sun rises.
2014-03-21 07:02:32 -04:00
9df3157dfc
big rework of scrolling, horizontal part considered almost 100% done.
...
Many more changes than I would typically like in a single commit, but this was all very intertwined.
Vertical scrolling using track-stepping still to follow.
2014-03-20 13:29:45 -04:00
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
cc22583c16
reorder (in source only) positioning of ruler/marker canvas groups
2014-02-25 12:02:50 -05:00
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
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
daf51a2e49
fix height issue with canvas-based rulers/bars, and use enums for outline specs
2014-01-10 10:57:33 -05:00
e841b33475
add (debug) names to various items
2013-12-30 14:01:56 -05:00
08b485db75
send enter events to EVERY newly entered item (ignore the bool return from the event handler); other canvas debugging aids;switch items_at_point() to use canvas coordinates
2013-11-03 10:07:00 -05:00
f8574fc39d
'gtk2_ardour' - Add namespaces + casting where necessary + general bits of 'correctness' to keep MSVC happy
2013-10-03 09:06:56 +01:00
0947791a80
remove debug output
2013-07-10 19:10:52 -04:00
525cb6b4a7
some sort-of-deep fixes to get autoscroll/vertical scroll to work properly for cairocanvas
2013-07-10 19:10:06 -04:00
b9c94f6dbf
remove all calls to Outline::set_outline_width (1) because this is "wrong" when using Cairo - the default is 0.5 and it can remain that way
2013-04-17 10:56:04 -04:00
d1a05240ef
fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it
2013-04-17 10:53:17 -04:00
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
5cac4a6885
vtl: get rid of unused "bar" inside the ruler
2013-04-17 02:27:17 +02:00
1227f2b73e
vtl: get rid of one more unnecessary canvas-group
2013-04-17 02:27:06 +02:00
64c861a791
fix markers so that the blue line spans both canvases
2013-04-15 16:10:13 -04:00
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
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
cfe4bfb732
remove another pointless adjustment
2013-04-13 07:50:31 -04:00
05caa9caa1
removal of sundry Adjustments and consolidation of scrolling around two editor-owned Adjustments
2013-04-13 07:29:49 -04:00
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
b05968fb4e
change frames_per_pixel to samples_per_pixel
2013-04-12 11:31:50 -04:00
8877199ae0
leftmost_position => leftmost_sample, current_page_frames => current_page_samples
2013-04-12 11:21:12 -04:00
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
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
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
66ee2c8e59
enable videotimeline by default
2013-04-11 19:49:48 +02:00
204da61f98
remove incorrect merge of cairocanvas patch that stopped most tracks from displaying; add more debugging info
2013-04-10 14:42:36 -04:00
6830d83236
vtl: make videotimeline work with new cairo canvas
...
timeline thumbnail display, moving (drag/drop) and zoom works.
There still some crashes e.g. resizing the height of the timeline
and with off-screen image buffering when zooming in.
Likely due to concurrency issues:
VideoImageFrame::exposeimg() and direct access of the pixbuf:
"Assertion `!_bounding_box_dirty' failed." in canvas/item.cc:191
more work is needed..
2013-04-06 04:10:27 +02:00
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
19bd641915
commit immediately post linking
2013-04-04 18:45:27 -04:00
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00
197e75ab80
allow Drag-n-Drop onto the empty canvas (again); always import MIDI files since we consider them writable and so embedding isn't a safe option
2013-03-29 14:09:03 -04:00
613678233a
minor fix for misleading comment
2013-03-28 16:18:08 -04:00
268553ecd4
honor CTRL modifier when drag/drop importing files (copy vs embed)
2013-03-21 21:33:02 +01:00
7b998ceba1
fix an old bug introduced when cth tried (valiantly) to make region-list -> DnD -> canvas behave like a regular region drag. this doesnt' work because the RegionInsertDrag() grabs the mouse and breaks the DnD. in addition, the code failed to correctly indicate when a drop was possible (over a Track) and when it was not (over a Bus) - this has also been fixed. the actual code in Editor::drop_regions() could and should be simplified - no reason to use a RegionInsertDrag here, but it was fast
2013-03-20 17:33:25 -04:00
0c3e840700
videotimline
...
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
00e1b1410c
fix reversion of keyboard focus from gain display editing widget in both mixer and editor windows
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13628 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-10 02:03:45 +00:00
Carl Hetherington
2e71cb2e26
Add option to disable autoscroll of editor ( #4721 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-17 12:38:59 +00:00
8d5065bc32
remove, convert, comment several cerr statements
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22 12:57:05 +00:00
2b7d17e904
reorder editor route list columns to put visible and active first (from joern)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11732 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-20 17:08:07 +00:00
1b19db251b
debug tracking mouse presence in track canvas
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-12 14:29:48 +00:00
6c1000070b
fix cut-n-pastie relating to tracking mouse presence in track canvas
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11649 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-12 13:40:51 +00:00
c52c2b7368
forward-port some fixes from a2
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-09 17:15:25 +00:00
Carl Hetherington
664cec2135
Don't autoscroll right if we are moving left, and vice versa; should fix #4676 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11393 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-30 21:33:32 +00:00
f758ed0f41
more fixups of various things including cursors when note editing. in particular, don't needlessly reset the cursor during a drag. note insertion with ctrl pressed now only works if in MouseObject mode.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19 22:23:28 +00:00
efab36a85e
new mouse mode (Draw (notes)); switch into internal mode when draw is selected; notably improve use of dbl-click to enter and exist internal/note edit mode
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11269 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19 15:23:51 +00:00
Carl Hetherington
b78cb4d41a
Fix autoscroll fudge calculations. Remove some unused
...
code. Should help with #4501 .
git-svn-id: svn://localhost/ardour2/branches/3.0@10767 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 12:22:46 +00:00
Carl Hetherington
fe145ce380
Start autoscroll in from the right-hand edge of the screen if the editor list is not in view, so that autoscroll kind-of works in this situation ( #4473 and #4216 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-20 19:38:37 +00:00
Carl Hetherington
adfce3b762
Trim includes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-18 00:04:49 +00:00
0938a42440
fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
Carl Hetherington
86d2afaf4e
colinf's patch for #4223 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9952 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-03 13:27:48 +00:00
af7ba3347c
when tabbing between track/bus name entries, attempt to scroll appropriately ( #4223 )
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-25 20:28:51 +00:00
65c2782e6e
fix up horizontal sizing of the track controls area in the editor
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-07 13:15:53 +00:00
ed626628b5
Delete trailing whitespace
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Carl Hetherington
988348185e
Separate verbose cursor out into its own class and clean up the API. Fixes #4010 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-02 13:38:16 +00:00
4f73aabc13
remove unused signal
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9058 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 18:51:54 +00:00
Carl Hetherington
2ffc0cbe25
Fix incorrect mouse cursors after zoom mode clicks.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 22:35:34 +00:00
314f0d91d3
a radically new approach to sizing the track header layout that now allows ardour to shrink dramatically in vertical height. current lower limit is about 763 pixels WITH the editor mixer strip, and something much, much smaller without it
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8608 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-29 14:48:59 +00:00