ardour.git
8 years agothe AVX functions for linux are stubs - they just use non-optimized code. Don't consi...
Paul Davis [Tue, 11 Aug 2015 21:52:27 +0000 (17:52 -0400)]
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

8 years agoremove -Woverload-virtual ambiguity (from 1d3690d)
Robin Gareus [Tue, 11 Aug 2015 21:47:48 +0000 (23:47 +0200)]
remove -Woverload-virtual ambiguity (from 1d3690d)

8 years agoremove -Woverload-virtual ambiguity (from 1d3690d)
Robin Gareus [Tue, 11 Aug 2015 21:43:45 +0000 (23:43 +0200)]
remove -Woverload-virtual ambiguity (from 1d3690d)

this breaks compilation in engine_dialog.cc

8 years agoimproved solution for xgetbv() on windows and linux with all compilers
Paul Davis [Tue, 11 Aug 2015 21:45:41 +0000 (17:45 -0400)]
improved solution for xgetbv() on windows and linux with all compilers

8 years ago#ifdef out AVX detection on APPLE
Paul Davis [Tue, 11 Aug 2015 21:30:33 +0000 (17:30 -0400)]
#ifdef out AVX detection on APPLE

8 years agoadd required test of OS support for AVX register use
Paul Davis [Tue, 11 Aug 2015 21:23:11 +0000 (17:23 -0400)]
add required test of OS support for AVX register use

8 years agoadd test for CPU/FPU AVX capabilities
Paul Davis [Tue, 11 Aug 2015 20:36:39 +0000 (16:36 -0400)]
add test for CPU/FPU AVX capabilities

8 years agoupdate driver selection sensitivity
Robin Gareus [Tue, 11 Aug 2015 20:04:28 +0000 (22:04 +0200)]
update driver selection sensitivity

8 years agofix deadlock at exit on SMP systems
Robin Gareus [Tue, 11 Aug 2015 18:21:44 +0000 (20:21 +0200)]
fix deadlock at exit on SMP systems

graph process-threads won't terminate properly while active.

8 years agorefine "Running" message.
Robin Gareus [Tue, 11 Aug 2015 17:44:14 +0000 (19:44 +0200)]
refine "Running" message.

8 years agofix jack startup on OSX (w/midi)
Robin Gareus [Tue, 11 Aug 2015 17:43:57 +0000 (19:43 +0200)]
fix jack startup on OSX (w/midi)

8 years agodon't allow to change devices while engine is running.
Robin Gareus [Tue, 11 Aug 2015 17:13:10 +0000 (19:13 +0200)]
don't allow to change devices while engine is running.

8 years agoALSA backend: query and cache available device-parameters
Robin Gareus [Tue, 11 Aug 2015 17:01:52 +0000 (19:01 +0200)]
ALSA backend: query and cache available device-parameters

8 years agoadd API to query ALSA supported parameters
Robin Gareus [Tue, 11 Aug 2015 16:16:02 +0000 (18:16 +0200)]
add API to query ALSA supported parameters

8 years agoallow to stop engine for re-configure
Robin Gareus [Tue, 11 Aug 2015 13:34:07 +0000 (15:34 +0200)]
allow to stop engine for re-configure

8 years agoconsolidate engine-dialog widget sensitivity logic.
Robin Gareus [Tue, 11 Aug 2015 12:43:00 +0000 (14:43 +0200)]
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.

8 years agoadd API to get combobox option count.
Robin Gareus [Tue, 11 Aug 2015 12:04:58 +0000 (14:04 +0200)]
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.

8 years agoEngine Dialog: use new API
Robin Gareus [Tue, 11 Aug 2015 10:52:46 +0000 (12:52 +0200)]
Engine Dialog: use new API

8 years agocoreaudio backend: SR/BS query for separate devices
Robin Gareus [Tue, 11 Aug 2015 10:52:03 +0000 (12:52 +0200)]
coreaudio backend: SR/BS query for separate devices

8 years agoBackend API to query rates&sizes for separate I/O.
Robin Gareus [Tue, 11 Aug 2015 10:50:05 +0000 (12:50 +0200)]
Backend API to query rates&sizes for separate I/O.

8 years agoFix to ensure there are always sample rates and buffer sizes in the dropdown
Tim Mayberry [Tue, 11 Aug 2015 04:20:43 +0000 (14:20 +1000)]
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.

8 years agoExtract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings
Tim Mayberry [Tue, 11 Aug 2015 04:13:06 +0000 (14:13 +1000)]
Extract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings

