Commit graph

7193 commits

Author SHA1 Message Date
Paul Davis
525f2893f9 fix problem with calls to Editor::trackview_by_y_position() when using motion events. The coordinate passed in was in canvas space and the method expected trackview space
To handle any further issues like this, I generalized and added an optional argument specifying that the canvas=>trackview transform is required, thus
centralizing where this done.
2014-08-17 14:56:50 -04:00
nick_m
017a4a8a87 Use global clip level from prefs. Restore clip colour, \ 2014-08-17 14:56:27 -04:00
Paul Davis
678b836853 introduce Drag::_trackview_only which indicates that all y-axis positions for the pointer during a drag should be relative to the top of the trackview group.
More or less all drags except for Cursor (playhead) and drags in the range marker bars have this true (which is the default value)
2014-08-17 14:56:20 -04:00
Paul Davis
8c1e1d0a38 fix crash caused by click-on-region-name if name highlights are not in use - such a click is not a trim operation under those conditions 2014-08-17 14:56:02 -04:00
Robin Gareus
4e928dda90 fix 'use_latency_button' (broken in prev. commit) 2014-08-17 14:55:55 -04:00
Robin Gareus
8bf1afd0df basic Midi latency measurement GUI (re-use Audio latency notebook) 2014-08-17 14:55:42 -04:00
Robin Gareus
3744dd652b prepare MIDI latency measurement (backend) 2014-08-17 14:55:37 -04:00
Robin Gareus
bdbc4a4f6e remove some 1920 tick constants and leave notes for some others. 2014-08-17 14:55:27 -04:00
nick_m
aebd5863f0 Use a dumb cache for waveview ImageSurfaces. This halves the size of the
previous one, but usually ends up using three of them at the current
CACHE_HIGH_WATER setting.
Should result in a smaller memory footprint for sessions with
multiple copies of nearby audio segments (electronic style).
The downside is the larger memory footprint for linear recording
sessions if CACHE_HIGH_WATER > 1 (1 giving a max of two
half - sized cache entries per audio stream).
2014-08-17 14:55:20 -04:00
Robin Gareus
c987ad5281 limit automation event density - fixes #5928
Constrain control points to one per tick (1/1920 beats).

