Paul Davis
bb5c969ac0
improved solution for xgetbv() on windows and linux with all compilers
2015-08-11 17:45:41 -04:00
Paul Davis
53bc2ba2c1
#ifdef out AVX detection on APPLE
2015-08-11 17:30:33 -04:00
Paul Davis
c0ad97c179
add required test of OS support for AVX register use
2015-08-11 17:23:11 -04:00
Paul Davis
4079855507
add test for CPU/FPU AVX capabilities
2015-08-11 16:36:46 -04:00
Robin Gareus
bf1b65029c
update driver selection sensitivity
2015-08-11 22:04:28 +02:00
Robin Gareus
2e38cb81fe
fix deadlock at exit on SMP systems
...
graph process-threads won't terminate properly while active.
2015-08-11 20:22:20 +02:00
Robin Gareus
212a4c1f8d
refine "Running" message.
2015-08-11 19:44:14 +02:00
Robin Gareus
679903fd22
fix jack startup on OSX (w/midi)
2015-08-11 19:43:57 +02:00
Robin Gareus
6cc029f5da
don't allow to change devices while engine is running.
2015-08-11 19:13:10 +02:00
Robin Gareus
a226c4ce38
ALSA backend: query and cache available device-parameters
2015-08-11 19:01:52 +02:00
Robin Gareus
40661f7d1f
add API to query ALSA supported parameters
2015-08-11 18:18:19 +02: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
Robin Gareus
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
Robin Gareus
a3b2b1bcfa
Engine Dialog: use new API
2015-08-11 15:38:19 +02:00
Robin Gareus
8f10b38275
coreaudio backend: SR/BS query for separate devices
2015-08-11 15:38:04 +02:00
Robin Gareus
1d3690d845
Backend API to query rates&sizes for separate I/O.
2015-08-11 12:50:05 +02:00
Tim Mayberry
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
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
Robin Gareus
e8b2d7a85b
fix coreaudio half-duplex buffersize query
2015-08-11 04:43:07 +02:00
Tim Mayberry
5e5db3c402
Check the default SR is available for a device when setting SR in EngineControl
2015-08-11 09:57:38 +10:00
Tim Mayberry
4651b10345
Remove unnecesary clearing of local variable in EngineControl
2015-08-11 09:46:46 +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
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
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
Tim Mayberry
001c1a0910
Extract part of EngineControl::backend_changed into EngineControl::update_midi_options
2015-08-11 09:24:52 +10:00
Tim Mayberry
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
Tim Mayberry
c8f8f75831
Add debug output to blocking/unblocking signals in EngineControl dialog
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
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
Tim Mayberry
4f02f81591
Add debug bit for debug output in the EngineControl dialog
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
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
Paul Davis
914495949d
fix unbelievable typo that broke solo propagation
2015-08-10 18:37:07 -04:00
Paul Davis
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
Robin Gareus
94014dc5d5
fix video-metadata for windows.
2015-08-10 22:47:32 +02:00
Robin Gareus
460a06380c
Revert "Disable video-export metadata on windows (for now)"
...
This reverts commit 54ab3fb37e .
2015-08-10 22:02:01 +02:00
John Emmas
f83327fecb
Oops - forgot I'd need to add an entry to 'ptformat/wscript'
2015-08-10 18:17:31 +01:00
Robin Gareus
54345501e1
back to the future
2015-08-10 19:15:33 +02:00
Robin Gareus
800dde9db5
fix typo in deployment script
2015-08-10 18:56:13 +02:00
Robin Gareus
4231350a76
create file_list.txt after adding the plugins.
2015-08-10 18:55:51 +02:00
John Emmas
71ce0f3879
Hmmm... not sure why it didn't add my new files. Trying again.
2015-08-10 17:18:13 +01:00