8 years agoUse a union of all sample rates and buffer sizes for all devices in EngineControl
Tim Mayberry [Tue, 11 Aug 2015 03:02:25 +0000 (13:02 +1000)]
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

8 years agofix coreaudio half-duplex buffersize query
Robin Gareus [Tue, 11 Aug 2015 02:43:07 +0000 (04:43 +0200)]
fix coreaudio half-duplex buffersize query

8 years agoCheck the default SR is available for a device when setting SR in EngineControl
Tim Mayberry [Mon, 10 Aug 2015 23:57:38 +0000 (09:57 +1000)]
Check the default SR is available for a device when setting SR in EngineControl

8 years agoRemove unnecesary clearing of local variable in EngineControl
Tim Mayberry [Mon, 10 Aug 2015 23:43:56 +0000 (09:43 +1000)]
Remove unnecesary clearing of local variable in EngineControl

8 years agoFix state restoration in EngineControl dialog for backends with driver selection
Tim Mayberry [Mon, 10 Aug 2015 13:20:07 +0000 (23:20 +1000)]
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

8 years agoUse the current backend device names to set active text in device dropdowns if available
Tim Mayberry [Mon, 10 Aug 2015 11:57:45 +0000 (21:57 +1000)]
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

8 years agoRemove Unwinder instances in EngineControl::set_*_device_popdown_strings
Tim Mayberry [Mon, 10 Aug 2015 11:48:53 +0000 (21:48 +1000)]
Remove Unwinder instances in EngineControl::set_*_device_popdown_strings

These are not necessary since SignalBlocker will prevent signal emission

8 years agoCompare the string returned by backend->driver_name() against driver names in EngineC...
Tim Mayberry [Mon, 10 Aug 2015 11:44:29 +0000 (21:44 +1000)]
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

8 years agoRemove Unwinder instance from EngineControl::set_driver_popdown_strings
Tim Mayberry [Mon, 10 Aug 2015 11:33:59 +0000 (21:33 +1000)]
Remove Unwinder instance from EngineControl::set_driver_popdown_strings

Not necessary now that signal emission is blocked via backend_changed()

8 years agoReimplement method using code extracted from EngineDialog::backend_changed
Tim Mayberry [Mon, 10 Aug 2015 11:28:21 +0000 (21:28 +1000)]
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.

8 years agoRemove previous fix attempt at restoring state for backends with driver selection
Tim Mayberry [Mon, 10 Aug 2015 11:16:08 +0000 (21:16 +1000)]
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".

8 years agoUse SignalBlocker class in EngineControl to block widget signal emission
Tim Mayberry [Mon, 10 Aug 2015 10:02:25 +0000 (20:02 +1000)]
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.

8 years agoExtract part of EngineControl::backend_changed into EngineControl::update_midi_options
Tim Mayberry [Mon, 10 Aug 2015 02:49:42 +0000 (12:49 +1000)]
Extract part of EngineControl::backend_changed into EngineControl::update_midi_options

8 years agoMove call to EngineControl::device_changed into EngineControl::list_devices ()
Tim Mayberry [Mon, 10 Aug 2015 00:11:33 +0000 (10:11 +1000)]
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

8 years agoAdd debug output to blocking/unblocking signals in EngineControl dialog
Tim Mayberry [Mon, 10 Aug 2015 02:58:06 +0000 (12:58 +1000)]
Add debug output to blocking/unblocking signals in EngineControl dialog

8 years agoAdd methods in EngineControl for blocking and unblocking signals
Tim Mayberry [Sun, 9 Aug 2015 13:16:02 +0000 (23:16 +1000)]
Add methods in EngineControl for blocking and unblocking signals

Only intended to be used with the nested SignalBlocker class

8 years agoRefactor part of EngineDialog ctor into connect_changed_signals method
Tim Mayberry [Sun, 9 Aug 2015 12:36:26 +0000 (22:36 +1000)]
Refactor part of EngineDialog ctor into connect_changed_signals method

8 years agoAdd some basic debug output in EngineControl dialog
Tim Mayberry [Mon, 10 Aug 2015 04:30:04 +0000 (14:30 +1000)]
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

8 years agoAdd debug bit for debug output in the EngineControl dialog
Tim Mayberry [Mon, 10 Aug 2015 04:23:25 +0000 (14:23 +1000)]
Add debug bit for debug output in the EngineControl dialog

8 years agoRefactor part of EngineControl::set_state into new set_current_state method
Tim Mayberry [Sat, 8 Aug 2015 23:39:01 +0000 (09:39 +1000)]
Refactor part of EngineControl::set_state into new set_current_state method

