Age | Commit message (Collapse) | Author |
|
|
|
This change is MSVC specific and shouldn't affect the other builds.
|
|
|
|
Pretty sure this is the cause of MIDI data going missing on save for optimized
builds. Introduced in 294b99aabf3eb96323a3159b7a5e1b4bfc1ff04a.
|
|
Only channel messages have the form <statusbyte>{<nonstatusbyte>..}
|
|
Subtracting anything from an empty range should return an empty range, not an assert() failure
|
|
We're still a very long way from tolerant of weird SMF files (libsmf takes a
"crash if input is not exactly perfect" philosophy, if we're going to be polite
and elevate such a thing to "philosophy"), but at least we'll get what's there
from files truncated by old broken versions of Ardour or other situations.
|
|
|
|
|
|
|
|
Enforce PatchPrimaryKey sanity at the type level rather than attempting to
check for it everywhere.
Remove dead file.
|
|
Professionalism is overrated.
|
|
|
|
This was a very clever attempt to fix a non-problem. If the platform doesn't have enough file descriptors available
then the platform is broken and we're not going to hack around trying to fix it.
|
|
|
|
|
|
For things like copying from pitch bender to a CC.
Also things like fader to pan, but that seems a bit funny. The conversion
probably needs to be a bit smarter here, perhaps taking the normal into
consideration...
|
|
|
|
|
|
This broke saving/restoring interpolation style.
This reverts commit 07a381a8f5572ae7550c60e5b1bd18c3dcdc7369.
|
|
This is needed to set _fmode = O_BINARY for libsmf/fread and
fixes takeFiveTest on windows
|
|
either via EVORAL_TEST_PATH env var or on windows via directory relative
to dll
|
|
no need to remove directory as it is temporary
|
|
|
|
Set default range to [0,1] since [0,0] is problematic and useless anyway.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Reference : https://bugs.webkit.org/show_bug.cgi?id=59249
|
|
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)
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
Note that class 'MusicalTime' needn't be exportable (with a little work, this could be reverted if it affects the other builds)
|
|
|
|
|
|
|
|
|
|
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.
|