b6f9bbeb2f
can't use xgetbv instruction with apple gcc under OS X Lion
2015-08-11 23:06:47 -04:00
4d0be2ee2e
use new FPU singleton pattern in gtk2_ardour
2015-08-11 23:00:13 -04:00
1e58033ab4
remove unnecessary namespace forward decl
2015-08-11 23:00:13 -04:00
3a69ff680e
use new FPU singleton pattern in libs/ardour
2015-08-11 23:00:13 -04:00
41ccfee7a4
clean up FPU code with some ideas from Chromium and the web
2015-08-11 23:00:13 -04:00
3a1a978541
Fix for crash when loading DrumGizmo VST editor on Windows
2015-08-12 11:39:28 +10:00
ad9cebe247
hide “Midi Setup” button on OSX and Windows.
2015-08-12 03:16:09 +02:00
bb399c8787
fix stupid logic error in testing separate bits required for AVX support
2015-08-11 20:18:38 -04:00
ec5eccd3a3
the AVX functions for linux are stubs - they just use non-optimized code. Don't consider using them.
...
Someone needs to port the AVX assembler away from mingw/windows calling conventions and back to linux
2015-08-11 17:52:39 -04:00
687921a760
remove -Woverload-virtual ambiguity (from 1d3690d
)
2015-08-11 23:50:56 +02:00
548340eb05
remove -Woverload-virtual ambiguity (from 1d3690d
)
...
this breaks compilation in engine_dialog.cc
2015-08-11 23:50:56 +02:00
bb5c969ac0
improved solution for xgetbv() on windows and linux with all compilers
2015-08-11 17:45:41 -04:00
53bc2ba2c1
#ifdef out AVX detection on APPLE
2015-08-11 17:30:33 -04:00
c0ad97c179
add required test of OS support for AVX register use
2015-08-11 17:23:11 -04:00
4079855507
add test for CPU/FPU AVX capabilities
2015-08-11 16:36:46 -04:00
bf1b65029c
update driver selection sensitivity
2015-08-11 22:04:28 +02:00
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
212a4c1f8d
refine "Running" message.
2015-08-11 19:44:14 +02:00
679903fd22
fix jack startup on OSX (w/midi)
2015-08-11 19:43:57 +02:00
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