8 years agoRemove unused method in EngineControl dialog
Tim Mayberry [Sat, 8 Aug 2015 02:24:49 +0000 (12:24 +1000)]
Remove unused method in EngineControl dialog

8 years agoDefer to device_changed when input or output devices change
Tim Mayberry [Sat, 8 Aug 2015 00:54:22 +0000 (10:54 +1000)]
Defer to device_changed when input or output devices change

This reduces the amount of unnecessary querying of samplerate and buffersize
for devices

8 years agofix unbelievable typo that broke solo propagation
Paul Davis [Mon, 10 Aug 2015 22:37:07 +0000 (18:37 -0400)]
fix unbelievable typo that broke solo propagation

8 years agoconvert Route::_solo_isolated from counter to a boolean.
Paul Davis [Mon, 10 Aug 2015 22:14:08 +0000 (18:14 -0400)]
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)

8 years agofix video-metadata for windows.
Robin Gareus [Mon, 10 Aug 2015 20:47:32 +0000 (22:47 +0200)]
fix video-metadata for windows.

8 years agoRevert "Disable video-export metadata on windows (for now)"
Robin Gareus [Mon, 10 Aug 2015 20:02:01 +0000 (22:02 +0200)]
Revert "Disable video-export metadata on windows (for now)"

This reverts commit 54ab3fb37e15f94fcc611f58f1af3df2b3b62c05.

8 years agoOops - forgot I'd need to add an entry to 'ptformat/wscript'
John Emmas [Mon, 10 Aug 2015 17:16:33 +0000 (18:16 +0100)]
Oops - forgot I'd need to add an entry to 'ptformat/wscript'

8 years agoback to the future
Robin Gareus [Mon, 10 Aug 2015 17:15:33 +0000 (19:15 +0200)]
back to the future

8 years agofix typo in deployment script
Robin Gareus [Mon, 10 Aug 2015 16:56:13 +0000 (18:56 +0200)]
fix typo in deployment script

8 years agocreate file_list.txt after adding the plugins.
Robin Gareus [Mon, 10 Aug 2015 16:55:51 +0000 (18:55 +0200)]
create file_list.txt after adding the plugins.

8 years agoHmmm... not sure why it didn't add my new files. Trying again.
John Emmas [Mon, 10 Aug 2015 16:18:13 +0000 (17:18 +0100)]
Hmmm... not sure why it didn't add my new files. Trying again.

8 years agoAdd support for building the new 'ptformat' library with MSVC
John Emmas [Mon, 10 Aug 2015 16:15:53 +0000 (17:15 +0100)]
Add support for building the new 'ptformat' library with MSVC

8 years agoMerge branch 'pt5-fix' of https://github.com/zamaudio/ardour
Robin Gareus [Mon, 10 Aug 2015 03:23:32 +0000 (05:23 +0200)]
Merge branch 'pt5-fix' of https://github.com/zamaudio/ardour

8 years agoMerge branch 'ovenwerks-master'
Paul Davis [Mon, 10 Aug 2015 02:28:00 +0000 (22:28 -0400)]
Merge branch 'ovenwerks-master'

8 years agoMake MCP MasterPosition match MIDI port number.
Len Ovens [Thu, 6 Aug 2015 05:02:27 +0000 (22:02 -0700)]
Make MCP MasterPosition match MIDI port number.

8 years agoRemove printf
Damien Zammit [Mon, 10 Aug 2015 02:25:03 +0000 (12:25 +1000)]
Remove printf

8 years agoDisable video-export metadata on windows (for now)
Robin Gareus [Sun, 9 Aug 2015 22:35:24 +0000 (00:35 +0200)]
Disable video-export metadata on windows (for now)

Quote escaping metadata currently breaks export.

8 years agofix a -Wparentheses
Robin Gareus [Sun, 9 Aug 2015 16:03:41 +0000 (18:03 +0200)]
fix a -Wparentheses

8 years agoMake sure that the ostream operator << (for class ChanCount) gets correctly exported...
John Emmas [Sun, 9 Aug 2015 14:32:52 +0000 (15:32 +0100)]
Make sure that the ostream operator << (for class ChanCount) gets correctly exported from libardour

8 years agoFix to PT5 format, (stereo tracks still not fully supported)
Damien Zammit [Sun, 9 Aug 2015 11:53:15 +0000 (21:53 +1000)]
Fix to PT5 format, (stereo tracks still not fully supported)

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agoMSVC doesn't define __LITTLE_ENDIAN__
John Emmas [Sun, 9 Aug 2015 11:50:04 +0000 (12:50 +0100)]
MSVC doesn't define __LITTLE_ENDIAN__

