13
0
Commit Graph

17636 Commits

Author SHA1 Message Date
9ab17635f3 regexp fun 2015-08-12 06:22:50 +02:00
6de707b3fc correctly switch between windows and (other) when deciding whether to use AVX code 2015-08-12 00:01:02 -04:00
c86b82aa8a comment tweak to show that the __cpuid() intrinsic belongs to MSVC and mingw 2015-08-11 23:45:52 -04:00
94b6e7ffe4 fix mingw compilation 2015-08-12 05:25:29 +02:00
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