Paul Davis [Fri, 5 Dec 2014 19:49:21 +0000 (14:49 -0500)]
if a Route's processor lock cannot be taken, fill buffers with silence (causing click) rather than abort()
Robin Gareus [Fri, 5 Dec 2014 17:17:21 +0000 (18:17 +0100)]
fix "expected" <> "actual" semantics in test-util
Paul Davis [Fri, 5 Dec 2014 16:17:56 +0000 (11:17 -0500)]
save and restore color aliases
Paul Davis [Fri, 5 Dec 2014 16:17:43 +0000 (11:17 -0500)]
add default (for now) color aliases to default_ui_config
Paul Davis [Fri, 5 Dec 2014 14:36:55 +0000 (09:36 -0500)]
added new header file for color aliases
Paul Davis [Fri, 5 Dec 2014 14:26:12 +0000 (09:26 -0500)]
part two of remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE
Paul Davis [Fri, 5 Dec 2014 14:25:34 +0000 (09:25 -0500)]
remove CANVAS_STRING_VARIABLE (it was replaced by CANVAS_FONT_VARIABLE
Paul Davis [Fri, 5 Dec 2014 14:01:49 +0000 (09:01 -0500)]
several steps closer to more sane color system
Paul Davis [Fri, 5 Dec 2014 14:00:36 +0000 (09:00 -0500)]
include alpha-delta computation in HSV::delta()
Paul Davis [Fri, 5 Dec 2014 14:00:01 +0000 (09:00 -0500)]
correct alias definitions in default derived color list
Paul Davis [Tue, 2 Dec 2014 12:05:14 +0000 (07:05 -0500)]
make new color aliases actually work
Paul Davis [Mon, 1 Dec 2014 14:16:30 +0000 (09:16 -0500)]
working compilation for new color code
John Emmas [Fri, 5 Dec 2014 08:40:47 +0000 (08:40 +0000)]
Add 'pbd/crossthread.cc' to the MSVC build
David Robillard [Fri, 5 Dec 2014 05:15:40 +0000 (00:15 -0500)]
Make recorded MIDI controls discrete, take 2.
Hopefully-desired behaviour is that controls created in the GUI are linear, so
clicking in stuff works like other automation, but controls that originated
from recording are set to discrete so Ardour plays back the input exactly,
instead of doing crazy things like linear interpolation of already high-rate
user input, hold pedals, and so on.
Hopefully that remains the desired behaviour, because we're basically screwed
for ever making any control discrete by default, since we only save the mode to
XML at all if it's not the default, which is currently linear.
David Robillard [Fri, 5 Dec 2014 05:03:47 +0000 (00:03 -0500)]
Revert "Create discrete lists for recorded MIDI controls."
This broke saving/restoring interpolation style.
This reverts commit
07a381a8f5572ae7550c60e5b1bd18c3dcdc7369.
David Robillard [Fri, 5 Dec 2014 03:40:39 +0000 (22:40 -0500)]
Add MIDI control points only in internal/pencil.
David Robillard [Fri, 5 Dec 2014 03:23:16 +0000 (22:23 -0500)]
Fix crash when twiddling MIDI controllers (#6050).
David Robillard [Fri, 5 Dec 2014 02:22:31 +0000 (21:22 -0500)]
Fix steps for log controls with wide range.
Paul Davis [Thu, 4 Dec 2014 18:31:48 +0000 (13:31 -0500)]
Alois Cochard Add MIDI map for the control surface.
Robin Gareus [Thu, 4 Dec 2014 16:13:43 +0000 (17:13 +0100)]
fix windows compilation
Paul Davis [Thu, 4 Dec 2014 16:05:33 +0000 (11:05 -0500)]
add required header
Paul Davis [Thu, 4 Dec 2014 15:07:11 +0000 (10:07 -0500)]
move WSAStartup() and WSACleanup() out of per-object methods into per-library init/cleanup methods
Paul Davis [Thu, 4 Dec 2014 14:11:37 +0000 (09:11 -0500)]
clean up whitespace
Tim Mayberry [Thu, 4 Dec 2014 09:16:06 +0000 (16:16 +0700)]
Include pbd/crossthread.cc in the mingw build
Tim Mayberry [Thu, 4 Dec 2014 09:15:07 +0000 (16:15 +0700)]
Use correct name for windows.h
David Robillard [Thu, 4 Dec 2014 05:29:28 +0000 (00:29 -0500)]
Make gain controls step by roughly 1.0/0.1 dB.
Shoot for roughly 30 steps for all controls.
Always keep sensible step information in ParameterDescriptor and just convert
for the UI.
This is a little weird, but it's less weird than it was before, and works.
Robin Gareus [Thu, 4 Dec 2014 02:55:03 +0000 (03:55 +0100)]
actual expected test results:
We should not add an initial implicit value
at time ‘0’ to automations.
Robin Gareus [Thu, 4 Dec 2014 02:53:26 +0000 (03:53 +0100)]
make all tests pass
Paul Davis [Thu, 4 Dec 2014 02:22:53 +0000 (21:22 -0500)]
fix to follow changes to evoral/libardour split
Paul Davis [Thu, 4 Dec 2014 02:22:34 +0000 (21:22 -0500)]
changes to Mackie Control support for new crossthreadchannel implementation
Paul Davis [Thu, 4 Dec 2014 02:11:24 +0000 (21:11 -0500)]
adapt changes to async MIDI port to use new evoral/libardour split
Paul Davis [Thu, 4 Dec 2014 02:11:02 +0000 (21:11 -0500)]
fix up BaseUI to use crossthreadchannel on all platforms
Paul Davis [Thu, 4 Dec 2014 01:57:58 +0000 (20:57 -0500)]
modify Mackie surface code to use crossthreadchannel on all platforms
Paul Davis [Thu, 4 Dec 2014 01:55:44 +0000 (20:55 -0500)]
modify MidiUI code to use crossthreadchannel on all platforms
Paul Davis [Thu, 4 Dec 2014 01:53:49 +0000 (20:53 -0500)]
alter Async MIDI port implementation to use crossthreadchannel on all platforms
Paul Davis [Thu, 4 Dec 2014 01:47:59 +0000 (20:47 -0500)]
new platform specific crossthreadchannel files
Paul Davis [Thu, 4 Dec 2014 01:47:27 +0000 (20:47 -0500)]
manually merge new CrossThreadChannel implementation for windows from Tracks
Robin Gareus [Wed, 3 Dec 2014 22:37:27 +0000 (23:37 +0100)]
Test: update AutomationList properties for v3.5
Robin Gareus [Wed, 3 Dec 2014 22:27:14 +0000 (23:27 +0100)]
Test: print assert message if XML property mismatch
Robin Gareus [Wed, 3 Dec 2014 19:47:29 +0000 (20:47 +0100)]
fix audioengine use in unit-tests.
Robin Gareus [Wed, 3 Dec 2014 19:45:27 +0000 (20:45 +0100)]
fix MTDM test
Robin Gareus [Wed, 3 Dec 2014 19:45:12 +0000 (20:45 +0100)]
allow spaces in TOP, cd to gtk2_ardour to avoid dup midnam, etc warnings
Robin Gareus [Wed, 3 Dec 2014 19:45:01 +0000 (20:45 +0100)]
Tests: ensure that libardour is initialized
Robin Gareus [Wed, 3 Dec 2014 19:44:23 +0000 (20:44 +0100)]
fix audio-engine dtor.
backends - once instantiated - keep a reference to the engine.
when audioengine is destroyed, the backends must be deinstantiated.
This fixes various unit-test cases.
Robin Gareus [Wed, 3 Dec 2014 17:24:56 +0000 (18:24 +0100)]
allow to auto-start dummy backend (needed for tests)
Robin Gareus [Wed, 3 Dec 2014 15:03:57 +0000 (16:03 +0100)]
fix test segfault
whe XMLTree goes out of scope, the root-node is deleted
Robin Gareus [Wed, 3 Dec 2014 15:03:19 +0000 (16:03 +0100)]
use Dummy backend for tests
Robin Gareus [Wed, 3 Dec 2014 11:47:46 +0000 (12:47 +0100)]
reduce confusion.
Tim Mayberry [Tue, 2 Dec 2014 13:40:50 +0000 (20:40 +0700)]
Fix running libpbd unit tests when $TOP(in test scripts) is set as relative path
Add test for PBD::canonical_path that was used to track down silly mistake
in test code
Tim Mayberry [Tue, 2 Dec 2014 13:39:48 +0000 (20:39 +0700)]
Add DEBUG_TRACE output to PBD::canonical_path
Tim Mayberry [Tue, 2 Dec 2014 13:37:45 +0000 (20:37 +0700)]
Call PBD::init() from libmidi++ test runner
This is mostly just to be able to set PBD_DEBUG for testing if
necessary
Tim Mayberry [Tue, 2 Dec 2014 13:36:14 +0000 (20:36 +0700)]
Add ability to set libpbd debug options via PBD_DEBUG environment var
Tim Mayberry [Tue, 2 Dec 2014 05:48:23 +0000 (12:48 +0700)]
Call PBD::init from evoral testrunner
This is needed to set _fmode = O_BINARY for libsmf/fread and
fixes takeFiveTest on windows
Tim Mayberry [Wed, 5 Nov 2014 01:24:39 +0000 (11:24 +1000)]
Move setting _fmode flag on windows into PBD::init
This moves setting of _fmode slightly later in the initialization
of the application via Ardour::init.
Tim Mayberry [Tue, 2 Dec 2014 05:21:28 +0000 (12:21 +0700)]
Copy evoral test files to correct location Fedora mingw bundle
Tim Mayberry [Mon, 1 Dec 2014 14:44:42 +0000 (21:44 +0700)]
Add midi++2 unit tests to the Fedora based mingw build
Tim Mayberry [Mon, 1 Dec 2014 14:42:33 +0000 (21:42 +0700)]
Fix definition of application name in Fedora based mingw packaging scripts
Probably needs to be configurable at some point
Tim Mayberry [Tue, 2 Dec 2014 02:53:16 +0000 (09:53 +0700)]
Remove references in pbd test script to libs no longer in source tree
Tim Mayberry [Tue, 2 Dec 2014 02:32:05 +0000 (09:32 +0700)]
Make pbd test script consistant with other test scripts
remove running script from pwd limitation
Tim Mayberry [Tue, 2 Dec 2014 02:27:55 +0000 (09:27 +0700)]
export MIDIPP_TEST_PATH in midi++ test script so test files can be located
Modify formatting of script to be consistant with other test scripts
Tim Mayberry [Mon, 1 Dec 2014 14:41:40 +0000 (21:41 +0700)]
Add test_search_path to find test files in MidnamTest
Tim Mayberry [Sat, 29 Nov 2014 13:33:53 +0000 (20:33 +0700)]
Remove old scripts from when scons was used for build system
Tim Mayberry [Sat, 29 Nov 2014 09:53:56 +0000 (16:53 +0700)]
Use test_output_directory() in pbd filesystem test
This prevents directory being created in pwd and means deletion of
directory is unnecessary
Tim Mayberry [Sat, 29 Nov 2014 09:30:35 +0000 (16:30 +0700)]
Use test utility function to find evoral test files
either via EVORAL_TEST_PATH env var or on windows via directory relative
to dll
Tim Mayberry [Sat, 29 Nov 2014 09:11:22 +0000 (16:11 +0700)]
Use PBD::tmp_writable_directory to write evoral test file into
no need to remove directory as it is temporary
Tim Mayberry [Sat, 29 Nov 2014 07:55:58 +0000 (14:55 +0700)]
Use PBD::tmp_writable_directory in libardour test_util.cc
Tim Mayberry [Sat, 29 Nov 2014 06:58:07 +0000 (13:58 +0700)]
Remove unnecessary comma in pbd wscript file
Tim Mayberry [Sat, 29 Nov 2014 06:56:26 +0000 (13:56 +0700)]
Use PBD::tmp_writable_directory in test_output_directory
Tim Mayberry [Sat, 29 Nov 2014 06:44:11 +0000 (13:44 +0700)]
Add PBD::tmp_writable_directory utility function to pbd/file_utils.h/cc
Tim Mayberry [Sun, 9 Nov 2014 12:28:24 +0000 (22:28 +1000)]
Fixes for AudioEngine test
Tim Mayberry [Sat, 29 Nov 2014 07:41:03 +0000 (14:41 +0700)]
Remove unused test_common.h/cc files
Tim Mayberry [Fri, 29 Nov 2013 02:16:18 +0000 (12:16 +1000)]
Move libardour test utility code into one source file
Tim Mayberry [Fri, 21 Nov 2014 06:48:36 +0000 (13:48 +0700)]
export ARDOUR/PBD_TEST_PATH so that ./waf test finds the pbd test files
Tim Mayberry [Sat, 29 Nov 2014 13:42:21 +0000 (20:42 +0700)]
Use ardev_common.sh to setup environment for running libardour tests
David Robillard [Wed, 3 Dec 2014 04:30:16 +0000 (23:30 -0500)]
Fix evoral test suite.
David Robillard [Wed, 3 Dec 2014 00:02:03 +0000 (19:02 -0500)]
Fix range of pan controls.
Set default range to [0,1] since [0,0] is problematic and useless anyway.
John Emmas [Tue, 2 Dec 2014 19:08:12 +0000 (19:08 +0000)]
Because we're building the gdk-pixbuf modules statically (i.e. no longer as DLLs) it's not necessary to edit the user's 'gdk-pixbuf.loaders' file (MSVC build only)
John Emmas [Tue, 2 Dec 2014 18:59:43 +0000 (18:59 +0000)]
Make 'ARDOUR::ParameterDescriptor' exportable, so that it can get used outside of libardour
David Robillard [Tue, 2 Dec 2014 17:15:54 +0000 (12:15 -0500)]
Remove accidentally committed file.
Robin Gareus [Tue, 2 Dec 2014 16:03:29 +0000 (17:03 +0100)]
alsa-backend: drop midi during freewheel processing.
Paul Davis [Tue, 2 Dec 2014 10:32:34 +0000 (05:32 -0500)]
first pass at optimization for low-level canvas code
David Robillard [Tue, 2 Dec 2014 08:36:33 +0000 (03:36 -0500)]
Fix lost MIDI events due to broken range check.
David Robillard [Tue, 2 Dec 2014 05:21:52 +0000 (00:21 -0500)]
Create discrete lists for recorded MIDI controls.
David Robillard [Tue, 2 Dec 2014 00:37:05 +0000 (19:37 -0500)]
Fix automation write/touch.
David Robillard [Mon, 1 Dec 2014 23:36:24 +0000 (18:36 -0500)]
Factor out copy-paste code.
David Robillard [Mon, 1 Dec 2014 21:59:10 +0000 (16:59 -0500)]
Remove unused method.
David Robillard [Mon, 1 Dec 2014 19:28:03 +0000 (14:28 -0500)]
Replace half-baked param metadata with descriptor.
Among other things, this means that automation controls/lists have the actual
min/max/normal/toggled of parameters, and not those inferred from the Parameter
ID, which is not correct for things like plugin parameters.
Pushing things down to the Evoral::ParmeterDescriptor may be useful in the
future to have lists do smarter things based on parameter range, but currently
I have just pushed down the above-mentioned currently used attributes.
Julien de Kozak [Sat, 1 Nov 2014 17:35:44 +0000 (18:35 +0100)]
Make it compile with C++11 support.
Reference : https://bugs.webkit.org/show_bug.cgi?id=59249
Julien de Kozak [Sat, 1 Nov 2014 16:17:25 +0000 (17:17 +0100)]
Relax VAMP version from 2.4 to 2.1
Robin Gareus [Mon, 1 Dec 2014 22:15:12 +0000 (23:15 +0100)]
fix linux installer:
* allow to override install dir with environment variable.
* create /opt if if it does not exist and INSTALL_DEST_BASE env is unset.
Colin Fletcher [Mon, 1 Dec 2014 19:48:30 +0000 (19:48 +0000)]
Tidy up comments in Evoral::coverage
Remove old (already #if 0'ed) implementation of Evoral::coverage() and its
comments.
Tidy up the comment enumerating all the possible ways in which two ranges
can overlap, note the Evoral::OverlapType corresponding to each one, and add
comments to the if()s in coverage corresponding to the cases in the list of
overlap types.
Remove some commented-out assert()s that actually do happen, and re-instate
one that really shouldn't.
Fix a small typo (with -> within)
Colin Fletcher [Sun, 23 Nov 2014 19:16:42 +0000 (19:16 +0000)]
Simplify Evoral::RangeList::subtract(), and make it pass amended tests
The various conditionals in Evoral::RangeList::subtract() appear to have
been there to work around
(a) coverage() not always returning the correct value, &
(b) the test suite assuming that the ->to point lies outside the range
Now that these are both fixed, the implementation of subtract() becomes
quite a bit clearer. I replaced the if()s with assert()s for now, but these
shouldn't trip if coverage() is working as I expect.
Also (attempt to) clarify the comments in subtract.
Colin Fletcher [Mon, 1 Dec 2014 20:12:51 +0000 (20:12 +0000)]
Comments in various call-sites of coverage()
Comments in various call sites of Evoral::coverage() marking things I think
are dubious (with XXX). Also straightened up the alignment of some ASCII
art in libs/ardour/diskstream.cc
Colin Fletcher [Mon, 1 Dec 2014 20:06:08 +0000 (20:06 +0000)]
Add comment about parameters to coverage() including the end point.
Colin Fletcher [Mon, 1 Dec 2014 20:03:22 +0000 (20:03 +0000)]
Rework Evoral::coverage() to pass unit tests
Rewrite Evoral::coverage() to (hopefully) do what it's supposed to.
Return OverlapNone for invalid ranges: if either of the ranges passed to
Evoral::coverage() have negative length (i.e. start > end), return OverlapNone
- it seems reasonable to say that a negative-length range can't overlap
anything. Also return OverlapNone from the fallthrough case, though this should
never happen.
Colin Fletcher [Sun, 30 Nov 2014 11:17:58 +0000 (11:17 +0000)]
Make tests of Evoral::Range functions include both endpoints in Range
Some of the tests for Evoral::RangeList::subtract() assume that ranges
don't contain their end (->to) point. This appears inconsistent with how
they are used elsewhere.
Add some ASCII art comments to the tests to try to clarify what they're
really testing for, and amend subtractTest1, subtractTest4, & subtractTest5
to incorporate the assumption that ranges include their end points.
Robin Gareus [Mon, 1 Dec 2014 16:36:17 +0000 (17:36 +0100)]
exclude fader-reserve from range
David Robillard [Mon, 1 Dec 2014 04:14:03 +0000 (23:14 -0500)]
Remove braindead Parameter inheritance abuse.
David Robillard [Mon, 1 Dec 2014 03:18:18 +0000 (22:18 -0500)]
Replace thinning static state with parameter.
David Robillard [Mon, 1 Dec 2014 02:41:06 +0000 (21:41 -0500)]
Remove dead code.