Commit graph

408 commits

Author SHA1 Message Date
Paul Davis
cd61673238 Fix range "arithmetic"
Subtracting anything from an empty range should return an empty range, not an assert() failure

Conflicts:
	libs/evoral/evoral/Range.hpp
2015-01-17 17:25:11 -05:00
Paul Davis
957de80389 remove debug output 2014-10-16 10:37:34 -04:00
Paul Davis
465e70d098 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-16 10:37:34 -04:00
David Robillard
e35580f713 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-09-17 07:06:03 -04:00
John Emmas
77b4f4646e Modify our VC project files to work with msvc32-fixup.pl 2014-08-18 14:22:32 -04:00
David Robillard
b00b75de3d Update vcproj files for changed LILV config define.
Conflicts:
	libs/audiographer/MSVCaudiographer/audiographer.vcproj
	libs/clearlooks-newer/MSVCclearlooks/clearlooks.vcproj
	libs/evoral/MSVCevoral/evoral.vcproj
	libs/gtkmm2ext/MSVCgtkmm2ext/gtkmm2ext.vcproj
	libs/libltc/MSVCltc/ltc.vcproj
	libs/midi++2/MSVCmidi++/midi++.vcproj
	libs/panners/MSVCpanners/panner_1in2out.vcproj
	libs/panners/MSVCpanners/panner_2in2out.vcproj
	libs/panners/MSVCpanners/panner_vbap.vcproj
	libs/qm-dsp/MSVCqm-dsp/qm-dsp.vcproj
	libs/surfaces/control_protocol/MSVCardour_cp/ardour_cp.vcproj
	libs/surfaces/generic_midi/MSVCardour_genericmidi/ardour_genericmidi.vcproj
	libs/surfaces/mackie/MSVCardour_mackie/ardour_mackie.vcproj
2014-08-18 12:30:01 -04:00
Paul Davis
fc69f36063 make sure that copy constructors and operator= for ControlList pass along the _interpolation value 2014-08-17 20:48:32 -04:00
Robin Gareus
bdbc4a4f6e remove some 1920 tick constants and leave notes for some others. 2014-08-17 14:55:27 -04:00
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
Paul Davis
0fb82b76e4 fix two mysterious problems with stdint types 2014-08-17 13:45:14 -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
Paul Davis
1c84289254 remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR'] 2014-08-16 16:10:30 -04:00
Paul Davis
937c0764be finish unfinished work at basing all install paths on the program name
Conflicts:
	libs/backends/jack/wscript
	libs/backends/wavesaudio/wscript
	libs/canvas/wscript
	wscript
2014-08-16 16:10:15 -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
Valeriy Kamyshniy
b7f5416f42 [P4/git history rebuild] unnecessary removal of MSVC related visibility macros. Should be reverted by a future merge with Ardour 2014-05-27 22:55:44 -04:00
Valeriy Kamyshniy
4fce2913c2 [P4/git history rebuild] unnecessary removal of MSVC related visibility macros. Should be reverted by a future merge with Ardour 2014-05-27 22:55:31 -04:00
John Emmas
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
Paul Davis
19ab0fddef remove mingw64 special case from evoral visibility header (might be appropriate everywhere, needs testing) 2014-03-01 18:58:12 -05:00
Paul Davis
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
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
John Emmas
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
Paul Davis
9c753dbaec use LIBEVORAL_TEMPLATE_API with Evoral::Note 2014-01-12 20:23:45 -05:00
Paul Davis
2fc2df8c5d fix 64 bit template types 2014-01-12 20:01:12 -05:00
Paul Davis
cdfc094b9f add new file (required by MSVC) to sources list 2014-01-12 20:00:55 -05:00
Paul Davis
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
Paul Davis
a94dadc759 add LIBEVORAL_TEMPLATE_API to deal with gcc/msvc difference of opinion 2014-01-12 19:59:40 -05:00
Paul Davis
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
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
Paul Davis
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
Tim Mayberry
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
Paul Davis
8648a8a13b fix up wscript/build issues in exportvis after merge with master 2013-12-03 11:51:25 -05: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
Paul Davis
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
John Emmas
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
Paul Davis
61c1956ef9 add -fvisibility=hidden to evoral, and make things work 2013-10-17 15:02:20 -04:00
Paul Davis
08fbc53d52 add new visibility macro headers omitted from previous commits 2013-10-17 12:41:11 -04:00
Paul Davis
15471ca7dd add export control to libgtkmm2ext 2013-10-17 11:26:01 -04:00
Paul Davis
94ef2692b8 add export control to libevoral 2013-10-17 10:52:02 -04:00
Tim Mayberry
87a440553f Fix for isnan using MinGW compiler 2013-09-06 14:30:45 +10:00