6fb4bd578e
Don't allocate then discard notes on note off.
...
Silly to make a junk Note just to pass to append_note_off_unlocked, which just
uses the fields that are on the MIDIEvent anyway then throws it away.
Also explicitly dispatch to append_note_off_unlocked in the caller for note ons
with velocity 0 rather than make append_note_on_unlocked deal with it.
2015-02-19 18:38:30 -05:00
6a033a093b
Remove unused ifdef gunk.
2015-02-19 18:38:30 -05:00
cb3961d953
Add a test for the constrained cubic interpolation of Evoral::Curve
...
Add a test, based on the worked example in www.korf.co.uk/spline.pdf, for
the constrained cubic spline interpolation.
The delta values for the float comparisons are rather arbitrary, I'm sorry
to say: they're basically chosen so that everything passes.
2015-02-13 12:25:51 +00:00
9c992fa97c
few more basic ControList/Curve Tests
2015-01-20 00:46:58 +01:00
Guido Aulisi
c6e71a683e
Curve::_get_vector: fix return value when veclen == 1
...
When the crossfade length is only 1 frame, I got strange
gain coefficients from get_vector (63 in my case).
The function wrongly returned the x axis value.
2015-01-19 23:55:52 +01:00
5190cbc9b2
2-point Curve Linear Interpolation Test
2015-01-19 23:55:52 +01:00
2a7389d8df
minimalistic Evoral::Curve Unit Test.
2015-01-19 22:15:28 +01:00
2abd8b8f06
Add a newly introduced header file to our MSVC project (libevoral)
...
This change is MSVC specific and shouldn't affect the other builds.
2015-01-10 11:58:58 +00:00
2a251b4570
MusicalTime => Beats.
2015-01-07 00:12:07 -05:00
b56905b9a7
Fix MIDI file descriptor leaks.
...
Pretty sure this is the cause of MIDI data going missing on save for optimized
builds. Introduced in 294b99aabf
.
2015-01-05 15:50:30 -05:00
07c08e4673
fix incorrect test for valid MIDI events.
...
Only channel messages have the form <statusbyte>{<nonstatusbyte>..}
2014-12-31 10:32:50 -05:00
e4f61de52f
Fix range "arithmetic"
...
Subtracting anything from an empty range should return an empty range, not an assert() failure
2014-12-31 07:43:43 -05:00
168d187994
Load what we can from broken/truncated MIDI files.
...
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.
2014-12-30 23:10:11 -05:00
97d344f740
Fix MIDI CC record/playback crash.
2014-12-30 14:45:11 -05:00
cf6e9d3412
Blind fix for MIDI iteration bug.
2014-12-29 15:12:10 -05:00
e584ae0bf9
Mute automation via normal mute button.
2014-12-18 02:26:51 -05:00
d2cafbe95a
Remove some aborts that don't really need to be.
...
Enforce PatchPrimaryKey sanity at the type level rather than attempting to
check for it everywhere.
Remove dead file.
2014-12-17 19:43:09 -05:00
ec6626f06a
Fix oops in previous commit.
...
Professionalism is overrated.
2014-12-17 02:10:01 -05:00
0c3f4bd995
Fix occasional crash when recording MIDI.
2014-12-17 01:49:46 -05:00
294b99aabf
remove file manager LRU cache from code.
...
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.
2014-12-10 18:28:55 -05:00
e1e2b919c3
Remove unnecessary includes.
2014-12-06 22:43:06 -05:00
f9c74319a2
Fix seek in linearly interpolated control lists.
2014-12-06 15:44:10 -05:00
4650912ae3
Adapt range when copying between automation types.
...
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...
2014-12-06 13:40:35 -05:00
ddb7cc6d66
More potential SMF crash fixes.
2014-12-06 11:19:48 -05:00
2e92ae90a6
Possible half-fix for SMF crash.
2014-12-06 10:37:08 -05:00
ad340333f4
Revert "Create discrete lists for recorded MIDI controls."
...
This broke saving/restoring interpolation style.
This reverts commit 07a381a8f5
.
2014-12-05 00:03:47 -05:00
9eb8b73b43
Call PBD::init from evoral testrunner
...
This is needed to set _fmode = O_BINARY for libsmf/fread and
fixes takeFiveTest on windows
2014-12-03 17:31:05 +07:00
61f9ca9f3c
Use test utility function to find evoral test files
...
either via EVORAL_TEST_PATH env var or on windows via directory relative
to dll
2014-12-03 17:31:04 +07:00
f6e15a3b6b
Use PBD::tmp_writable_directory to write evoral test file into
...
no need to remove directory as it is temporary
2014-12-03 17:31:04 +07:00
7a3c54f031
Fix evoral test suite.
2014-12-02 23:30:16 -05:00
25efe5953c
Fix range of pan controls.
...
Set default range to [0,1] since [0,0] is problematic and useless anyway.
2014-12-02 19:02:03 -05:00
a13ff7b604
Remove accidentally committed file.
2014-12-02 12:15:54 -05:00
cf47d71761
Fix lost MIDI events due to broken range check.
2014-12-02 03:36:33 -05:00
07a381a8f5
Create discrete lists for recorded MIDI controls.
2014-12-02 00:21:52 -05:00
86de0386c9
Fix automation write/touch.
2014-12-01 23:35:24 -05:00
2b69fa6edf
Factor out copy-paste code.
2014-12-01 23:35:24 -05:00
767c0238a3
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.
2014-12-01 23:35:24 -05:00
Julien de Kozak
cb8abbe8d2
Make it compile with C++11 support.
...
Reference : https://bugs.webkit.org/show_bug.cgi?id=59249
2014-12-01 23:18:11 +01:00
43cc295a58
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)
2014-12-01 20:13:04 +00:00
dd5fc9432f
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.
2014-12-01 20:13:04 +00:00
d7cc7775f3
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.
2014-12-01 20:03:22 +00:00
47d329ca40
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.
2014-12-01 16:52:58 +00:00
0ffeaa6d6a
Remove braindead Parameter inheritance abuse.
2014-11-30 23:56:20 -05:00
7eb4e5d22b
Replace thinning static state with parameter.
2014-11-30 23:56:20 -05:00
b68fd1cc25
Remove dead code.
2014-11-30 23:56:20 -05:00
1693e57e0e
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.
2014-11-30 23:56:19 -05:00
784b96e255
Set discrete by default for boolean parameters.
2014-11-29 01:40:23 -05:00
e55b68298b
Fix crash when deleting all points from a line.
2014-11-28 20:04:57 -05:00
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
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
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
f1926dc863
Fix build with a certain awful broken compiler.
2014-11-23 16:31:59 -05:00
57c1b6e261
Fix quantization and other time-related ops.
2014-11-22 21:49:42 -05:00
231e0009b4
Max is max and min is min and I am dumb.
2014-11-22 16:33:32 -05:00
42b5ed3904
Fix clang and MSVC build.
2014-11-22 15:26:41 -05:00
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
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
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
b6db707989
amend 484e38053
2014-11-18 05:28:27 +01:00
484e380536
silence clang "dead assignment" warnings
2014-11-18 04:46:37 +01:00
b4fcdbb100
Don't add origin value to MIDI controller regions on initial insert.
...
This should probably hijack the same modifier as the guard points and work the
same on all automation tracks, but I did it this way to not change behaviour of
track automation where a default is much more reasonable.
2014-11-16 22:35:45 -05:00
9d4f43fa7d
Make ControlList::paste const-correct.
2014-11-16 22:35:45 -05:00
6b3a8915f3
add abort() to non-reached code
...
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00
8907477271
Fix crashes on various MIDI editing operations.
...
Assertions assumed old strict ordering, no longer reflecting reality of fuzzy
time comparison (introduced in 86f1b8).
2014-11-13 22:34:20 -05:00
49b9d22217
remove debug output
2014-10-15 19:08:46 -04:00
ab658d7ca1
add mutex/lock to all Evoral::SMF methods that use _smf/libsmf, to avoid inadvertent corruption via multithreaded access.
...
Serialization of Session::save_state() will already protect against most of this, but there is really no
good reason why Evoral::SMF's API should require single-threaded/explicit serialization.
2014-10-15 18:44:22 -04:00
34c1465cf9
Fix crash when changing automation mode for MIDI track control automation.
...
Also some work towards tolerating automation controls with no automation list,
towards actually doing something for these cases, though not required just to
fix this crash (MidiTrack::set_parameter_automation_state() avoids those
paths).
2014-08-31 18:57:22 -04:00
65715dd298
Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
...
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
1873bcfa9d
More fixes for range-based automation editing.
...
-Remove redundant start_grab calls.
-Show gain curves in Range mode, so you can see the curves you are selecting
2014-08-06 14:43:40 -05:00
16ca4e0f9a
Initial steps towards usable range-based automation editing.
...
TODO: needs undo. only works in top quarter of automation lane. selection model feels weird sometimes. needs to show gain curve when you are using Range tool
2014-08-05 15:42:06 -05:00
45afed5e9a
Modify our VC project files to work with msvc32-fixup.pl
2014-08-04 09:02:17 +01:00
928881b24a
Update vcproj files for changed LILV config define.
2014-07-15 15:50:12 -04:00
cfca056f19
make sure that copy constructors and operator= for ControlList pass along the _interpolation value
2014-07-09 14:30:38 -04:00
5a41487a08
remove some 1920 tick constants and leave notes for some others.
2014-06-07 18:35:37 +02:00
94fa927861
limit automation event density - fixes #5928
...
Constrain control points to one per tick (1/1920 beats).
Prior to this it was possible to set two values to the
same time (interpolation and iteration failed).
2014-06-07 17:43:12 +02:00
8b745aa4b4
fix two mysterious problems with stdint types
2014-06-03 16:38:33 -04:00
8c9749e42f
merge with master and fix 4 conflicts by hand
2014-06-02 11:32:13 -04:00
c91f847454
update Evoral::Curve to honor ControlList::InterpolationStyle
2014-05-30 17:00:28 +02:00
5aecc877d6
Fix code to prepare re-enable cubic spline interpolation of automation data.
...
see also 24917e4c9e
2014-05-30 04:25:59 +02:00
1b989a93c2
remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR']
2014-04-28 21:18:02 -04:00
058986f77b
finish unfinished work at basing all install paths on the program name
2014-04-28 21:11:08 -04:00
2f6065b32c
Fixed problem where importing invalid midi files caused crash.
2014-04-29 06:48:29 +10:00
077a194430
Add the main VC project files for building Ardour3 with Microsoft Visual Studio
...
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
Sakari Bergen
2482361d88
Fix buffer size mismatch in evoral tests
2014-04-07 21:27:56 +03:00
167991eceb
fix mismatch typo in sizeof
2014-03-23 00:17:19 +01:00
34ebb682a4
Minor visibility changes to libevoral (template objects can be exported in libevoral because they're always instantiated in the actual DLL).
2014-03-21 18:57:36 +00:00
19ab0fddef
remove mingw64 special case from evoral visibility header (might be appropriate everywhere, needs testing)
2014-03-01 18:58:12 -05:00
19395ac258
when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control
2014-03-01 15:16:39 -05:00
f049d0294c
add option to skip guard points when adding new control points to a ControlList; add more debugging statements
2014-02-19 23:25:08 -05:00
a70f914c51
add option to skip guard points when adding new control points to a ControlList; add more debugging statements
2014-02-19 13:22:52 -05:00
7000afdc66
fix merge conflict with master
2014-01-23 13:41:20 -05:00
3bc0d3e57b
fix evoral assignment operator (copy buffer)
2014-01-22 15:11:31 +01:00
5da8c2b476
'libs/evoral' - and add 'Note.impl' to the project
2014-01-13 12:47:21 +00:00
1d69f31266
'libs/evoral' - #include 'Note.impl' when building with MSVC (this is necessary to ensure that Evoral::Note gets exported from the evoral DLL)
2014-01-13 12:16:02 +00:00
9c753dbaec
use LIBEVORAL_TEMPLATE_API with Evoral::Note
2014-01-12 20:23:45 -05:00
2fc2df8c5d
fix 64 bit template types
2014-01-12 20:01:12 -05:00
cdfc094b9f
add new file (required by MSVC) to sources list
2014-01-12 20:00:55 -05:00
491bc4e865
use LIBEVORAL_TEMPLATE_API
...
Also clean up unnecessary comments - git blame provides complete per-line history, no need to leave comments behind
2014-01-12 20:00:26 -05:00
a94dadc759
add LIBEVORAL_TEMPLATE_API to deal with gcc/msvc difference of opinion
2014-01-12 19:59:40 -05:00
b7bc2dd2c6
build libsmf as a static library, since it is private to evoral and would otherwise require export visibility control
...
This also removes -fvisibility=hidden, a change that is taking place across the source tree and will show up in a later commit elsewhere
2014-01-12 15:40:47 -05:00
6fc1f27013
Merge branch 'windows+cc' into cairocanvas
2014-01-12 17:45:28 +00:00
61c692baa1
'libs/evoral' - Move a couple of 'IdentityConverter' functions into their own dedicated C++ source file. This allows them to be used correctly with __dllimport and __dllexport. Hopefully, this technique will also work for gcc / mingw
2014-01-12 17:40:25 +00:00
dd8ba245bb
'libs/evoral' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date)
2014-01-12 17:36:17 +00:00
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
b0e4f81eb3
merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
...
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
Nils Philippsen
527b0a78a1
fix const-ness of names array
2013-12-10 23:07:48 +01:00
3a885d6177
Only use __declspec(dllimport/dllexport) for MSVC compiler
...
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
8648a8a13b
fix up wscript/build issues in exportvis after merge with master
2013-12-03 11:51:25 -05:00
0f33baf32f
back-port two actual bug fixes from cairocanvas branch
2013-11-05 10:17:40 -05:00
0cca272431
try to fix various warnings from gcc when optimization flags are enabled
2013-11-04 21:32:41 -05:00
38afa297ee
logic fix for SMF meta-event is-text determination, plus some gcc optimization-based unusued fixes
2013-11-04 21:30:40 -05:00
f85c67501c
reverse the visibility.h files assumptions that we don't build shared libs by default
...
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.
Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
b855e5f322
Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
...
Conflicts (hopefully resolved):
gtk2_ardour/wscript
libs/ardour/ardour/audioregion.h
libs/ardour/ardour/debug.h
libs/ardour/ardour/directory_names.h
libs/ardour/ardour/filesystem_paths.h
libs/ardour/ardour/session_event.h
libs/gtkmm2ext/gtkmm2ext/utils.h
libs/panners/1in2out/wscript
libs/panners/2in2out/wscript
libs/panners/vbap/wscript
libs/pbd/pbd/debug.h
libs/pbd/pbd/file_utils.h
libs/pbd/pbd/pathexpand.h
libs/pbd/pbd/ringbuffer.h
libs/pbd/pbd/ringbufferNPT.h
libs/pbd/pbd/search_path.h
libs/pbd/pbd/stacktrace.h
libs/pbd/pbd/uuid.h
libs/pbd/pbd/uuid_boost.h
libs/surfaces/control_protocol/control_protocol/basic_ui.h
libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
61c1956ef9
add -fvisibility=hidden to evoral, and make things work
2013-10-17 15:02:20 -04:00
08fbc53d52
add new visibility macro headers omitted from previous commits
2013-10-17 12:41:11 -04:00
15471ca7dd
add export control to libgtkmm2ext
2013-10-17 11:26:01 -04:00
94ef2692b8
add export control to libevoral
2013-10-17 10:52:02 -04:00
87a440553f
Fix for isnan using MinGW compiler
2013-09-06 14:30:45 +10:00
Michael R. Fisher
5a97ae6bd6
Include evoral/Note.hpp before pbd/compose.h
...
- This workaround prevents a clang compiler error about template
visibility
2013-08-08 15:23:09 -04:00
Michael R. Fisher
270edc18ad
Typo fixed: call class method instead of trying to use as a variable
2013-08-08 15:23:09 -04:00
bb59def1ca
fixes for windows branch build failures under linux. still does not build on linux, now due to taglib changes
2013-07-31 20:08:43 -04:00
78974b2df9
'libs/evoral' - Windows specific includes
2013-07-23 17:10:06 +01:00
f6b0b4c0d7
'libs/evoral' - Remove ambiguity about which version of 'abs()' we need
2013-07-23 16:59:15 +01:00
bc34d6f731
'libs/evoral' - For each of the NNNN_lower_bound() functions (3 in total) add a non-const iterator to supplement the existing const_iterator
2013-07-23 07:56:30 +01:00
af51ef383d
'libs/evoral' - Through a compiler extension gcc can implement an array whose size in not known at compile time. MSVC doesn't have this extension. Therefore, use std::vector instead
2013-07-23 07:53:57 +01:00
f9b99edc4a
'std::isnan' is not available in MSVC (at least, not VC8)
2013-07-23 07:50:25 +01:00
453ed61c4a
'libs/evoral' - cast the returned pointers from malloc() / g_ptr_array_index() etc, as needed to satisfy MSVC
2013-07-23 07:47:10 +01:00
1cb37fc11c
Remove an unnecessary #include that prevents 'libs/evoral' from building with MSVC (more evoral changes to follow)
2013-07-23 07:43:48 +01:00
650964f320
Merge branch 'master' into windows
2013-07-17 08:05:59 -04:00
Michael R. Fisher
65eb0b845f
Include evoral/Note.hpp before pbd/compose.h
...
- This workaround prevents a clang compiler error about template
visibility
2013-07-15 22:57:34 -05:00
Michael R. Fisher
5e739dbfc1
Typo fixed: call class method instead of trying to use as a variable
2013-07-15 22:57:34 -05:00
350bd56a06
Fix evoral test to compile with mingw
2013-07-11 13:03:55 -04:00
2b9f50ffc7
include winsock2.h on windows in libsmf for htons/l etc.
2013-07-11 13:03:24 -04:00
cc960c4f07
remove executable mode-bit from files
2013-06-16 21:54:08 +02:00
f04c35cb1c
reduce verbosity of DEBUG::Sequence traces
2013-05-02 10:11:31 -04:00
e510aed38d
fix reversed semantics from 86f1b for LaterNoteEndComparator()
2013-04-03 14:10:33 -04:00
04cba6eca0
fix (?) behaviour when punching into automation write mode while the transport is moving, hopefully without breaking anything else
2013-04-02 16:10:51 -04:00
3b20beb8d8
Merge branch 'patches' of https://github.com/jdekozak/ardour
2013-03-29 14:18:08 -04:00
86f1b8c71f
major fixes for MIDI patch change and note undo/redo. Patch change handling was completely broken because of the use of absolute floating point comparisons for time comparison, and serialization/deserialization of patch change property changes was borked because of int/char conversions by stringstream. Note undo/redo would fail for note removal if a note had been moved and/or had its note number changed as the next operation after it was added, because time-based lookup would fail. Similar small changes made for sysex messages, which just needed the musical_time comparisons and nothing else
2013-03-29 11:52:25 -04:00
Julien de Kozak
16f8fc0657
Fix some compilation warnings
2013-03-23 14:50:58 +01:00
fa8d0268eb
Fix compilation with --test.
...
Make midnam test suite pass again.
The Ardour test suite does not pass. I commented out old crossfade stuff, but
I am not familiar enough with the parts that fail to fix it. It might be a
good idea for someone to look into this. Ideally we'd have the test integrated
into everyone's workflow, but they add quite a few files to compile...
git-svn-id: svn://localhost/ardour2/branches/3.0@13931 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 18:23:42 +00:00
fc77ae0738
Replace a bunch of potential crashes with graceful handling of the situation.
...
We really need some kind of more sophisticated assert macro that can be
switched to non-fatal logging mode for release builds. A log message, which is
often all that would happen, is a lot better than a trainwrecked performance...
git-svn-id: svn://localhost/ardour2/branches/3.0@13892 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-19 07:00:43 +00:00
5b9bd3eea0
control lists should use the default value of their parameter, not zero (noticeable for pitchbend)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13844 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-15 15:00:37 +00:00
18f465393b
remove use of a boost::fast_pool_allocator without a mutex for Evoral::ControlList. this was not thread-safe and evidence from googling around suggests that it is actually not faster for this sort of use than std::alloc. removing this fixes bizarre errors caused by multithreaded use of the singleton pool that backs the allocator, which started to become more clear during experiments on 128 track sessions
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13672 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-17 18:41:58 +00:00
24917e4c9e
disable spline interpolation for curves - use linear interpolation; configuration parameter pending for this, plus slightly cleaner reuse of existing ControlList methods
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13627 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-09 17:24:58 +00:00
d7716b055c
fix automation/control list behaviour when manually adding a point within existing data
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13619 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-08 17:57:47 +00:00
8ecabd0d37
remove debugging output; properly handle cases in Curve::_get_vector() where the entire requested range for the vector is either before the first point in the curve (unlikely to happen because we typically add a guard point at zero) or entire after the last point in the curve
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13582 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-02 00:23:03 +00:00
9e84a2f931
still more debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:49:59 +00:00
bad34d7ded
still more debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13580 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:42:48 +00:00
776eb23e8b
still more debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13579 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:38:15 +00:00
202788ea18
more debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13578 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:28:47 +00:00
6242371388
debugging output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13577 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 23:21:12 +00:00
8a819a80d0
add reverse iterator to event list (prepare x-fade fix)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-30 15:51:05 +00:00
b73d9b585f
fix prev commit (stupid C++ needs explicit typecast)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13529 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:48:29 +00:00
ba7f951919
prevent subveclen to wrap at 2^31
...
fixes http://pastebin.com/X629ZE7F (Timecode 22h @48k, 512fpp)
git-svn-id: svn://localhost/ardour2/branches/3.0@13528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 21:22:58 +00:00
a0f00d7d22
add a "guard" point after a write/touch automation insertion, preserving the shape of the later segment of the existing line
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13507 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-15 16:22:43 +00:00
bb9ab696b1
likely fixes for most remaining issues with data in automation/control lists, but more testing needed
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13497 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-14 15:06:41 +00:00
Hans Baier
e36c855464
issue 0005121: added comment to source. Sorry, last commit was for issue 0005121, not 0005120, copied from the wrong line :[
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 06:04:06 +00:00
Hans Baier
2625fd9be8
fix issue 0005120: dont treat percussive mode differently than sustained mode except in GUI. Leaving out all note offs crashes LinuxSampler and totally drowns my Yamaha PSR-S900 by stealing all its available voices. Code is #ifdef-ed out until a more thorough discussion would conclude the removal of percussive mode from the MIDI model, which IMHO makes sense. I don't see any virtue in leaving out note offs since it only creates problems.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 05:58:47 +00:00
Hans Baier
97c23848d7
implement deleting of sysex events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:22:17 +00:00
2b1cc9656e
remove incorrect and unnecessary template class declaration from Evoral (added recently)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13230 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 15:42:47 +00:00
Hans Baier
3f5c6f8190
enable and extend EVORAL_MIDI_XML. Useful for Debugging. Any objections?
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 04:31:59 +00:00
Hans Baier
c3850cfb35
evoral/MIDIEvent: Whitespace cosmetics in header, make XML output work properly eg show the numbers instead of blanks
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-09 08:33:27 +00:00
b30ba842d8
fix missing variable initialization
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13194 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-17 21:09:12 +00:00
696631f04e
comment tweaks from a second reading
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13182 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-09 20:31:43 +00:00
999ec4a074
remove unused code
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13181 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-09 20:21:50 +00:00
4b38ddec62
replace deprecated g_atomic_int_exchange_add()
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-26 15:39:17 +00:00
3cd8138a41
convert from Glib:: to Glib::Threads for all thread-related API
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25 17:48:55 +00:00
3c252e9321
lots more fidgety work on automation. sort of works now, but undo/redo needs attention
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17 03:10:40 +00:00
f97da74cf7
code motion to put Sequence::{add,append}_patch_changed_unlocked() next to each other as candidates for removal
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-16 14:46:21 +00:00
c3ccff8d05
fix up part of the remaining details with automation, so that touch/write over-writes work correctly
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13041 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-14 15:42:10 +00:00
0532e2063b
dramatic overhaul of automation. too long to explain here. this work is not finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13 21:05:45 +00:00
bd2bf3c52e
automation fixes/changes: when add a new control point, create necessary points to construct a flat default-valued line from zero the first point, and revert to the default value at the end of the write (breaks value-holds-after-write behaviour); fix bug in data elimination when recording flat-line data
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12997 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-09 18:32:53 +00:00
Carl Hetherington
5ac22e9095
Add new SharedStatefulProperty which manages a shared_ptr to
...
some Stateful object, and a subclass to use this for
AutomationList. SharedStatefulProperty will manage undo / redo
using full copies of the XML state, like MementoCommand,
but does it within the Property undo system.
git-svn-id: svn://localhost/ardour2/branches/3.0@12740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-16 17:20:10 +00:00
Carl Hetherington
a6786a6dd2
Hopefully less bad version of Evoral::RangeList::subtract,
...
with more tests.
git-svn-id: svn://localhost/ardour2/branches/3.0@12514 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 20:23:31 +00:00
2d017301f9
add ::length() method to Evoral::ControlList
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12451 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-25 19:59:11 +00:00
27a1cf2cf7
Compile cleanly with clang.
...
To compile Ardour with LLVM/clang, do the usual thing but set the CXX and CC
environment variables, e.g.:
CC=/usr/bin/clang CXX=/usr/bin/clang++ ./waf configure build
git-svn-id: svn://localhost/ardour2/branches/3.0@12418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 02:54:10 +00:00
b99131f21e
fix bug that has existed since rev 17 when evaluating a curve in a position before the first point of the curve
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12411 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 01:43:02 +00:00
a98fa4bc61
switch to 5 new fade curves, taken from mixbus2 branch. make xfade context menus functional even though the images are not accurate
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-11 21:30:36 +00:00
eaa7cc5a73
fix up some const-ness issues starting from Evoral::Event::set(), and intersect with removing Mackie..MidiByteArray::bytes() method which made a copy of the data every time we wrote it
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12124 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-30 15:54:13 +00:00
Carl Hetherington
a4434809e1
Use a list of ControlPoints to hold the automation selection,
...
rather than a time range. This makes more sense now that we
display every point on an automation line, rather than just
a subset. Makes the code a fair bit simpler, and should fix
some unexpected behaviours, especially when cutting automation
points.
git-svn-id: svn://localhost/ardour2/branches/3.0@12054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 14:03:07 +00:00
Carl Hetherington
9befa88deb
Fix some warnings.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-20 23:34:15 +00:00
Carl Hetherington
cfbc2e2438
Fix thinko causing possible memory corruption.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12040 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-19 23:54:05 +00:00
Carl Hetherington
a2897ecef6
Fairly major change to the way in which crossfades are handled;
...
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.
If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Carl Hetherington
23973bae24
A few tweaks to make Ardour build in GCC -std=c++0x mode.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-15 19:28:44 +00:00
bdde5da89b
make automation thinning factor controllable at run time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-05 11:16:04 +00:00
Carl Hetherington
daad719546
Remove ControlList::_max_xval which is set up and stored in
...
state but never actually read.
git-svn-id: svn://localhost/ardour2/branches/3.0@11787 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-04 00:15:41 +00:00
Carl Hetherington
5de4de613b
Fix memory leak on error condition ( #4798 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 15:06:24 +00:00
Carl Hetherington
d7deaa21bb
Fix reference of track after free() ( #4795 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-01 14:58:09 +00:00
Carl Hetherington
7c2b3171c2
Further GCC 4.7.0 fixes.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11768 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30 01:21:08 +00:00
Carl Hetherington
8ae1880e33
Some fixes for GCC 4.7.0
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11767 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-30 00:03:53 +00:00
Carl Hetherington
3120bae8b4
Don't leave internal edit mode when clicking on an automation region view ( #4747 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:23 +00:00
40af4b914f
use musical_time_equal() test for equality when copying note data, not strict floating point equality. should fix #4609 (and maybe another one too)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11407 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-31 23:20:13 +00:00
Carl Hetherington
5a53f2f1b9
Simple approach to putting plugin controls into the
...
processor box.
git-svn-id: svn://localhost/ardour2/branches/3.0@11288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 18:02:48 +00:00
Carl Hetherington
9237c7411c
Catch exception thrown by SMF code when it cannot write
...
to a file (#4640 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@11259 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18 02:10:40 +00:00
Carl Hetherington
9c8a27c664
Don't round control list events when x-scaling them; prevents large loss of accuracy with xfades when they are scaled to be small and then expanded again ( #4602 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11125 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-31 13:25:29 +00:00
5f88b44245
(1) do not write sequential same-value automation data into a ControlList (2) thin AutomationList data when reloading from disk (similar code as Ben's from ardour 2.X, but without user-adjustable thinning density at present). Should fix #4583 and maybe others caused by NaN's occuring from zero-slope lines
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11078 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 22:13:54 +00:00
2449a787c5
fix a build issue in Evoral that was preventing Sequencer<T>::dump() from being available, and expose operator<< for Sequence<T>
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-22 02:09:39 +00:00
14d601a0ff
revert recent change to Evoral::Event, and use static_cast<> to get from Event to MIDIEvent
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10870 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 20:34:58 +00:00
a38df56f97
correct code for MIDIEvent::is_{spp,mtc_quarter}()
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10866 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:40:03 +00:00
60e6b5d561
add 3 new is_foo() methods to MIDIEvent for testing for certain periodic MIDI messages
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10862 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:31:53 +00:00
ebc0b88248
make Evoral::Event be polymorphic by adding virtual to its destructor (why was this not done already?)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10861 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-02 19:31:19 +00:00
efe14fbd52
Fix broken whitespace via merciless application of the emacs hammer.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 00:17:31 +00:00
2929cd1c36
tweak debug output
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10780 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-22 20:29:41 +00:00
Carl Hetherington
6e1aa92eb8
Doxygen tweaks.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10644 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 02:03:30 +00:00
bf8f0b2cb5
Apply patch from timbyr to fix building with --test.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-13 03:54:29 +00:00
18c2ee4a26
Remove dubious Evoral::Event methods that exposed non-const references to members.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10239 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 18:11:31 +00:00
0938a42440
fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
a6d7098797
more changes to wscript files to catch up with waf 1.6 and fix OS X issues
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10176 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 16:22:04 +00:00
4ffe8418e3
Use is_defined to check for HAVE_* variables set by checks.
...
Note that conf.define('FOO', 1) will NOT set conf.env['FOO'].
git-svn-id: svn://localhost/ardour2/branches/3.0@10164 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 20:29:06 +00:00
c1ef7b14a3
Remove use of waf compat15 tool.
...
Always load waf tools first (prevent smashing of --debug, DATADIR, etc).
git-svn-id: svn://localhost/ardour2/branches/3.0@10163 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:58:05 +00:00
723ab60b39
Upgrade to waf 1.6.7 and autowaf r52.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-29 19:17:54 +00:00
Carl Hetherington
20dc91d0ad
Add missed parent class call to Sequence::control_list_marked_dirty. Fixes #4335 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10140 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-27 01:21:05 +00:00
Carl Hetherington
da4270a93d
Emit ContentsChanged on the model when one of its control lists changes. Should fix #3880 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10095 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-19 17:15:43 +00:00
Carl Hetherington
77f3fa0943
Fix build with tests enabled.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9984 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-13 14:17:16 +00:00
61eacc021a
prevent illegal data being used to set note values, velocities and channels
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-12 14:40:04 +00:00
a8449db466
finish the intention of the previous commit, correctly this time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 16:06:31 +00:00
1f845c0e32
do not assert/abort out of data errors that may originate with external user-supplied data, and use PBD::error instead
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9978 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 15:58:28 +00:00
dd6e76ad89
add skeleton for i18n support
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9977 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-11 15:57:48 +00:00
Carl Hetherington
eb43f2d0eb
Fix up build of tests.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9943 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-31 13:58:26 +00:00
921358a5f3
remove remnant of MIDI I/O debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-26 16:24:41 +00:00
c99738d88e
try to fix data loss at end of a capture pass for MIDI - add a new virtual method to MidiSource that specifies what should be done with stuck notes, remove duplicate(i hope) _last_flush_frame from SMFSource that mirrored, more or less, MidiSource::_last_write_end; use new virtual method when stopping after capture.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9910 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-20 18:13:03 +00:00
Carl Hetherington
26666fce42
Remove an assert() that I can't see the value of, and which
...
trips when loading empty MIDI files (#4190 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@9883 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-16 20:55:14 +00:00
a5efa9a500
initial pass at session-renaming functionality
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9876 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-14 17:41:06 +00:00
160f1493fa
more midi io debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9868 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 20:14:53 +00:00
be614d0538
change default overlapping note strategy to "relax" (i.e. do nothing); fix crash when looping with MIDI data; add back note-off resolution at loop point (if it was actually there) so that notes are turned off (but don't forget Ye Olde Sustain Pedal/Controller) when looping; minor other non-functional tweaks
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9753 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-21 21:29:22 +00:00
01e006e46e
some changes to try to make the monitor section gain controls work as intended, and along the way start to rationalize MotionFeedback/VolumeController classes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9746 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-17 21:47:20 +00:00
1060243302
major, substantive reworking of how we store GUI information (visibility, height) for automation data. old design stored (insufficient) identifying information plus actual data in a GUI-only XML node; new scheme adds GUI data via extra_xml node to each AutomationControl object. reworked public/private methods for showing/hiding TimeAxisView objects; changed labelling of automation tracks to just show the name of the controlled parameter - more info can be viewed in the tooltip for the track headers. NOTE: Session file format ALTERED. No data loss but track visibility may be different than previous ardour3 versions
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9703 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-11 15:35:34 +00:00
8855b1643c
more gcc 4.6/standards compliance
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-29 00:25:30 +00:00
df46ab2c02
attempt to be compliant with gcc 4.6 (assuming that its more compliant with standards), by defining a default constructor for an object that is in static/global scope
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9624 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-28 23:45:34 +00:00
Carl Hetherington
819faa3b0b
Remove unnecessary duplicate take of Sequence's read_lock.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 12:01:05 +00:00
Carl Hetherington
c86ccc7db2
Minor tidy-ups.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9536 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 12:00:10 +00:00
4769db412d
Fix Python whitespace (follow PEP8 guidelines, reformatted by Python Reindent)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9409 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-22 22:15:21 +00:00
Carl Hetherington
d22cd939a3
Remove unused NascentInfo::is_touch member.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9386 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:25 +00:00
Carl Hetherington
51e368f3f0
Fix assertion failure when merging a set of nascent events which start at the same time as the last event in a ControlList.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 01:24:10 +00:00
Carl Hetherington
47018e771d
Fix erroneous masking when loading bank changes (part of #3916 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-16 15:10:25 +00:00
8177e85bf9
fix mismatching use of operator new() when allocating buffer to passed into libsmf - should be malloc'ed
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-09 15:36:54 +00:00
0906b39918
Fix my name :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 15:00:16 +00:00
8ceb8ac79f
more customary include order
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:13:37 +00:00
ea9979b4b9
remove Evoral::RingBuffer, which was (a) duplicating PBD::RingBufferNPT and (b) broken; replace it with PBD::RingBufferNPT
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-26 19:01:12 +00:00
Carl Hetherington
7178f031ba
Patch from Joskar to use scientific pitch notation for MIDI note names ( #3867 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9188 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-23 13:17:35 +00:00
9850407bd9
Indent python files with spaces as per style guide.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-16 16:32:56 +00:00
Carl Hetherington
d2bcfc0747
Allow out-of-time-order writes to nascent event list, sorting before merge. Fixes #3537 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 12:34:25 +00:00
Carl Hetherington
28d3dd69de
Update session range on trimming regions.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01 16:23:31 +00:00
50af344d12
avoid unused args warning
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8643 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-01 17:15:06 +00:00
Carl Hetherington
64e43bf4b1
Fix crash with debug enabled.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8613 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-29 19:36:01 +00:00
15b5fce904
merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +00:00
Carl Hetherington
3d0c3ffb6a
Missing files.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:43:22 +00:00
Carl Hetherington
f8ebb4582d
Unify program change and bank handling so that they are manipulated together.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:19:40 +00:00
bffe0c4f98
Fix broken whitespace.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-24 22:48:05 +00:00