cd15d27033
Put tempo lines below tracks.
2015-01-12 01:05:01 -05:00
43e58911a4
Remove unused vertical scroll group.
2015-01-12 01:05:01 -05:00
e79af77a18
Revert "hotfix z-stacking"
...
This reverts commit 03f0229bcf
.
Mitigate the fallout from said overly aggressive revert: preserve the alpha
values to not break the color configuration for when the lines are fixed.
2015-01-12 01:03:17 -05:00
03f0229bcf
hotfix z-stacking
...
This reverts commit 780c1762
and e70c9a3
Both combined introduced various bugs:
* rubberband-selection has a scroll-offset
* region drag/drop has wrong y-offset
* ranges (loop etc) are above the playhead
* possible scroll performance hit (long unclipped
lines in h_scroll_group)
on the downside: time-grid is now no longer visible behind
the rulers. Doing that will require a different approach…
2015-01-11 14:17:47 +01:00
780c17620e
Raise regions about tempo lines.
2015-01-10 19:38:21 -05:00
e70c9a3da1
Show tempo lines under marker bars.
2015-01-08 15:24:14 -05:00
58a4e01430
Update background color when theme is changed.
2015-01-07 01:23:13 -05:00
486d47db0e
Fix smart mode cursor on audio regions.
2014-12-30 12:50:15 -05:00
62355de33a
Fix cursor update on nested entry.
...
For example, if you're in a note and something about the mode changes, it's the
underlying region context that needs to change. So, seems we need a stack of
entry contexts to deal with this sort of thing.
Switching in/out of smart mode still doesn't update immediately because we
don't have the y-coordinate needed to update it.
2014-12-23 13:47:59 -05:00
e00c579fb2
Update canvas cursor on pop.
2014-12-23 13:47:59 -05:00
64fa63212f
move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration
2014-12-22 13:39:46 -05:00
David Robillard
670938c8c4
Fix various cursor problems.
...
Add a new scoped cursor system that makes it much harder to screw up and end up
with stick cursors and so on.
2014-12-20 01:13:25 -05:00
5fef655380
Remove internal edit mode and add "content" tool.
2014-12-18 20:21:01 -05:00
e90ecdd5c5
Fix marker bars "gradient" colors.
2014-12-16 00:02:06 -05:00
5471ef8a79
make editor rubber band rect have appropriate transparency
2014-12-15 13:37:25 -05:00
7b023f4ee0
next modifier
2014-12-15 10:11:21 -05:00
ccbedaee51
next modifier
2014-12-15 10:00:20 -05:00
04a1893ffd
next modifier, and remove color 102 since nothing uses it
2014-12-15 09:47:39 -05:00
56ca52651e
fix up requested color names everywhere.
...
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
48a7a11974
initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
...
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
603748d68a
Unify gain and draw tools.
...
There might be a few special cases lingering around from attempts at magic tool
business, but this seems to work fine as far as I can tell.
2014-12-07 20:37:46 -05:00
8e54baa65f
working compilation for new color code
2014-12-05 09:01:55 -05:00
bd577a0663
Avoid possible use of uninitialized values.
...
This could only happen with a broken widget, but it shuts up clang and doesn't
hurt.
2014-11-18 02:55:03 -05:00
5d5d9cb9e2
Fix various sticky/broken cursor issues.
...
This still isn't quite right, but it's a lot less broken than before, at least.
2014-11-14 02:37:36 -05:00
73e25ec571
redraw entire canvas when ColorsChanged is emitted
2014-11-10 10:45:33 -05:00
0960122686
set canvas background color
2014-11-10 10:45:18 -05:00
db98083f20
Remove unused variable.
2014-10-31 20:46:09 -04:00
ba4d1cd1c1
remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config()
2014-10-21 22:58:58 -04:00
b73f725676
remove mouse zoom mode; bind z to zoom-to-range
2014-10-21 12:47:53 -04:00
46f5c0c769
fix note 15897 on #5589 - only use fader cursor for region gain line when in mouse gain mode
2014-10-21 11:50:06 -04:00
4d0f30f5a8
fix note 0015900 on #5589 (cursor doesn't change when switching edit point
2014-10-13 15:19:07 -04:00
451e48de5f
fix compiler warnings
2014-09-15 14:09:12 -04:00
885f1c71ec
Remove unused variables (fix warnings).
2014-08-31 17:54:16 -04:00
b69870dfe6
add Editor::trackviews_height() convenience function to determine height of trackview area of canvas; use to help fix set_visible_track_count(); don't consider hidden tracks in that function; add "Selected" to that selector menu
2014-07-15 18:09:04 -04:00
d0bc4b55fa
scroll up/down by tracks uses top edge as "focal point"; fix some other nasty code details
2014-07-14 12:36:51 -04:00
116a0ad327
fix inconsistency in smart mode where it shows a trim cursor in the top half of the region edge, but a click is actually going to start a range. It is arguable that we _should_ allow trimming in the top half, but that is complicated. This change is small and makes it consistent for now
2014-07-07 14:46:05 -05:00
7ec397c019
add basics of Cut mouse mode, no functionality yet. Icon images are still required
2014-07-07 07:05:43 -04:00
e3a6ea0273
give drop zone its own cursor-ability
2014-07-01 14:37:05 -04:00
4df566782c
remove canvas cursor debug output
2014-06-30 09:20:26 -04:00
c706b1c4bb
replace old implementation of Editor::_ensure_time_axis_view_is_visible() 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-27 10:49:05 -04:00
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