Commit graph

8093 commits

Author SHA1 Message Date
Tim Mayberry
b9be8d2652 Replace individual waf options for enabling backends with one --with-backends option 2014-11-26 22:47:05 +07:00
Colin Fletcher
4358b8db79 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.
2014-11-25 17:49:51 +00:00
Colin Fletcher
3a6c9e3bb9 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.
2014-11-25 14:59:48 +00:00
Colin Fletcher
1f58f81aa6 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.
2014-11-25 14:59:48 +00:00
David Robillard
ea5876b836 Remove dead code. 2014-11-25 02:11:44 -05:00
Robin Gareus
78218e8c07 fix OSX open URL in browser 2014-11-24 20:35:38 +01:00
John Emmas
c7ddedc5b8 Simulate 'trunc()' which isn't available in MSVC
(needed by 'gtk2_ardour/editor.cc')
2014-11-24 12:56:07 +00:00
John Emmas
018f559aad Remove a commented out line in 'pbd/stacktrace.h'
(was probably just needed for testing at some stage)
2014-11-24 12:53:24 +00:00
John Emmas
25745758aa 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)
2014-11-24 12:51:54 +00:00
Robin Gareus
c0e8647806 amend c4533939b9 2014-11-24 00:04:45 +01:00
Robin Gareus
cd91fa0046 hotfix windows-compilation (unfinished bfe49540b9)
..at least it compiles and starts. Mackie support etc
is probably still broken.
2014-11-23 23:57:56 +01:00
Robin Gareus
8ddeb712f6 make debug message more useful 2014-11-23 23:57:55 +01:00
Robin Gareus
5aba4df252 fix/silence various compiler warnings.
* ifdef unused static functions
* brackets around assignment and comparision
* no return statement in function returning non-void
* boost concept_checks.hpp unused-local-typedefs
2014-11-23 23:57:55 +01:00
David Robillard
f1926dc863 Fix build with a certain awful broken compiler. 2014-11-23 16:31:59 -05:00
Robin Gareus
ec01682714 -Wunused-function on windows 2014-11-23 21:01:39 +01:00
Robin Gareus
40764f4cb3 use NULL not 0 for c-functions (even in c++ code)
4.3 KBytes less compiler warnings.
2014-11-23 21:01:39 +01:00
Paul Davis
bfe49540b9 remove use of CrossThreadChannel::selectable() to allow cross-platform implementation of CrossThreadChannel via Glib::IOSource 2014-11-23 17:37:13 +02:00
David Robillard
57c1b6e261 Fix quantization and other time-related ops. 2014-11-22 21:49:42 -05:00
David Robillard
231e0009b4 Max is max and min is min and I am dumb. 2014-11-22 16:33:32 -05:00
David Robillard
42b5ed3904 Fix clang and MSVC build. 2014-11-22 15:26:41 -05:00
David Robillard
c1cfa12d6e Wrap MusicalTime in a class.
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
2014-11-22 04:05:42 -05:00
David Robillard
cae74309a5 Fix assert failure in control list interpolation.
How we never hit this before is beyond me, it's in some ooooold code.
2014-11-22 00:46:15 -05:00
David Robillard
01493b14cf Fix const violation warnings in tempo.cc. 2014-11-22 00:46:15 -05:00
David Robillard
4bc0d1c475 Fix lost MIDI note offs and controllers.
Fix initial read of discrete MIDI controllers.

Fix spurious note offs when starting to play in the middle of a note.

Faster search for initial event when cached iterator is invalid.

So much for dropping the cached iterator.  The iterator is responsible for
handling note offs, so that doesn't work.  This design means we have some stuck
note issues at the source read level, but they should be taken care of by the
state tracker anyway.
2014-11-20 15:36:11 -05:00
David Robillard
8bba63282a Reduce unnecessary non-const MIDI buffer access. 2014-11-20 15:32:06 -05:00
David Robillard
8f8a4878f3 Clean up some MIDI code. 2014-11-20 11:31:31 -05:00
Robin Gareus
0c4869dc35 debug trace lost midi-messages 2014-11-20 02:46:30 +01:00
David Robillard
a9936205b1 Fix dropped MIDI events, especially with record enabled.
I am not precisely sure why the cached iterator was causing this problem, it
shouldn't be invalidated, and the times make sense.  It may be some lock
related issue since the iterator holds a lock on the source.

In any case, this cached iterator was just to avoid repeated linear search of
the model, but since the model has a logarithmic search, instead just scrap all
this problematic persistent state and search for the appropriate start time
every read.  No need to be careful about invalidating when anything changes.
2014-11-19 19:24:16 -05:00
Robin Gareus
e3e85a92db some const'ness and hints for clang 2014-11-19 20:38:50 +01:00
Ben Loftis
0fb91e10b4 allow dummy backend for any product 2014-11-18 17:04:23 -06:00
David Robillard
bd577a0663 Avoid possible use of uninitialized values.
This could only happen with a broken widget, but it shuts up clang and doesn't
hurt.
2014-11-18 02:55:03 -05:00
David Robillard
976a150e6b Remove obviously dead/redundant code. 2014-11-18 02:55:03 -05:00
David Robillard
07d4f50689 Clean up funny code and initialize variables. 2014-11-18 02:55:03 -05:00
David Robillard
881d77f1e5 Constrain variable scopen and avoid uninitialized values existing at all.
Note: dead assignments trigger scan-build dead code warnings, which
initializations do not.
2014-11-18 02:55:03 -05:00
David Robillard
6e482b3488 Remove unused variable and redundant arithmetic. 2014-11-18 02:55:03 -05:00
David Robillard
8dde26da7b Gracefully avoid importing audio that somehow has 0 channels. 2014-11-18 02:55:03 -05:00
David Robillard
e5d9fd1aac Fix potential use of uninitialized value. 2014-11-18 02:53:28 -05:00
David Robillard
fed4e8446b Fix NULL pointer dereference on malformed Playlist XML. 2014-11-18 02:53:28 -05:00
David Robillard
afd67800b9 Avoid potential division by zero. 2014-11-18 02:53:28 -05:00
David Robillard
c4c7598adb Fix broken logic and possible NULL pointer dereference for Bundle XML. 2014-11-18 02:53:28 -05:00
David Robillard
26f6f80a53 Fix incredibly unlikely NULL pointer dereference. 2014-11-18 02:53:28 -05:00
David Robillard
9aec0c627d Fix Region::verify_length() so it actually does something. 2014-11-18 02:53:27 -05:00
Robin Gareus
b6db707989 amend 484e38053 2014-11-18 05:28:27 +01:00
Robin Gareus
484e380536 silence clang "dead assignment" warnings 2014-11-18 04:46:37 +01:00
Robin Gareus
37937d9c69 synchronize preferences and monitor-section 2014-11-18 03:49:20 +01:00
Robin Gareus
5e90b97c42 files should have at least one channel. 2014-11-18 02:15:07 +01:00
Robin Gareus
f2273dc3b6 remove dead assignment 2014-11-18 02:15:06 +01:00
Robin Gareus
c194e4df18 remove superfluous if-branch (_session is checked a few lines above) 2014-11-18 02:15:06 +01:00
David Robillard
f7ebae85a7 Fix "maybe" rounding bug.
Introduced in d63161426f.
2014-11-17 19:53:30 -05:00
Robin Gareus
02d735ff00 waves/coreaudio PPC support 2014-11-17 09:07:39 +01:00