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.
David Robillard [Mon, 1 Dec 2014 01:38:16 +0000 (20:38 -0500)]
Remove bogus test and noisy output.
David Robillard [Mon, 1 Dec 2014 01:37:35 +0000 (20:37 -0500)]
Fix test runner for tests that use files.
David Robillard [Mon, 1 Dec 2014 00:57:15 +0000 (19:57 -0500)]
Trim the include tree.
David Robillard [Sun, 30 Nov 2014 23:51:24 +0000 (18:51 -0500)]
Move EventRingBuffer to libardour.
This is not used anywhere in Evoral and is just a wrapper around the PBD
RingBuffer anyway. Towards a (once again?) independently buildable/testable
Evoral and fewer cross-dependencies.
David Robillard [Sun, 30 Nov 2014 23:27:04 +0000 (18:27 -0500)]
Add missing namespace qualifiers.
David Robillard [Sun, 30 Nov 2014 23:33:22 +0000 (18:33 -0500)]
Clean up state tracking of raw MIDI.
David Robillard [Sun, 30 Nov 2014 21:24:18 +0000 (16:24 -0500)]
Factor out duplicated track automation code.
Mute automation for MIDI tracks.
David Robillard [Sun, 30 Nov 2014 19:48:35 +0000 (14:48 -0500)]
Save mute automation state.
Robin Gareus [Sun, 30 Nov 2014 23:33:11 +0000 (00:33 +0100)]
update interface for processor-box faders step/page
see also
4d4c20b8c
Robin Gareus [Sun, 30 Nov 2014 20:26:55 +0000 (21:26 +0100)]
CLA approved consistent fine-grained scale modifier
John Emmas [Sun, 30 Nov 2014 17:57:44 +0000 (17:57 +0000)]
Process 'default_ui_config.in' when building with MSVC
Robin Gareus [Sun, 30 Nov 2014 14:04:56 +0000 (15:04 +0100)]
gtk interface update for controller step/page size
Robin Gareus [Sun, 30 Nov 2014 14:04:03 +0000 (15:04 +0100)]
consistent step+page sizes for fader+spinbox
Robin Gareus [Sun, 30 Nov 2014 14:03:36 +0000 (15:03 +0100)]
use update_steps() instead of custom function
Robin Gareus [Sun, 30 Nov 2014 14:02:53 +0000 (15:02 +0100)]
update_steps(), properly handle integer ranges
Robin Gareus [Sat, 29 Nov 2014 21:57:46 +0000 (22:57 +0100)]
fix ladpsa default value.
because get_parameter_descriptor() is const, also wrap
default_value() in a const function.
Robin Gareus [Sat, 29 Nov 2014 21:24:24 +0000 (22:24 +0100)]
fix LV2 default port value.
David Robillard [Sat, 29 Nov 2014 19:32:12 +0000 (14:32 -0500)]
Fix write for boolean automation.
Robin Gareus [Sat, 29 Nov 2014 16:31:41 +0000 (17:31 +0100)]
don't move faders on click.
for one, it can mess up the value when switching to
numeric-entry. It is also rather useless and not
Fader-like (faders are not scrollbars).
Besides, "stepvalue" is way to large and causes jumps
(sometimes step-value is even negative, see
"fast lookahead limiter", "release time"
-> some other bug)
Robin Gareus [Sat, 29 Nov 2014 13:49:03 +0000 (14:49 +0100)]
show values on faders (fixes bug in
55c6165)
Robin Gareus [Sat, 29 Nov 2014 00:35:49 +0000 (01:35 +0100)]
change ownership of processor window-proxy
fixes crashes:
* If the Editor-Mixer shows a channel with a plugin that
has been edited in the Mixer, double-clicking the plugin
will try to bring up a 2nd instance of the plugin-UI.
* When closing Ardour both the Mixer and the Editor-Mixer try to delete the underlying plugin, resulting in a double free.
David Robillard [Sat, 29 Nov 2014 06:40:23 +0000 (01:40 -0500)]
Set discrete by default for boolean parameters.
David Robillard [Sat, 29 Nov 2014 06:25:27 +0000 (01:25 -0500)]
Somewhat working gain automation.
This probably isn't correct in several ways, but it works more than it did, so
I figure it's push worthy.
Still not working:
* Saving mute automation list
* Dragged control points are not snapped to model restrictions
(boolean, in this case, but general problem)
* Line goes funny if you record mute automation
(as opposed to drawing it which works)
David Robillard [Sat, 29 Nov 2014 00:17:39 +0000 (19:17 -0500)]
Show discrete/toggled automation as stepped line.
David Robillard [Sat, 29 Nov 2014 01:03:16 +0000 (20:03 -0500)]
Fix crash when deleting all points from a line.
David Robillard [Fri, 28 Nov 2014 23:40:23 +0000 (18:40 -0500)]
Use a button as controller for toggled parameters.
David Robillard [Fri, 28 Nov 2014 23:31:18 +0000 (18:31 -0500)]
Remove redundant calls to start/end_touch.
The controllers do this automatically.
David Robillard [Fri, 28 Nov 2014 23:04:51 +0000 (18:04 -0500)]
Set the toggled default metadata of parameters.
This is so generic code looking at the Parameter for gain, solo, and
rec-enable will get the correct value for toggled.
John Emmas [Fri, 28 Nov 2014 14:43:34 +0000 (14:43 +0000)]
Add some newly introduced header files to our MSVC project (gtk2_ardour)
John Emmas [Fri, 28 Nov 2014 14:42:17 +0000 (14:42 +0000)]
Add some newly introduced source files to our MSVC project (cairocanvas)
Robin Gareus [Fri, 28 Nov 2014 02:41:49 +0000 (03:41 +0100)]
change extention of linux installers to .run
David Robillard [Thu, 27 Nov 2014 09:17:15 +0000 (04:17 -0500)]
Remove dead code.
David Robillard [Thu, 27 Nov 2014 09:15:30 +0000 (04:15 -0500)]
Fix calculation using uninitialized value.
Implicit "this" is the devil.
Paul Davis [Mon, 24 Nov 2014 20:21:19 +0000 (22:21 +0200)]
remove "port sources" management from MidiControlUI and Mackie support.
This was necessary due to a bug/design issue between Glibmm and Glib (see https://bugzilla.gnome.org/show_bug.cgi?id=561885)
but the problem needs to be managed by the *creator* of the IOSource and that has now moved inside CrossThreadChannel.
Paul Davis [Fri, 21 Nov 2014 00:49:10 +0000 (19:49 -0500)]
variable name change for slightly increased clarity
Paul Davis [Thu, 20 Nov 2014 19:01:41 +0000 (14:01 -0500)]
get correct ::distance() and ::delta() implementations for cases involving achromatics
Paul Davis [Thu, 20 Nov 2014 19:01:12 +0000 (14:01 -0500)]
continue tweaks on the color road
Paul Davis [Thu, 20 Nov 2014 19:00:37 +0000 (14:00 -0500)]
newly generated, quantized-hue relative color definitions
Paul Davis [Thu, 20 Nov 2014 19:00:13 +0000 (14:00 -0500)]
add back grays
Paul Davis [Wed, 19 Nov 2014 19:01:04 +0000 (14:01 -0500)]
add default values for base colors (configurable colors) to default_ui_config.in
Paul Davis [Wed, 19 Nov 2014 19:00:42 +0000 (14:00 -0500)]
save base colors (configurable colors) in normal way (code had been removed)
Paul Davis [Wed, 19 Nov 2014 18:14:26 +0000 (13:14 -0500)]
massive reworking of color selection implementation
Paul Davis [Wed, 19 Nov 2014 18:12:06 +0000 (13:12 -0500)]
move creation of UIConfiguration object to precede creation of ArdourUI.
This is pretty kludgy but we need the UIConfiguration object (or any color management object) to be the first to connect to
the ColorsChanged signal.
Might be better to make the UIConfiguration object a delegate for the ThemeManager.
Paul Davis [Thu, 13 Nov 2014 21:55:32 +0000 (16:55 -0500)]
ensure that Ardour recognizes its own MMC device ID as "all-call" when set to 0x7f (127)
Tim Mayberry [Mon, 24 Nov 2014 05:46:35 +0000 (12:46 +0700)]
Replace individual waf options for enabling backends with one --with-backends option
John Emmas [Wed, 26 Nov 2014 09:57:14 +0000 (09:57 +0000)]
With printf() / snprintf() etc "%f" actually requests a double, not a float
Let's pass the correct type, since we can't rely on these functions to do intelligent conversion
Colin Fletcher [Tue, 25 Nov 2014 17:49:51 +0000 (17:49 +0000)]
Add test for Evoral::coverage()
Add a test function to test Evoral::coverage() with all possible overlap
types. The first test (line 161) that expects OverlapExternal will fail
with the current implementation of coverage().
There's possibly still a discussion to be had about what the overlap type of
ranges with negative lengths should be: there are currently places in the main
Ardour code base where coverage() is called with ranges where start > end.
Colin Fletcher [Mon, 24 Nov 2014 15:10:50 +0000 (15:10 +0000)]
Fix build of evoral tests
Fix compile errors in libs/evoral/test/, by explicitly calling
Evoral::MusicalTime::to_double() wherever a double value is required of a
MusicalTime.
Some of the double variables should probably really be made into MusicalTime
ones instead, but I don't want to mess with this too much.
takeFiveTest still fails for me after this, but a failing test is probably
more informative in the long run than a test that won't even compile.
Colin Fletcher [Sun, 23 Nov 2014 19:01:46 +0000 (19:01 +0000)]
Fix order of parameters to stop_touch() in Mackie::Control
Reverse the parameters of Mackie::Control::stop_touch() to make them
consistent with AutomationControl::stop_touch(), and fix up the call to
AutomationControl::stop_touch() to have the parameters in the correct
order.
Unfortunately, I don't possess any devices that speak the Mackie protocol, so
though the patch seems logical and correct to me, I have no way of testing it.
If anyone has a device with touch faders that speaks Mackie, I'd be glad of any
confirmation that it at least doesn't break anything.
Robin Gareus [Tue, 25 Nov 2014 13:06:15 +0000 (14:06 +0100)]
Revert "Don't add non-clang flag regardless of platform."
Apple's g++ on 10.6. does not understand -Wno-unused-local-typedefs
either
This reverts commit
9dd8024e41f35e581b3db5f4a873126398db9d45.
Paul Davis [Tue, 25 Nov 2014 10:17:14 +0000 (12:17 +0200)]
fix indentation nightmare from
9559cf3947
Paul Davis [Tue, 25 Nov 2014 10:13:23 +0000 (12:13 +0200)]
fix case of included header file
VKamyshniy [Mon, 24 Nov 2014 22:28:33 +0000 (00:28 +0200)]
[Summary] Fixing behavior of the FloatingTextEntry
Robin Gareus [Tue, 25 Nov 2014 09:35:50 +0000 (10:35 +0100)]
quick sanity check
Robin Gareus [Tue, 25 Nov 2014 09:23:10 +0000 (10:23 +0100)]
NOOP, fix some “missing sentinel” -Wformat
David Robillard [Tue, 25 Nov 2014 07:20:21 +0000 (02:20 -0500)]
Check for clang with an actual code check.
Turns out Apple in its infinite wisdom installs clang as /usr/bin/g++, so
guessing based on executable name doesn't work.
David Robillard [Tue, 25 Nov 2014 07:11:44 +0000 (02:11 -0500)]
Remove dead code.
David Robillard [Tue, 25 Nov 2014 07:08:35 +0000 (02:08 -0500)]
Shup up clang about gtkmm/papertraits.h.
David Robillard [Tue, 25 Nov 2014 07:07:40 +0000 (02:07 -0500)]
Don't add non-clang flag regardless of platform.
David Robillard [Tue, 25 Nov 2014 07:07:07 +0000 (02:07 -0500)]
Fix clang check for versioned clang executables.
Paul Davis [Mon, 24 Nov 2014 19:58:56 +0000 (21:58 +0200)]
when dragging on the canvas, use x,y pointer coordinates to decide if motion has occured.
Using _last_pointer_frame breaks when dragging to the left of the canvas, because we clamp
the value of the frame to >= 0. Motion would step once the pointer crossed the left edge
of the canvas because the frame value would always be zero.
This is not a problem when using the pointer x,y values which end up appropriately negative
under all conditions.
Robin Gareus [Mon, 24 Nov 2014 19:35:38 +0000 (20:35 +0100)]
fix OSX open URL in browser
John Emmas [Mon, 24 Nov 2014 13:01:16 +0000 (13:01 +0000)]
Add a newly introduced header file to our MSVC project (gtk2_ardour)
John Emmas [Mon, 24 Nov 2014 12:58:26 +0000 (12:58 +0000)]
Now that we're building pango's language modules statically (i.e. no longer as DLLs) it's not necessary to edit the user's 'pango.modules' file
John Emmas [Mon, 24 Nov 2014 12:56:07 +0000 (12:56 +0000)]
Simulate 'trunc()' which isn't available in MSVC
(needed by 'gtk2_ardour/editor.cc')
John Emmas [Mon, 24 Nov 2014 12:53:24 +0000 (12:53 +0000)]
Remove a commented out line in 'pbd/stacktrace.h'
(was probably just needed for testing at some stage)
John Emmas [Mon, 24 Nov 2014 12:51:54 +0000 (12:51 +0000)]
Changes needed to accommodate building libevoral with MSVC
Note that class 'MusicalTime' needn't be exportable (with a little work, this could be reverted if it affects the other builds)
Robin Gareus [Mon, 24 Nov 2014 03:56:31 +0000 (04:56 +0100)]
waf is fun
Robin Gareus [Mon, 24 Nov 2014 03:24:58 +0000 (04:24 +0100)]
OSX gcc does not support local-typedef warning
Robin Gareus [Mon, 24 Nov 2014 00:43:31 +0000 (01:43 +0100)]
also search for 32bit xjadeo on 64bit windows
Robin Gareus [Sun, 23 Nov 2014 23:04:45 +0000 (00:04 +0100)]