Commit graph

7292 commits

Author SHA1 Message Date
Robin Gareus
94632100a6 suspend route redisplay for (rec-en, solo, mute and monitor) batch changes
Conflicts:
	gtk2_ardour/ardour_ui.cc
	gtk2_ardour/route_ui.cc
2014-08-17 19:56:45 -04:00
Robin Gareus
67c1322f0d add RAII DisplaySuspender 2014-08-17 19:49:03 -04:00
Robin Gareus
8db5d93a35 use a hash-table to cache gui properties 2014-08-17 19:48:57 -04:00
Robin Gareus
3e4c9fcea2 use state Session::StateProtector 2014-08-17 19:48:51 -04:00
Paul Davis
21c26c8688 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-08-17 19:47:36 -04:00
Paul Davis
91fa5f7b2a add commentary on why PublicEditor::{_,}ensure_time_axis_view_is_visible() both exist 2014-08-17 19:47:28 -04:00
Paul Davis
1983bae513 fix edges of selection rects in time axis views to lie correctly within bounds of the time axis view 2014-08-17 19:46:24 -04:00
Paul Davis
29649b888d make time axis view item name text be insensitive to events
We don't really need to be able to click on this to do anything - dbl-click on the item brings up the edit menu etc.
2014-08-17 19:46:17 -04:00
Paul Davis
6c7cebe1e5 make verbose canvas cursor color be set in its constructor rather than explicitly 2014-08-17 19:46:02 -04:00
Paul Davis
50c5ba16b8 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.

Conflicts:
	gtk2_ardour/editor.h
	gtk2_ardour/editor_ops.cc
	gtk2_ardour/verbose_cursor.cc
2014-08-17 19:45:04 -04:00
Paul Davis
12f081c358 use new TrackingText for verbose cursor
Conflicts:
	gtk2_ardour/editor_drag.cc
	gtk2_ardour/editor_mouse.cc
	gtk2_ardour/verbose_cursor.cc
	gtk2_ardour/verbose_cursor.h
2014-08-17 19:30:47 -04:00
Paul Davis
2f77f2bc69 removed no-longer-used Editor::track_canvas_motion()
Conflicts:
	gtk2_ardour/editor.h
2014-08-17 19:27:11 -04:00
Paul Davis
e99734f07a remove unused i2w code from ControlPoint 2014-08-17 18:54:35 -04:00
Robin Gareus
8fcccdbeab prepare UI style for track-number boxes 2014-08-17 18:52:56 -04:00
Robin Gareus
e20580ff76 prepare formatting track-number for mixer (and other places) 2014-08-17 18:52:49 -04:00
Robin Gareus
794769a70b session option GUI for track-number & take-name 2014-08-17 18:52:44 -04:00
Robin Gareus
9c26f801c8 fix "stop_recording_on_xrun" in prefs dialog 2014-08-17 18:51:41 -04:00
Robin Gareus
4e86a22f8f accept text-entry-change w/o enter and add filter_text option 2014-08-17 18:51:35 -04:00
Robin Gareus
18cedeec63 consolidate SignalOrderRouteSorter 2014-08-17 18:51:29 -04:00
Robin Gareus
a17616f1da move utility functions into a dedicated namespace
Conflicts:
	gtk2_ardour/about.cc
	gtk2_ardour/editor_ops.cc
2014-08-17 18:51:22 -04:00
Robin Gareus
b831d8997b namespace libardour utils
Conflicts:
	gtk2_ardour/session_dialog.h
2014-08-17 18:49:55 -04:00
Paul Davis
3da6707f7b let's not forget the video timeline 2014-08-17 18:48:57 -04:00
Paul Davis
65fcbd886c do not include ruler visibility items in context click menu on timebars 2014-08-17 18:48:51 -04:00
Paul Davis
72d70bb0b2 tighten up spacing in ruler dialog 2014-08-17 18:48:45 -04:00
Paul Davis
c1213d0040 use new ruler dialog class for context clicks on ruler labels area
Conflicts:
	gtk2_ardour/editor.cc
2014-08-17 18:48:40 -04:00
Paul Davis
1b222128bf new ruler dialog class 2014-08-17 18:48:10 -04:00
Paul Davis
8473bd72e1 remove unused code
Conflicts:
	gtk2_ardour/editor_ops.cc
2014-08-17 18:45:50 -04:00
Paul Davis
a30a0148e9 fix y-offset when drag-n-dropping regions from region list 2014-08-17 18:44:11 -04:00
Tim Mayberry
ef3f8634ea Fix finding icon sets by using correct utility function 2014-08-17 18:42:15 -04:00
Tim Mayberry
dbcc1f1d39 Rename PBD::find_file_in_search_path to just PBD::find_file
saves a bit of typing and not necessary if you look at how it is used.

