13
0
Commit Graph

635 Commits

Author SHA1 Message Date
3b65b430aa
Remove midi-event by iterator, not key -- #7885
With concurrent events removing by key, allowed for invalid
iterators.
2020-01-25 22:15:37 +01:00
06b2eb1c27
Explicitly use OSX
Previously this was inherited via PBD.

On MacOS/X,  this adds
  "-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags

Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")

On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
Nikolaus Gullotta
4b355868cc Fix test breakage from a855119bdd 2020-01-16 14:01:18 -06:00
d79e869da8 use "extends to numeric_limits<Beats>::max()" rather than "zero length" for nascent (incoming) notes 2020-01-11 10:57:21 -07:00
8547a23e9c removal incorrect/unnecessary forward decl 2020-01-11 10:57:21 -07:00
39bdde4250 Use labs() for long instead of abs() 2019-12-09 23:25:51 +01:00
7d90ad4023
Fix bool-automation anchor
Typo sneaked in from ff2f93497...cc7de475f2
2019-11-13 16:53:46 +01:00
John Emmas
c7bdc38c95 Accommodate some recently moved/renamed folders and source files (libevoral) 2019-11-03 13:46:29 +00:00
eaae38ba84 move evoral/src/* to evoral/ 2019-11-02 16:32:18 -06:00
a855119bdd rename all Evoral source from .(hpp|cpp)$ to .(h|cc) 2019-11-02 16:32:18 -06:00
88f9aaff7d
Add API to safely query timestamp of first/last control event
Direct calls to back()->when or front()->when are not safe
when the list is concurrently modified, or empty.
2019-10-18 01:37:56 +02:00
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.

see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
cb3afb6981 Remove a (no longer needed) source file from our MSVC project (evoral) 2019-09-18 15:05:16 +01:00
60bce78c7e
Fix Wdeprecated, dynamic exception
Dynamic exception specifications are deprecated in C++11,
and were removed in C++17.
2019-09-18 04:43:09 +02:00
bf806cde66
Remove old unused source file 2019-09-18 04:37:12 +02:00
beccc53bb6
Unit-test: parameter ranges outside [0..1]
More updates after 3d15499cda

* set parameter-range for MIDI sequences
* set parameter-range for cubic spline
2019-09-05 22:42:08 +02:00
5dfb729155
Remove unused header (superseded by libtemporal) 2019-09-05 14:09:22 +02:00
efec546035
Fix libevoal unit-test compilation 2019-09-05 14:08:31 +02:00
0301c47f6b
Update core library GPL boilerplate and (C) from git log 2019-08-03 15:53:17 +02:00
8dbbc19567
Update MIDI Event precedence
A patch-change that is concurrent with a note-on event should be sent
before the given Note-on event.

As follow up: CCs also need to be prioritize to send bank-select first.

see also https://discourse.ardour.org/t/midi-strangeness-patch-setting-and-first-notes/101415
2019-07-30 21:17:15 +02:00
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
57ebb5c1ba
Remove cruft: unused typedef 2019-04-09 02:23:17 +02:00
6f95dfdc31
Fix MIDI Aftertouch (import, record and play) in the backend 2019-04-02 15:35:57 +02:00
6fa1c58cec
Add guard-points when shifting automation 2018-12-22 02:04:17 +01:00
616f7f40b6
Properly remove-time automation
Previously "remove time" was able to produce overlapping, not
ordered automation.
2018-12-22 01:09:24 +01:00
c98fc1099d Fix some Wimplicit-fallthrough
A "fall through" comment is most portable way to indicate
"no break, fallthru" cases.

 * __attribute__ ((fallthrough))  // is not portable
 * [[fallthrough]]; // is C++17
2018-10-26 14:53:44 +02:00
8ed33f1bc7 remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
9506a294c7 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 1 of 3 (more to follow)
2018-09-30 08:56:12 +01:00
79f01bc889 Initial changes needed for building Mixbus (with MSVC) as version 5
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
43c76ff23b Fix crash when testing invalid MIDI file.
smf_delete() does not handle NULL pointers. This fixes a crash when
checking if a MIDI source is valid.
2018-07-26 16:59:27 +02:00
9da1253288 system common and system realtime messages are not valid in SMF files 2018-07-05 13:45:17 -04:00
1a25672239 change all use of g_critical() in libsmf() to g_warning()
g_critical translates to a fatal error in ardour, which is not true for any of these
errors.
2018-07-05 13:45:17 -04:00
870625973e remove debug output 2018-06-21 15:27:58 -04:00
8a18929d57 remove Session::controllable_by_descriptor() and move code into GenericMIDI code (the only user).
This also removes enums introduced to describe well-known parameters for Mixbus. Lookup now involves string
parsing every time, but this is not likely to be a notable cost.
2018-06-21 13:05:58 -04:00
dd5f124c60 Fix crash when testing unsupported MIDI file
smf_delete() does not handle NULL, and segfaults instead.

This only crashes with optimized builds.
libsmf will call g_critical() earlier and in that case debug-builds
call UI::handle_fatal() and ask the user to "click to exit".
2018-04-08 02:09:35 +02:00
b9c9777b9a When building with MSVC, allow for the fact that Mixbus and Ardour can be using different versions of the SESSION_FILE format 2018-02-15 09:03:32 +00:00
48c1a24284 Fix some clang warnings (argument with 'nonnull' attribute passed null) 2018-01-26 18:07:23 +01:00
70c4977ab3 remove *.orig files (accidentally added in cba53a202) 2017-09-29 21:05:06 +02:00
bcdb3aec3a Check in a few MSVC projects to accommodate the change from libtimecode to libtemporal
This is mostly to see if there'll be any problems when merging these changes into Mixbus. I'm guessing there'll be some conflicts in these projects (and a lot more to follow...)
2017-09-28 12:27:56 +01:00
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
9283bee867 new header file for audio-based time types 2017-09-24 12:03:13 -04:00
cba53a2023 add _locked() variants to new tempo experiment 2017-09-18 11:40:54 -04:00
5ef0135283 remove Evoral types.cpp since it is no longer required 2017-09-18 11:40:53 -04:00
9ea43bd5ad extend/fix/improve operator overloads and methods for Evoral::Beats 2017-09-18 11:40:53 -04:00
f4f0e70320 NOOP: formatting 2017-09-18 11:40:53 -04:00
3f50ace767 ::find_next_event() does not need to be a pure virtual in ControlSet (it can originate in AutomatableSequence) 2017-09-18 11:40:53 -04:00
d67056562b Fix write-pass re-start while in an active write-pass 2017-07-27 17:50:52 +02:00
a41198305e Update WritePass logic + AutomationList Undo
Fixes various issues when changing AutomationState while rolling.
2017-07-24 21:00:12 +02:00
2006701f73 Fix ctrl-list guard-points and concurrency issues
* lock list when editing (prevent concurrent modification of insert
  iterator
* don't add a guard-point if an event is already present between the
  target and guard-point-position
* remove existing automation-events (old guard points) when
  touching automation w/o change
* don't unset "new write pass" when not rolling
  (fixes issues when not rolling but locating with write-enabled)
2017-07-24 01:59:08 +02:00
deba170d6c Consistent ControlList freezing -- fixes #7419
AudioRegion::set_fade_in() freezes the original ControlList, then
assigns a new one and thaws that.
Frozen state needs to be retained during assignment.

Related: The overloaded assignment operator in AutomationList
performed duplicate signal emission and didn't freeze the list.
2017-07-07 02:35:00 +02:00