summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
AgeCommit message (Collapse)Author
2015-09-02Use previously set buffer size in EngineDialog if possibleTim Mayberry
This is also to support refreshing of devices so that the buffer size isn't reset.
2015-09-02Add "Refresh Devices" button in Audio Setup dialog for backends that support itTim Mayberry
This allows the portaudio library to be reinitialized to pick up new devices and changes to ASIO buffer changes made externally.
2015-09-02Add some debugging output for state restoration in Audio Setup dialogTim Mayberry
2015-09-02Remove Apply button from Audio Setup dialog now that there is a start/stop ↵Tim Mayberry
button
2015-09-02Change "Stop" button into a Start/Stop button in Audio Setup dialogTim Mayberry
2015-08-27use program-name for internal portsRobin Gareus
2015-08-13Fix state restoration in EngineControl dialog for backends with driver selectionTim Mayberry
We want to save the driver name even when the engine is running and the driver combo is insensitive
2015-08-12hide “Midi Setup” button on OSX and Windows.Robin Gareus
2015-08-11remove -Woverload-virtual ambiguity (from 1d3690d)Robin Gareus
2015-08-11update driver selection sensitivityRobin Gareus
2015-08-11refine "Running" message.Robin Gareus
2015-08-11don't allow to change devices while engine is running.Robin Gareus
2015-08-11allow to stop engine for re-configureRobin Gareus
2015-08-11consolidate engine-dialog widget sensitivity logic.Robin Gareus
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-11Engine Dialog: use new APIRobin Gareus
2015-08-11Fix to ensure there are always sample rates and buffer sizes in the dropdownTim Mayberry
This can happen if both input and output devices are set to None for instance on backends that report no supported SR or buffer size for the None device.
2015-08-11Extract two utility methods from ↵Tim Mayberry
EngineControl::set_samplerate/bufferize_popdown_strings
2015-08-11Use a union of all sample rates and buffer sizes for all devices in ↵Tim Mayberry
EngineControl Using just the input device doesn't work in the case that the input device is an invalid/None device
2015-08-11Check the default SR is available for a device when setting SR in EngineControlTim Mayberry
2015-08-11Remove unnecesary clearing of local variable in EngineControlTim Mayberry
2015-08-11Fix state restoration in EngineControl dialog for backends with driver selectionTim Mayberry
This also prevents backend_changed from being called more that once in the EngineControl ctor
2015-08-11Use the current backend device names to set active text in device dropdowns ↵Tim Mayberry
if available Compare device names with enumerated devices rather than assume an empty string has special meaning
2015-08-11Remove Unwinder instances in EngineControl::set_*_device_popdown_stringsTim Mayberry
These are not necessary since SignalBlocker will prevent signal emission
2015-08-11Compare the string returned by backend->driver_name() against driver names ↵Tim Mayberry
in EngineControl Don't assume an empty string has any meaning and compare string returned with enumerated drivers
2015-08-11Remove Unwinder instance from EngineControl::set_driver_popdown_stringsTim Mayberry
Not necessary now that signal emission is blocked via backend_changed()
2015-08-11Reimplement method using code extracted from EngineDialog::backend_changedTim Mayberry
EngineControl::set_driver_popdown_strings is now like the other set_*_popdown_strings methods in that it sets the driver strings and a default active entry and returns false if no drivers are available.
2015-08-11Remove previous fix attempt at restoring state for backends with driver ↵Tim Mayberry
selection The fix does not work properly anymore for the Portaudio backend and needs fixing in another manner. It will now be temporarily back to the broken state it was in before the "fix".
2015-08-11Use SignalBlocker class in EngineControl to block widget signal emissionTim Mayberry
This stops a whole lot of redundant signal emission and makes it much easier to think about what is going on. It also makes the dialog present much faster.
2015-08-11Extract part of EngineControl::backend_changed into ↵Tim Mayberry
EngineControl::update_midi_options
2015-08-11Move call to EngineControl::device_changed into EngineControl::list_devices ()Tim Mayberry
This prevents devices_changed from being called twice with backends that have separate input and output devices
2015-08-11Add debug output to blocking/unblocking signals in EngineControl dialogTim Mayberry
2015-08-11Add methods in EngineControl for blocking and unblocking signalsTim Mayberry
Only intended to be used with the nested SignalBlocker class
2015-08-11Refactor part of EngineDialog ctor into connect_changed_signals methodTim Mayberry
2015-08-11Add some basic debug output in EngineControl dialogTim Mayberry
This should make it easier to see what affect subsequent commits have on reducing the amount of unnecessary device querying and signal emission
2015-08-11Refactor part of EngineControl::set_state into new set_current_state methodTim Mayberry
2015-08-11Remove unused method in EngineControl dialogTim Mayberry
2015-08-11Defer to device_changed when input or output devices changeTim Mayberry
This reduces the amount of unnecessary querying of samplerate and buffersize for devices
2015-08-07remove more cruft (dead assignments)Robin Gareus
2015-08-07Don't call AudioBackend::enumerate_drivers for Backend states without driver ↵Tim Mayberry
selection AudioBackend::enumerate_drivers is not supposed to be called for backends that don't support driver selection. The wavesaudio backend asserts if the method is called.
2015-08-07Set active text in buffer_size combo in EngineControl dialogTim Mayberry
Fixes issue with empty buffer size combo when switching to the PA ASIO driver
2015-07-31Fix state restoration in Engine dialog for Backends with driver selectionTim Mayberry
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-08add locale-guard when saving engine states, also #6418Robin Gareus
2015-06-03Change message about JACK already running to be less scaryPaul Davis
2015-06-01engine dialog fixes for multiple devicesRobin Gareus
2015-05-31Allow selection of input and output devices in EngineDialog for backends ↵Tim Mayberry
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-04-14When running on Windows, hide the Engine dialog before calling ↵John Emmas
'push_state_to_backend()' For some reason we don't understand 'push_state_to_backend()' can interfere with hiding the dialog (causing a partially hidden dialog to remain on screen). It's most likely a timing issue with the Windows version of GTK. Fortunately, reversing the calling order seems to fix it - BUT... If there's no session loaded yet, the user can be left with a very long wait while nothing seems to be happening. The next thing the user would normally see would be the splash image. So let's display it slightly early (so the user can at least see that something's happening). Sadly, it's all very kludgy - but a lot better than what we had before... :)
2015-04-07and 2c89ec5, keep backend running.Robin Gareus
2015-04-04Query backend’s setup_required() every time. fixes #6041Robin Gareus
2015-03-31fancy plural form.Robin Gareus
2015-03-26add colon to match other labelsBen Loftis