8 years agoAdd a newly introduced source file to our MSVC project (libardour)
John Emmas [Sun, 9 Aug 2015 11:46:22 +0000 (12:46 +0100)]
Add a newly introduced source file to our MSVC project (libardour)

8 years agoAdd a newly introduced #define to our MSVC build project (portaudio backend)
John Emmas [Sun, 9 Aug 2015 11:44:31 +0000 (12:44 +0100)]
Add a newly introduced #define to our MSVC build project (portaudio backend)

8 years agohandle some wire edge-cases & explanation
Robin Gareus [Sun, 9 Aug 2015 06:32:17 +0000 (08:32 +0200)]
handle some wire edge-cases & explanation

8 years agoremember actual processor configuration
Robin Gareus [Sun, 9 Aug 2015 04:55:55 +0000 (06:55 +0200)]
remember actual processor configuration

Prepare for proper processor-box wire-display:
Don't replicate connection-logic in the GUI, allow to query the
actual configured configuration (which may differ from the processor
i/o-streams)

8 years agoremove bit-suffix (no longer needed since df498c8)
Robin Gareus [Sat, 8 Aug 2015 22:41:00 +0000 (00:41 +0200)]
remove bit-suffix (no longer needed since df498c8)

8 years agoMerge branch 'pt-5-7-x' of https://github.com/zamaudio/ardour
Robin Gareus [Sat, 8 Aug 2015 15:49:05 +0000 (17:49 +0200)]
Merge branch 'pt-5-7-x' of https://github.com/zamaudio/ardour

8 years agoupdate summary when re-ordering tracks - fixes #6502
Robin Gareus [Sat, 8 Aug 2015 13:58:44 +0000 (15:58 +0200)]
update summary when re-ordering tracks - fixes #6502

8 years agoprepare 2d-panner theme
Robin Gareus [Sat, 8 Aug 2015 15:33:18 +0000 (17:33 +0200)]
prepare 2d-panner theme

8 years agoFix more warnings
Damien Zammit [Sat, 8 Aug 2015 15:42:22 +0000 (01:42 +1000)]
Fix more warnings

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agoAdded pt5 pt7 ptx initial format support
Damien Zammit [Sat, 8 Aug 2015 05:00:11 +0000 (15:00 +1000)]
Added pt5 pt7 ptx initial format support

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agoamend 0e3991e (can_support.. AND configure..)
Robin Gareus [Sat, 8 Aug 2015 00:08:27 +0000 (02:08 +0200)]
amend 0e3991e (can_support.. AND configure..)

8 years agoAU: discard relationship with master-bus channel count.
Robin Gareus [Fri, 7 Aug 2015 23:43:57 +0000 (01:43 +0200)]
AU: discard relationship with master-bus channel count.

8 years agoAU: fix debug output
Robin Gareus [Fri, 7 Aug 2015 23:41:44 +0000 (01:41 +0200)]
AU: fix debug output

8 years agoremove more cruft (dead assignments)
Robin Gareus [Fri, 7 Aug 2015 19:13:17 +0000 (21:13 +0200)]
remove more cruft (dead assignments)

8 years agoremove cruft
Robin Gareus [Fri, 7 Aug 2015 19:10:47 +0000 (21:10 +0200)]
remove cruft

8 years agogive copy_vector() another chance.
Robin Gareus [Fri, 7 Aug 2015 19:00:35 +0000 (21:00 +0200)]
give copy_vector() another chance.

last arguments in nsamples, not bytes

8 years agoVST use scratch buffers for processing.
Robin Gareus [Fri, 7 Aug 2015 18:10:15 +0000 (20:10 +0200)]
VST use scratch buffers for processing.

8 years agoonly bundle libstdc++ with OSX/PPC
Robin Gareus [Fri, 7 Aug 2015 17:30:07 +0000 (19:30 +0200)]
only bundle libstdc++ with OSX/PPC

8 years agoDon't call AudioBackend::enumerate_drivers for Backend states without driver selection
Tim Mayberry [Fri, 7 Aug 2015 11:29:18 +0000 (21:29 +1000)]
Don't call AudioBackend::enumerate_drivers for Backend states without driver 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.

8 years agofix VST plugin crash (from 35a9c63)
Robin Gareus [Fri, 7 Aug 2015 01:07:50 +0000 (03:07 +0200)]
fix VST plugin crash (from 35a9c63)

