13
0
Commit Graph

27083 Commits

Author SHA1 Message Date
961870142d remove explicit use of ::cast_dynamic() from Gtk::Action to Gtk::ToggleAction 2018-12-11 23:43:22 -05:00
20c55065ab more changes flowing from a persistent MonitorSection object 2018-12-11 12:25:31 -05:00
fbab611a73 use syntactic sugar 2018-12-11 12:25:12 -05:00
8a2c824659 do not reset session for MonitorSection just because monitor out was removed 2018-12-11 12:24:49 -05:00
5216bf3771 use correct path for various actions/bindings in monitor section 2018-12-11 12:23:23 -05:00
fc6f90aefc fix commentary 2018-12-11 12:22:51 -05:00
639dff3a7c make session/Config now responsible for adding/removing a monitor section 2018-12-11 12:22:28 -05:00
098b0f8a8b full (?) set of changes required to make MonitorSection an "always-there" component of the MixerUI
Obviously, it is not always shown, but it always exists, which means that its actions are always accessible
2018-12-11 10:28:47 -05:00
685c4f8955 change action group owner pointer to be the relevant keybindings; reorder setting keybindings value and defining actions
The reorder is required so that the value of "bindings" has been set and is meaningful
2018-12-11 05:06:26 -05:00
e1b7a43139 add ActionManager::get_actions() to fetch all actions created in ActionGroups with a given "owner" value 2018-12-11 05:05:09 -05:00
5981b7f1b8 add nominal owners for all action groups
Note: this is not yet correct. The owner (pointer) values passed in are not yet usable
2018-12-10 18:44:05 -05:00
605b7783ee fix more Window/show-* to Common/show-* details 2018-12-10 18:43:35 -05:00
6d5f33f6e8 remove static from some members, after MonitorSection is now persistent 2018-12-10 18:42:35 -05:00
29eac8ee4e no longer delete and recreate MonitorSection when it is removed/added to a Session 2018-12-10 18:41:59 -05:00
1de181479f add basic concept of an "owner" for an action group, to allow later grouping 2018-12-10 18:40:31 -05:00
4b0f0f913b fix Window->Common move for show-mixer 2018-12-10 18:40:16 -05:00
ab61c6837f add ActionManager::set_sensitive() for Gtk::ActionGroup 2018-12-10 18:40:00 -05:00
12a88c9706 show-editor and show-mixer actions are now part of Common, not Window or Mixer action groups
This is a bit arbitary but they are supposed to be invokable from anywhere, and since they control Tabbables and note
pure windows, they are not part of WM::Manager's purview (Window/* actions). Thus ... Common
2018-12-10 18:39:14 -05:00
5b513828bd reorder ARDOUR_UI action registration and adding tabbables to the main window, to avoid action-not-found in tabbable_state_change() 2018-12-10 18:19:31 -05:00
154f9825ff remove method and inline its contents. Nothing gained by wrapping this up 2018-12-10 16:24:27 -05:00
a26e6fed50 remove long-lived bug that tried to make a non-existent action insensitive 2018-12-10 16:19:54 -05:00
fc83d044f8 use ActionManager namespace, rather than ActionMap objects, and remove all per-context action maps 2018-12-10 08:34:01 -05:00
00df619d21 use ActionManager namespace, rather than ActionMap objects 2018-12-10 08:34:01 -05:00
d1d8fd197d change ActionManager::find_action() back to ActionManager::get_action()
This avoids dozens or hundreds of unnecessary changes in gtk2_ardour code
2018-12-10 08:34:01 -05:00
ad002d0de0 consolidate ActionMap and ActionManager APIs into a single namespace 2018-12-10 08:34:01 -05:00
efd75b7152 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
a68766ec53 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
24331aaf20 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
53df8350dd use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
4f96aa8f18 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
e8903a7590 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
3fea1fa4f2 use new action map API instead of ActionManager::get_action 2018-12-10 08:34:01 -05:00
39c253c590 provide (Static)ActionMapOwner::action_map() 2018-12-10 08:34:00 -05:00
3dcb7bf3d3
Unhardode log-message domain when logging to stdout 2018-12-09 01:31:27 +01:00
dd2e80467b
"only" 1048576 -- sounds like it's not sufficient 2018-12-09 01:27:55 +01:00
2dc3c8b365
Better version of 9ccc56e162, implicit signal disconnect 2018-12-08 23:39:50 +01:00
9004a0df7a
Properly keep track of Window Visibility, action state
This fixes inconsistent WM::Proxy state when a window is destroyed
Specifically "session-options-editor" when the session is unloaded;
previously "toggle-session-options-editor" was never unset.
2018-12-08 22:38:03 +01:00
9ccc56e162
Fix CheckOption crash on session-reload
The ToggleAction has a lifetime of the UI, independent of the
CheckOption widget. The CheckOption needs to unsubscribe from the
signal_toggled() signal when it is deleted.

Also a CheckOption without a Action makes no sense. require _action
to be give at instantiation time.
2018-12-08 21:18:54 +01:00
474d68c051
NO-OP: whitespace and some guaranteed assertion removal 2018-12-08 20:36:03 +01:00
41827a546a
Fix crash when closing session, recursive mon-section removal 2018-12-08 20:15:53 +01:00
d314a510f6
Fix gmsynth detection
Previously this worked since gmsynth was sorted after reasonably synth
2018-12-08 17:04:32 +01:00
65bda27d42 Tweaks to Mixer and Monitor keybindings:
Add Mixer-specific view keybindings for list, vca, mon.  (thanks to: the_CLA)
Move monitor keybindings (mute, dim, mono) to be globally-accessible.

Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA)
Move monitor funcs (mute,dim,mono) to globally-accessible actions.
Make a new Monitor group insted of using Transport group.
Allow use-monitor-section to be controlled by both menu and session-options dialog.
2018-12-07 12:57:26 -06:00
19cb8cf138
Fix progress report when resampling to fixed-point on import 2018-12-07 04:41:22 +01:00
0284203551
Fix importing to a fixed-point format with resampling
ResampledImportableSource::read() returns audio-frames;
multiplication by number of channels read beyond the buffer.
2018-12-07 04:16:28 +01:00
dd4c788d3e add syntactic sugar for fetching toggle and radio actions 2018-12-06 22:12:34 -05:00
927a33c5f3
Remove redundant call (there's no session, nothing to save) 2018-12-07 03:46:58 +01:00
d864f42d20
Fix editor sizing issue introduced in 4dc65e66
Previously Editor::instant_save() returned if no session was loaded,
effectively Config->add_instant_xml(get_state()); was never called.

instant save() is called early on, in Editor's c'tor before the editor
is realized and saves invalid window-size and window-state, which
are used later.
2018-12-07 03:46:47 +01:00
4dc65e6613
Prefer testing the session instead of using a global variable 2018-12-06 02:24:31 +01:00
bf874562ef
Fix inconsistent session-check
under some circumstances, e.g. session-exit it is possible to to have
inconsistent information
    ARDOUR_UI::instance()->session_loaded == true
 && ARDOUR_UI::instance()->the_session() == NULL

This lead to a crash on MacOS/X. stopping the engine at exit may destory
an Aggregate Device, leading to DeviceListChanged which in turn updates
the engine-dialog..
 else if (ARDOUR_UI::instance()->session_loaded) {
   float active_sr = ARDOUR_UI::instance()->the_session()->nominal_sample_rate ();
2018-12-06 02:24:30 +01:00
2eae3b5cd1 another replacement of ActionManager::get_action() by ActionMap::find_action() 2018-12-05 17:48:34 -05:00