Commit graph

270 commits

Author SHA1 Message Date
Robin Gareus
c987ad5281 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-08-17 14:55:13 -04:00
Robin Gareus
de84813c0d update Evoral::Curve to honor ControlList::InterpolationStyle 2014-08-16 17:58:23 -04:00
Robin Gareus
ece0d75122 Fix code to prepare re-enable cubic spline interpolation of automation data.
see also 24917e4c9e
2014-08-16 17:57:52 -04:00
Damien Zammit
f77d76ba9d Fixed problem where importing invalid midi files caused crash. 2014-08-16 16:02:14 -04:00
Grygorii Zharun
ce2a519afa [Summary] Merging from GIT
[Details] Starting point:
Mar 24 2014, 11:47 PM
Commit: 87184ab80d

Target point:
Commit: 59e6694405
Apr 16 2014, 4:01 PM

[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 453690]
2014-04-18 04:21:54 -05:00
Paul Davis
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
Paul Davis
7000afdc66 fix merge conflict with master 2014-01-23 13:41:20 -05:00
Robin Gareus
3bc0d3e57b fix evoral assignment operator (copy buffer) 2014-01-22 15:11:31 +01:00
John Emmas
5da8c2b476 'libs/evoral' - and add 'Note.impl' to the project 2014-01-13 12:47:21 +00:00
Paul Davis
2fc2df8c5d fix 64 bit template types 2014-01-12 20:01:12 -05:00
John Emmas
6fc1f27013 Merge branch 'windows+cc' into cairocanvas 2014-01-12 17:45:28 +00:00
John Emmas
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
John Emmas
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
Paul Davis
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
Nils Philippsen
527b0a78a1 fix const-ness of names array 2013-12-10 23:07:48 +01:00
Paul Davis
0f33baf32f back-port two actual bug fixes from cairocanvas branch 2013-11-05 10:17:40 -05:00
Paul Davis
0cca272431 try to fix various warnings from gcc when optimization flags are enabled 2013-11-04 21:32:41 -05:00
Paul Davis
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
Tim Mayberry
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
Paul Davis
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
John Emmas
78974b2df9 'libs/evoral' - Windows specific includes 2013-07-23 17:10:06 +01:00
John Emmas
f6b0b4c0d7 'libs/evoral' - Remove ambiguity about which version of 'abs()' we need 2013-07-23 16:59:15 +01:00
John Emmas
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
John Emmas
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
John Emmas
f9b99edc4a 'std::isnan' is not available in MSVC (at least, not VC8) 2013-07-23 07:50:25 +01:00
John Emmas
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
Paul Davis
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
Paul Davis
2b9f50ffc7 include winsock2.h on windows in libsmf for htons/l etc. 2013-07-11 13:03:24 -04:00
Paul Davis
f04c35cb1c reduce verbosity of DEBUG::Sequence traces 2013-05-02 10:11:31 -04:00
Paul Davis
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
Paul Davis
3b20beb8d8 Merge branch 'patches' of https://github.com/jdekozak/ardour 2013-03-29 14:18:08 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
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
Robin Gareus
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
Robin Gareus
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
Paul Davis
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
Paul Davis
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