13
0
Commit Graph

17363 Commits

Author SHA1 Message Date
6cc029f5da don't allow to change devices while engine is running. 2015-08-11 19:13:10 +02:00
a226c4ce38 ALSA backend: query and cache available device-parameters 2015-08-11 19:01:52 +02:00
40661f7d1f add API to query ALSA supported parameters 2015-08-11 18:18:19 +02:00
52c25cab36 allow to stop engine for re-configure 2015-08-11 15:38:38 +02:00
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
9bc85a553c add API to get combobox option count.
The data model needs to be checked to count available options.
Directly using ComboBoxText::children()::size() counts widgets.
2015-08-11 15:38:26 +02:00
a3b2b1bcfa Engine Dialog: use new API 2015-08-11 15:38:19 +02:00
8f10b38275 coreaudio backend: SR/BS query for separate devices 2015-08-11 15:38:04 +02:00
1d3690d845 Backend API to query rates&sizes for separate I/O. 2015-08-11 12:50:05 +02:00
22acbc1cee Fix to ensure there are always sample rates and buffer sizes in the dropdown
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-11 14:20:43 +10:00
c80e4c04c5 Extract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings 2015-08-11 14:13:06 +10:00
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
e8b2d7a85b fix coreaudio half-duplex buffersize query 2015-08-11 04:43:07 +02:00
5e5db3c402 Check the default SR is available for a device when setting SR in EngineControl 2015-08-11 09:57:38 +10:00
4651b10345 Remove unnecesary clearing of local variable in EngineControl 2015-08-11 09:46:46 +10:00
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
c165c991ca Use the current backend device names to set active text in device dropdowns if available
Compare device names with enumerated devices rather than assume an empty string
has special meaning
2015-08-11 09:24:53 +10:00
6451060bd1 Remove Unwinder instances in EngineControl::set_*_device_popdown_strings
These are not necessary since SignalBlocker will prevent signal emission
2015-08-11 09:24:53 +10:00
495dd2e52a Compare the string returned by backend->driver_name() against driver names in EngineControl
Don't assume an empty string has any meaning and compare string returned with
enumerated drivers
2015-08-11 09:24:52 +10:00
e20d74079a Remove Unwinder instance from EngineControl::set_driver_popdown_strings
Not necessary now that signal emission is blocked via backend_changed()
2015-08-11 09:24:52 +10:00
dfa9a2326a Reimplement method using code extracted from EngineDialog::backend_changed
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-11 09:24:52 +10:00
1bea87e10a Remove previous fix attempt at restoring state for backends with driver 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-11 09:24:52 +10:00
eaf5ed2b18 Use SignalBlocker class in EngineControl to block widget signal emission
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-11 09:24:52 +10:00
001c1a0910 Extract part of EngineControl::backend_changed into EngineControl::update_midi_options 2015-08-11 09:24:52 +10:00
6e0d062773 Move call to EngineControl::device_changed into EngineControl::list_devices ()
This prevents devices_changed from being called twice with backends that have
separate input and output devices
2015-08-11 09:24:52 +10:00
c8f8f75831 Add debug output to blocking/unblocking signals in EngineControl dialog 2015-08-11 09:24:52 +10:00
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
324b5ffbac Refactor part of EngineDialog ctor into connect_changed_signals method 2015-08-11 09:24:52 +10:00
ecd9950413 Add some basic debug output in EngineControl dialog
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-11 09:24:52 +10:00
4f02f81591 Add debug bit for debug output in the EngineControl dialog 2015-08-11 09:24:52 +10:00
f428cb4bf1 Refactor part of EngineControl::set_state into new set_current_state method 2015-08-11 09:24:52 +10:00
a9c149216d Remove unused method in EngineControl dialog 2015-08-11 09:24:52 +10:00
caae165cd3 Defer to device_changed when input or output devices change
This reduces the amount of unnecessary querying of samplerate and buffersize
for devices
2015-08-11 09:24:51 +10:00
914495949d fix unbelievable typo that broke solo propagation 2015-08-10 18:37:07 -04:00
3a64809820 convert Route::_solo_isolated from counter to a boolean.
This correctly manages the semantics - the counting part is only intended to cover
upstream/downstream effects, not "am i solo-isolated" (similar to self-soloed)
2015-08-10 18:14:08 -04:00
94014dc5d5 fix video-metadata for windows. 2015-08-10 22:47:32 +02:00
460a06380c Revert "Disable video-export metadata on windows (for now)"
This reverts commit 54ab3fb37e.
2015-08-10 22:02:01 +02:00
f83327fecb Oops - forgot I'd need to add an entry to 'ptformat/wscript' 2015-08-10 18:17:31 +01:00
54345501e1 back to the future 2015-08-10 19:15:33 +02:00
800dde9db5 fix typo in deployment script 2015-08-10 18:56:13 +02:00
4231350a76 create file_list.txt after adding the plugins. 2015-08-10 18:55:51 +02:00
71ce0f3879 Hmmm... not sure why it didn't add my new files. Trying again. 2015-08-10 17:18:13 +01:00
7d9069032e Add support for building the new 'ptformat' library with MSVC 2015-08-10 17:15:53 +01:00
adc84271ba Merge branch 'pt5-fix' of https://github.com/zamaudio/ardour 2015-08-10 05:23:32 +02:00
3a2a286f3a Merge branch 'ovenwerks-master' 2015-08-09 22:28:00 -04:00
2a3f5d0107 Make MCP MasterPosition match MIDI port number. 2015-08-09 22:27:40 -04:00
223a6c155e Remove printf 2015-08-10 12:25:03 +10:00
54ab3fb37e Disable video-export metadata on windows (for now)
Quote escaping metadata currently breaks export.
2015-08-10 00:35:24 +02:00
466c50d3a0 fix a -Wparentheses 2015-08-09 19:13:55 +02:00
d3eb2f6e69 Make sure that the ostream operator << (for class ChanCount) gets correctly exported from libardour 2015-08-09 15:32:52 +01:00