13
0
Commit Graph

288 Commits

Author SHA1 Message Date
d70b03ae61
Fix engine-dialog for backends without MIDI options 2019-07-25 17:49:42 +02:00
83f484a3ce
Engine Dialog: update MIDI devices, merge settings with state 2019-05-06 01:29:18 +02:00
ae181f5f66
Fix MIDI latency measurement
* Restore active state of devices after measurement
* Don't manually set latencies for measurement (backend handles this)
* remove superfluous call to stop measurement
2019-05-06 00:13:47 +02:00
837678bdcc
Use pretty-port-names in latency measurement dialog 2019-05-05 18:15:18 +02:00
df90d4f636
Engine Dialog MIDI tweaks
* Allow to dynamically en/disable MIDI devices when running
* Push midi latencies directly to running backend
2018-12-23 21:58:56 +01:00
2d87af1988
Engine-dialog: skip audio device update when running
Only update MIDI devices list, which can be dynamic. Audio devices
which are in-use can't be updated, and the GUI may no longer show
the current device (since it is in use).
2018-12-23 21:58:56 +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
8f216afa24 Another engine dialog edge-case fix to set the samplerate
Honor the sesssion's sample-rate when showing the dialog with the engine
stopped. This can happen when then engine dies or hide/show the dialog
after manually stopping the engine.
2018-11-11 19:51:56 +01:00
38301c808c Fix sample-rate override when changing backends or devices
This indirectly honors session_loaded() and prevents that restoring
engine-state can change the sample-rate dropdown when a session is loaded.
2018-11-11 18:50:01 +01:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
d4a089937b Populate the buffer size combo when connecting to jack that is already running.
This would crash (throw) if ardour was started with an invalid backend
(alsa with no devices avaliable) and then changec to an alredy running
jack. The invalid backend at the start would leave the buffer
size combo empty and switching to the running jack backend did not populate
buffer size list.
2017-08-10 09:49:22 -05:00
cc4df34697 SNAFU. Allow changing engine buffer-size while running 2017-08-04 03:39:41 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Thomas Brand
63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
6d35b3c4e4 Remove locale_guard.h from ardour/ardour.h header
Add to source files that use LocaleGuard

Results in far less recompiling when pbd/locale_guard.h changes
2017-06-22 10:48:38 +10:00
921bdd4a51 Fix engine-state history.
Remove old code to remove duplicate engine state which was used to
work-around a bug since 3.x saved duplicates but broke with 4.x separate
i/o devices.

Add a new variant to purge old unused states per backend (after sorting).
2017-06-16 22:32:56 +02:00
6ece6ed407 EngineDialog: immediadely push latency changes to running backends 2017-04-27 21:10:10 +02:00
2039fc6fd0 Don't directly call into engine to stop latency detection. 2017-04-27 19:45:56 +02:00
e1c4fe8edc Show the splash-screen if the engine dialog's run() hid it. 2017-04-20 23:16:09 +02:00
057bb167ca Run gtk-main iteration after hiding dialogs 2017-04-20 23:15:13 +02:00
ab30f45bba Use PBD::to_string to convert period count in EngineControl class
The functionality is the same so might as well use it.
2017-04-19 09:36:59 +10:00
0739bada9e Use PBD::to_string to convert bufsize to string in EngineControl class
string_compose uses std::ostream/stringstream which will insert thousands
separators in some locales. This was not a problem when LocaleGuard set the
global C++ locale to "C"
2017-04-19 09:36:59 +10:00
800112c3b7 Use XMLNode::get/set_property API in EngineDialog class
Fixes many of the type conversions but I doubt any would have been an issue.

LocaleGuard is no longer necessary
2017-04-19 09:36:55 +10:00
3e43585fa1 Pop splash on dialog response - not d'tor.
A Dialog Window may not be tightly scoped, and may be around
for a while (query settings from the dialog instance). The destructor
may only be called  later.
2017-04-01 16:40:07 +02:00
16cdab6327 Fix engine state ordering 2017-04-01 15:39:02 +02:00
8bed793b48 Properly desensitize various engine-controls.
MIDI system and channel-count cannot be changed while the engine is
running.
2017-04-01 14:37:35 +02:00
05b0102668 ArdourButton: if _act_on_release is true, only trigger actions/signal clicks on key release, and vice versa
This should really be split in separate semantics for key and button events.

Fixes a subtle but nasty bug in the EngineDialog where the change of the default focus
widget from a Gtk::Button (acts on press) to an ArdourButton (acts on release) caused
events occuring after a dialog has grabbed focus to trigger button clicks
2017-03-01 22:30:20 +01:00
d766095732 Further tweaks to EngineDialog z-axis stacking
When there's no main window (initial setup, no transient parent),
preset a normal window listed in the task-bar.

The duality the Engine Dialog being used as Ardour-WM managed non-modal
Window (Menu > A/M Setup) and modal Dialog (AudioEngineSetupRequired)
complicates this a bit.
2016-12-07 14:50:17 +01:00
9d7279d012 and a more intrusive KDE workaround 2016-11-30 23:19:44 +01:00
4c4061359c pay some attention to the special guest of the night: KDE window stacking 2016-11-30 22:52:06 +01:00
84fc68cf08 Ensure the window-close button is visible for the Engine-Dialog. 2016-11-30 18:13:35 +01:00
27d0b67b8f Remove close/OK buttons from engine dialog 2016-11-30 14:44:36 +01:00
0cb9d4a3d2 Restrict Device selection to valid choices. 2016-11-26 15:31:21 +01:00
0b8a7d3429 Don't allow recursive calls to EngineDialog
OK -> start_engine() can eg. trigger an interactive plugin scan,
which in turn leaves the EngineDialog responsive. changing settings
or clicking OK again can lead to undefined behavior.
2016-11-19 04:54:36 +01:00
05bc96f4d2 move MIDI port options out of engine dialog and into prefs 2016-10-19 17:49:35 -04:00
86106bcfa1 set up MIDI port treeview columns *just once* 2016-10-18 21:18:32 -04:00
7a79a9da9a correctly show both the old MIDI setup tab (device oriented) and the new one (port oriented) 2016-10-18 18:14:00 -04:00
8357775fbb further work on a MIDI port functionality dialog 2016-10-18 18:01:03 -04:00
1d39500e64 beginnings of a tab in Audio/MIDI setup to manage MIDI port functionality 2016-10-18 16:56:35 -04:00
3d256ff2c2 Constrain Samplerate selection when session is loaded
Ardour does not allow to change the rate of a session itself.
2016-09-30 16:50:00 +02:00
7f8ec25e25 fix sample-rate display: show active (not desired) rate 2016-09-30 16:50:00 +02:00
46d2b03af0 retain desired samplerate when switching backends 2016-07-24 13:00:15 +02:00
34fe25c603 remove debug noise 2016-07-20 16:33:40 -04:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
bd865c8c90 fix plural form snafu in translation macro 2016-07-14 06:20:17 -04:00
f2f9c2303a fix initial engine state (windows: buffered-i/o; all: channelcount) 2016-05-21 16:24:35 +02:00
6d343ba3c6 fix LocaleGuard contstructor (3dc77280) 2016-05-07 12:19:41 +02:00
3dc7728038 we always only use the "C" locale when saving. 2016-05-05 21:49:56 +02:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
e14b6428c3 slightly better version of 0077923d, don't stop the engine for nothing 2016-04-18 17:37:14 +02:00