Prior to this it was possible to set two values to the
same time (interpolation and iteration failed).
2014-08-17 14:55:13 -04:00
Robin Gareus
8a6e04188d check for xjadeo/xjremote >= 0.7.7 2014-08-17 14:55:02 -04:00
Robin Gareus
366323e7e5 update for xjadeo 0.7.7 (don't connect to jackd by default) 2014-08-17 14:54:57 -04:00
Tim Mayberry
374f2b8a70 Fix paths in ardour.sh
Conflicts:
	gtk2_ardour/ardour.sh.in
	gtk2_ardour/wscript
2014-08-17 14:53:23 -04:00
Paul Davis
31834ac9b3 fix position where rubberband rect is drawn 2014-08-17 14:50:42 -04:00
Paul Davis
cb9c651639 fix up drawing and selection process for range selections (caused by subtle change in semantics of TimeAxisView::covered_by_y_range()) 2014-08-17 14:50:04 -04:00
Paul Davis
57867ddb50 fix issues with verbose canvas cursor because it was in a horizontally-only scroll group 2014-08-17 14:49:59 -04:00
Paul Davis
c64fcd2fc6 remove needlessly-added method 2014-08-17 14:49:52 -04:00
Paul Davis
983cbeba6f 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-08-17 14:49:44 -04:00
Paul Davis
8f177fd723 streamline logic for setting waveform colors 2014-08-17 14:49:27 -04:00
Paul Davis
efc85f052e tweak logic for region coloring, particularly when muted
Conflicts:
	gtk2_ardour/audio_region_view.cc
	gtk2_ardour/time_axis_view_item.cc
2014-08-17 14:49:17 -04:00
Robin Gareus
efeb662e7c unify Fade-Handle Cursors 2014-08-17 14:46:23 -04:00
Robin Gareus
b1b9bc8a3e Revert "frankenstein'ed fade+trim cursors"
This reverts commit 3b717da783.
2014-08-17 14:46:17 -04:00
Paul Davis
d921599e2d remove more unusued colors from TimeAxisViewItem 2014-08-17 14:46:10 -04:00
Paul Davis
bd54506ff6 remove unused label_color from TimeAxisViewItem
Conflicts:
	gtk2_ardour/time_axis_view_item.cc
2014-08-17 14:45:53 -04:00
Paul Davis
f8efcca6e2 hopefully fix up selection of color for region name text, under all conditions 2014-08-17 14:44:36 -04:00
Paul Davis
269567532e fix up various waves widgets after the CairoWidget::render() API change 2014-08-17 14:40:16 -04:00
Robin Gareus
6da331394b change the meters into CairoWidget, add expose_area to CairoWidget::render()
Conflicts:
	libs/gtkmm2ext/cairo_widget.cc
	libs/gtkmm2ext/fastmeter.cc
	libs/gtkmm2ext/gtkmm2ext/cairo_widget.h
	libs/gtkmm2ext/gtkmm2ext/fastmeter.h
2014-08-17 14:28:10 -04:00
Paul Davis
dd2ada892a remove reference to region_motion_group, which no longer exists.
Not sure why git cherry-pick left this in place
2014-08-17 14:18:43 -04:00
Robin Gareus
feb1a9e269 break out ALSA related functions into libardouralsautil 2014-08-17 13:47:14 -04:00
Robin Gareus
663fc9092d fixes to change engines while Ardour is running.
When a new backend is selected, it is loaded to query
available devices etc. This effectively drops the current backend.

Conflicts:
	libs/ardour/audioengine.cc
2014-08-17 13:46:47 -04:00
Robin Gareus
d4ea9c3ac7 disable pluginbox in RouteUI window when a track is frozen 2014-08-17 13:45:47 -04:00
Paul Davis
0fb82b76e4 fix two mysterious problems with stdint types 2014-08-17 13:45:14 -04:00
Paul Davis
fdbb93ea3c merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods 2014-08-17 13:44:57 -04:00
Paul Davis
e8e3460665 more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
Conflicts:
	gtk2_ardour/editor_mouse.cc
2014-08-17 13:43:52 -04:00
Paul Davis
f391837e1a remove utterly useless unused code 2014-08-17 13:38:55 -04:00
Paul Davis
3af66ff917 remove useless groups from timebar area, clarify scroll group naming in editor 2014-08-17 13:38:50 -04:00
Paul Davis
b74c871094 remove timebar canvas item from markers 2014-08-17 13:38:40 -04:00
Paul Davis
893452b388 remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done
Conflicts:
	gtk2_ardour/editor.cc
2014-08-17 13:38:30 -04:00
Paul Davis
11e789df5b avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups 2014-08-17 13:37:45 -04:00
Paul Davis
ff09ef3f60 remove incorrect calls to Editor::maybe_autoscroll() from specific Drag classes (autoscroll is handled by the Drag manager) 2014-08-17 13:37:40 -04:00
Paul Davis
dc96ea25d3 whitespace deletion 2014-08-17 13:37:33 -04:00
Paul Davis
cb9453b475 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-08-17 13:37:27 -04:00
Paul Davis
6e91e9fd5f remove unused variable 2014-08-17 13:37:23 -04:00
Paul Davis
87fa554ac9 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-08-17 13:37:16 -04:00
Paul Davis
ce63f22d80 comment tweak 2014-08-17 13:32:47 -04:00
Paul Davis
a69f7a9282 adding a new track via copy-region-drag now works (and shares code with the non-copy case
Conflicts:
	gtk2_ardour/editor_drag.cc
2014-08-17 13:32:39 -04:00
Paul Davis
dcbcf09cf5 make creation of ArdourCanvas objects in waves_ui.cc conditional on ARDOUR_CANVAS_HAS_XML_UI 2014-08-17 13:27:00 -04:00
Paul Davis
4078063b00 non-copy region drag now creates a new track when a region is dragged to the drop zone 2014-08-16 21:48:25 -04:00
Paul Davis
56762ecf3e part one of allowing region drag to the bottom (drop-zone) rect of track canvas 2014-08-16 21:48:12 -04:00
Robin Gareus
e1ec25ede9 fix linking against libasound 2014-08-16 21:47:34 -04:00