13
0
Commit Graph

453 Commits

Author SHA1 Message Date
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