Conflicts:
	gtk2_ardour/about.cc
	gtk2_ardour/session_dialog.cc
	libs/pbd/system_exec.cc
2014-08-17 18:36:02 -04:00
Tim Mayberry
4ffa970135 Change PBD::get_files_in_directory to return full paths in result
get_files_in_directory uses get_directory_contents internally now
2014-08-17 18:11:59 -04:00
Tim Mayberry
7bb2c88963 GLib functions for listing directory contents don't include "." or ".." entries 2014-08-17 18:11:46 -04:00
Paul Davis
cc2987d320 expose Gtk::HScale member of OptionEditor::HSliderOption 2014-08-17 18:11:19 -04:00
Paul Davis
9dd5e2769b reset time axis view item name text color when selected status changes 2014-08-17 18:07:19 -04:00
Robin Gareus
8798f8d88a for backends w/o control, save a fake state with only the "active" attribute.
This makes ardour start directly with external jack without asking if jack
was previously used. It also retains jackd settings if jackd was previously
started by ardour.
2014-08-17 18:07:00 -04:00
Robin Gareus
0df12b78a3 en/disable internal send+returns with tracks en/disable. 2014-08-17 18:05:20 -04:00
Paul Davis
437a655026 fix broken manually merge conflict fix from earlier cherry-pick 2014-08-17 18:04:58 -04:00
Paul Davis
8d84c21e73 #if 0-out a method not used in Tracks rather than remove it, to make merges with Ardour easier 2014-08-17 18:04:40 -04:00
Robin Gareus
b130dc032e Do not allow to de/activate a track while the transport is rolling.
roll_delay and latency are only re-calculated when the transport is stopped.
de/activating a track is also not RT-safe.

Conflicts:
	gtk2_ardour/mixer_strip.cc
	gtk2_ardour/route_time_axis.cc
2014-08-17 17:53:50 -04:00
Paul Davis
d003eda9c3 button click (release, to be precise) within the canvas drop zone cancels all object and track selections 2014-08-17 17:44:34 -04:00
Robin Gareus
1a68b43ee8 fix latency-measurement dialog back-button. 2014-08-17 17:44:29 -04:00
Paul Davis
28fdc71d70 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-08-17 17:44:17 -04:00
Paul Davis
3be5f658ea use newly factored canvas in gtk2_ardour 2014-08-17 17:43:03 -04:00
Paul Davis
dc757ab7c1 fix conflicts caused by XML-ization of old 2-canvas design 2014-08-17 17:40:48 -04:00
Paul Davis
157512cce3 fix missed API changes in editor dragging code 2014-08-17 17:39:50 -04:00
Paul Davis
4af36f221d new API for Session::possible_states() required minor changes in session dialog logic 2014-08-17 17:39:19 -04:00
Paul Davis
2219436888 clean up un-fixed merge conflict 2014-08-17 17:38:48 -04:00
Paul Davis
2987e8ba8b fix some confusion when redrawing editor/mixer track/strip displays after track/bus deletion
The code relied on the idea that the order-key resync that occurs after deletion would change the order keys and thus cause
a redisplay. But since both the editor and mixer can initiate an order-key resync, the other window's resync will actually
do nothing (the order keys will already be correct). This led to the incorrect placement of material in the tracks canvas,
because the first resync triggered a redisplay while the route still existed, and then the second resync didn't cause a
redisplay (repositioning) but the canvas elements representing the track went away.

Fixed by forcing a redisplay in both editor and mixer if a route deletion is believed to be triggering a row deletion
in their underlying data models.

Conflicts:
	gtk2_ardour/editor_routes.cc
2014-08-17 16:39:01 -04:00
Paul Davis
207bbbb395 fix some confusion when redrawing editor/mixer track/strip displays after track/bus deletion
The code relied on the idea that the order-key resync that occurs after deletion would change the order keys and thus cause
a redisplay. But since both the editor and mixer can initiate an order-key resync, the other window's resync will actually
do nothing (the order keys will already be correct). This led to the incorrect placement of material in the tracks canvas,
because the first resync triggered a redisplay while the route still existed, and then the second resync didn't cause a
redisplay (repositioning) but the canvas elements representing the track went away.

Fixed by forcing a redisplay in both editor and mixer if a route deletion is believed to be triggering a row deletion
in their underlying data models.

Conflicts:
	gtk2_ardour/editor_routes.cc
	gtk2_ardour/editor_routes.h
2014-08-17 16:29:16 -04:00
Paul Davis
08768cef90 ensure that all waveviews have ALL their colors set accurately before first render
Avoids occasional bright red zero line drawn because the color(s) had not been reset correctly
2014-08-17 16:28:11 -04:00