depending on offset, the audio-buffer may not be
memory aligned, use memcpy() not SSE copy_vector.

8 years agoSet active text in buffer_size combo in EngineControl dialog
Tim Mayberry [Thu, 6 Aug 2015 14:15:49 +0000 (00:15 +1000)]
Set active text in buffer_size combo in EngineControl dialog

Fixes issue with empty buffer size combo when switching to the PA ASIO driver

8 years agoSet the default host api in PortaudioBackend when initializing portaudio
Tim Mayberry [Thu, 6 Aug 2015 12:22:18 +0000 (22:22 +1000)]
Set the default host api in PortaudioBackend when initializing portaudio

Not setting a default driver causes issues with the EngineControl dialog

8 years agoFixed pt import start offsets and samplerate mismatch offsets
Damien Zammit [Thu, 6 Aug 2015 07:29:37 +0000 (17:29 +1000)]
Fixed pt import start offsets and samplerate mismatch offsets

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agofix ptf library deplyoment
Robin Gareus [Wed, 5 Aug 2015 23:02:13 +0000 (01:02 +0200)]
fix ptf library deplyoment

8 years agoprepare for the future
Robin Gareus [Wed, 5 Aug 2015 22:50:54 +0000 (00:50 +0200)]
prepare for the future

8 years agoAdded PT .ptf session audio import functionality
Damien Zammit [Sat, 1 Aug 2015 03:41:26 +0000 (13:41 +1000)]
Added PT .ptf session audio import functionality

Signed-off-by: Damien Zammit <damien@zamaudio.com>
8 years agorework VST processing/buffering (no more alloca).
Robin Gareus [Wed, 5 Aug 2015 21:24:52 +0000 (23:24 +0200)]
rework VST processing/buffering (no more alloca).

TODO: check Bufferset/VSTBuffer, eventually remove
the VST_IN_PLACE ifdef’s

8 years agoVST replaceProcessing () != in-place processing.
Robin Gareus [Wed, 5 Aug 2015 20:14:57 +0000 (22:14 +0200)]
VST replaceProcessing () != in-place processing.

8 years agoupdate unit-tests (new Dummy backend name since a9b6277)
Robin Gareus [Wed, 5 Aug 2015 18:24:57 +0000 (20:24 +0200)]
update unit-tests (new Dummy backend name since a9b6277)

8 years agoadjust click box size - fixes #6499
Robin Gareus [Wed, 5 Aug 2015 17:51:58 +0000 (19:51 +0200)]
adjust click box size - fixes #6499

8 years agoadd synth when drag/drop importing .mid - fixes #6474
Robin Gareus [Wed, 5 Aug 2015 15:53:03 +0000 (17:53 +0200)]
add synth when drag/drop importing .mid - fixes #6474

8 years agoRemove "Default" devices from the PortaudioBackend
Tim Mayberry [Wed, 5 Aug 2015 13:37:20 +0000 (23:37 +1000)]
Remove "Default" devices from the PortaudioBackend

These are not really necessary now that input and output devices can be
selected separately.

8 years agoUse ASIO specific device channel names for port properties/pretty names
Tim Mayberry [Tue, 4 Aug 2015 05:29:03 +0000 (15:29 +1000)]
Use ASIO specific device channel names for port properties/pretty names

8 years agoAdd code to use ASIO supplied min/max buffer sizes but don't use it
Tim Mayberry [Tue, 4 Aug 2015 03:36:29 +0000 (13:36 +1000)]
Add code to use ASIO supplied min/max buffer sizes but don't use it

RME HDSP: min == max == preferred size with granularity == 0
Focusrite scarlett 2i2: min = current ASIO setting and max = max buffersize the
device supports with a granularity of 1 which means hundreds of entries in the
dropdown menu.

8 years agoRefactor methods in PortaudioBackend to get ASIO buffer sizes
Tim Mayberry [Tue, 4 Aug 2015 02:25:46 +0000 (12:25 +1000)]
Refactor methods in PortaudioBackend to get ASIO buffer sizes

8 years agoAdd ASIO specific code to query preferred buffer size for device
Tim Mayberry [Tue, 4 Aug 2015 02:02:06 +0000 (12:02 +1000)]
Add ASIO specific code to query preferred buffer size for device

8 years agoDummy -> Audio system: "None"
Robin Gareus [Tue, 4 Aug 2015 22:41:57 +0000 (00:41 +0200)]
Dummy -> Audio system: "None"

check if gettext() static initialization works with all compilers.