Robin Gareus
b5c5b7e493
GUI chores to show nperiods option.
2015-12-05 01:53:13 +01:00
Robin Gareus
2529b9db96
GUI handling for live latency-measurement
2015-12-04 17:34:46 +01:00
Robin Gareus
911830726e
prefer recently used states.
2015-11-23 22:45:16 +01:00
Robin Gareus
b754c4341e
restore last used driver+devices for a given backend.
2015-11-23 22:45:16 +01:00
Tim Mayberry
ef0f13cb84
Stop engine when clicking back button in latency measurement tab of EngineControl dialog
...
The engine is started when you switch to latency measurement tab but it isn't
stopped if you just click the back button without measuring for latency.
2015-10-06 13:29:57 +10:00
Tim Mayberry
cd4dd08931
Add EngineControl::stop_engine method to show errors when stopping engine
...
This replaces using ARDOUR_UI::disconnect_from_session which is only used by the
EngineControl class. ARDOUR_UI::disconnect_from_session also disconnects from
the AudioEngine::Halted signal which seems unnecessary as Halted is not emitted
when stopping the engine and calling update_sample_rate() which is already
handled when the AudioEngine::Stopped signal is emitted.
2015-10-06 13:29:57 +10:00
Tim Mayberry
1195aeb64e
Handle all errors when starting backend in EngineDialog
2015-10-06 13:29:57 +10:00
Tim Mayberry
dbe3500f24
Add utility method for choosing which device/s to display in Audio Setup dialog
2015-09-02 12:07:15 +10:00
Tim Mayberry
9626e0c413
Add "Refresh Devices" button in Audio Setup dialog for backends that support it
...
This allows the portaudio library to be reinitialized to pick up new devices
and changes to ASIO buffer changes made externally.
2015-09-02 12:07:15 +10:00
Tim Mayberry
e6492319b1
Remove Apply button from Audio Setup dialog now that there is a start/stop button
2015-09-02 12:07:15 +10:00
Tim Mayberry
dd275327a4
Change "Stop" button into a Start/Stop button in Audio Setup dialog
2015-09-02 12:07:15 +10:00
Robin Gareus
52c25cab36
allow to stop engine for re-configure
2015-08-11 15:38:38 +02:00
Robin Gareus
6bb51a26eb
consolidate engine-dialog widget sensitivity logic.
...
Use a single function with the complete logic.
Since the callgraph is complex, there is internal state as well as GUI
state (different pages), do not rely on individual methods to get it
right.
A widget's sensitivity should only be controlled by one function.
2015-08-11 15:38:31 +02:00
Tim Mayberry
c80e4c04c5
Extract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings
2015-08-11 14:13:06 +10:00
Tim Mayberry
a8daa36901
Use a union of all sample rates and buffer sizes for all devices in EngineControl
...
Using just the input device doesn't work in the case that the input device is
an invalid/None device
2015-08-11 14:00:57 +10:00
Tim Mayberry
ab7cf8c7a7
Fix state restoration in EngineControl dialog for backends with driver selection
...
This also prevents backend_changed from being called more that once in the
EngineControl ctor
2015-08-11 09:24:53 +10:00
Tim Mayberry
001c1a0910
Extract part of EngineControl::backend_changed into EngineControl::update_midi_options
2015-08-11 09:24:52 +10:00
Tim Mayberry
1bd15bef6c
Add methods in EngineControl for blocking and unblocking signals
...
Only intended to be used with the nested SignalBlocker class
2015-08-11 09:24:52 +10:00
Tim Mayberry
324b5ffbac
Refactor part of EngineDialog ctor into connect_changed_signals method
2015-08-11 09:24:52 +10:00
Tim Mayberry
f428cb4bf1
Refactor part of EngineControl::set_state into new set_current_state method
2015-08-11 09:24:52 +10:00
Tim Mayberry
a9c149216d
Remove unused method in EngineControl dialog
2015-08-11 09:24:52 +10:00
Tim Mayberry
2437bbbe23
Fix state restoration in Engine dialog for Backends with driver selection
...
Connect to the backend_combo changed signal after setting state as calling
backend_combo.set_active_text() in set_state was triggering backend_changed(),
which would then see the driver_combo had not been set and set it to the
incorrect value.
The value/name of the backend needs to be restored first then we can populate
the driver combo and set the correct active entry from the saved state. After
which backend_changed() will populate the device combo's etc so they can then
be set to the correct active values from the saved state.
2015-07-31 09:59:53 +10:00
Tim Mayberry
d9f24a46aa
Allow selection of input and output devices in EngineDialog for backends that support it
...
Some refactoring was necessary to avoid code duplication
Restoring of device state for input and output devices still doesn't work
correctly. I'm not quite sure what the issue is at this stage.
2015-05-31 20:02:07 +02:00
Robin Gareus
dd6ee69ef8
engine dialog, update device is changed.
2015-03-07 14:35:33 +01:00
Robin Gareus
818ed5fe12
update Engine Dialog when devices are dis/connected.
2015-03-06 06:24:56 +01:00
Robin Gareus
031f68fb9d
add a simple status indicator to the Engine Dialog
2015-01-25 10:19:46 +01:00
Robin Gareus
d2cbb28f79
Engine Dialog: fix various signal connections
...
connect/disconnect button was connected multiple times
Also the button allowed to start a backend with
invalid settings (after changing backend).
Q: does “Connect to” make sense? It’s redundant with
“Apply”.
2015-01-17 21:03:56 +01:00
Robin Gareus
001e4ca684
Engine Dialog: focus OK button (press enter to cont w/previous settings)
2014-09-01 22:06:45 +02:00
Robin Gareus
371bf59a94
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-06-23 05:12:08 +02:00
Robin Gareus
33ea2d25f1
hide "turn down volume" label for midi-latency measurement
2014-06-16 23:36:29 +02:00
Robin Gareus
61ab4f0fb0
be smart, use boost::shared_ptr
2014-06-15 13:24:41 +02:00
Robin Gareus
f312113163
enable ArdourButton focus in EngineDialog
2014-06-14 00:22:32 +02:00
Robin Gareus
2e88935bbf
add GUI for midi-device settings (and properly indent the code)
2014-06-13 12:01:55 +02:00
Robin Gareus
eb289a76af
basic Midi latency measurement GUI (re-use Audio latency notebook)
2014-06-08 14:48:10 +02:00
Paul Davis
4c0a274b43
do not push new state to backend from audio/MIDI setup until OK or Apply are clicked (i.e. do not do this when device is changed)
2013-11-27 17:41:22 -05:00
Paul Davis
4404a38996
prevent button in latency measurement dialog from changing size when relabelled
2013-10-15 14:55:54 -04:00
Paul Davis
6e0a3c4853
try to prevent crash if running latency calibration with JACK setup that is lacking input or output ports (re: #5721 and #5719 )
2013-10-15 13:15:03 -04:00
Paul Davis
e0a3c3f4fa
rework things for Audio/MIDI setup dialog a bit: no tabs being the most noticeable change
2013-10-12 14:57:32 -04:00
Paul Davis
b194c1ad88
more fixes and rationalizations for MIDI option handling in the audio MIDI setup
2013-10-10 16:18:27 -04:00
Paul Davis
645e9caeee
basic use of new backend MIDI options
2013-10-10 12:59:33 -04:00
Paul Davis
cff174b541
move rate_as_string() from EngineControl to utils.cc
2013-09-23 21:35:17 -04:00
Paul Davis
57d24608e7
show a different audio/MIDI option screen if JACK is already running. try to fix problem with using AudioBackend::<property-value>() functions before anything has been set.
2013-09-19 15:03:20 -04:00
Paul Davis
f51537b71d
substantive changes to allow the audio/MIDI setup dialog to change settings as intended
...
So far only tested with JACK backend, but expected to be more correct for other backends too
2013-09-17 21:09:13 -04:00
Paul Davis
7381390565
add basic display of existing MIDI ports to audio/MIDI setup
2013-09-17 10:01:24 -04:00
Paul Davis
cb31e34a5c
end latency detection if AMS window closed while running detection (plus some non-functioning changes to try to get spinbutton text entry to work
2013-09-16 18:47:30 -04:00
Paul Davis
2a3dfb5e82
various bits of polish for the latency tab of audio/midi setup dialog
2013-09-16 15:21:32 -04:00
Paul Davis
7c88670680
lots of changes to auto-start (and stop) the backend for latency measurements, and continuing work on the session construction/engine configuration flow
2013-09-12 16:28:51 -04:00
Paul Davis
6b3907d57f
change names, add comment, improve return type to avoid extra call to get EngineControl::State*
2013-09-12 12:26:59 -04:00
Paul Davis
91e2eab01a
make use of measured latency values to set dialog controls, and use actual port latency to compute extra delay
2013-09-11 13:02:32 -04:00
Paul Davis
bede012727
remove unused members and code from EngineControl dialog (related to different devices for input+output)
2013-09-11 12:05:51 -04:00