John Emmas
6f019faaa0
Accommodate the change from libtimecode to libtemporal
2018-02-14 10:02:11 +00:00
Paul Davis
7db12f6b12
convert codebase to use Temporal for various time types
2017-09-24 12:03:54 -04:00
Paul Davis
30b087ab3d
globally change all use of "frame" to refer to audio into "sample".
...
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus
d11d8b8a96
Catch new exception in other places.
2017-08-30 17:53:31 +02:00
Tim Mayberry
dc893a3f21
Use XMLNode::set_property API in Midi::Port class
2017-04-19 09:36:48 +10:00
Tim Mayberry
2d52b425b8
Use XMLNode::set_property API in Midnam related classes
2017-04-19 09:36:48 +10:00
David Robillard
08fffeffec
Remove Evoral::MIDIEvent
...
It is slightly questionable whether type specific methods like
velocity() belong on Event at all, these may be better off as free
functions. However the code currently uses them as methods in many
places, and it seems like a step in the right direction, since, for
example, we might some day have events that have a velocity but aren't
stored as MIDI messages (e.g. if Ardour uses an internal musical model
that is more expressive).
In any case, the former inheritance and plethora of sloppy casts is
definitely not the right thing.
2016-12-03 15:18:21 -05:00
David Robillard
875b1367b2
Factor out and extend MIDIXML implementation
2016-12-03 15:18:20 -05:00
David Carlier
28435d1a30
Making buildable under OpenBSD.
2016-11-29 13:18:46 +00:00
Robin Gareus
0332c127cd
Allow to dynamically un/load Midnam Patches
2016-10-29 19:57:43 +02:00
John Emmas
0ff233d234
Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format
2016-08-30 07:15:00 +01:00
Robin Gareus
86763cba90
Enable build for FreeBSD (part 1/2)
...
Adopted from Michael Beer -- GH pull-request #232 with minor changes:
* rebased on master,
* removed trailing whitespace,
* don't explicitly change saved configuration defaults (wscript)
* moved sys/wait (WNOHANG) to header include
* separate changes in GUI and lib
2016-06-26 16:43:07 +02:00
John Emmas
b0200b23f2
Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path
2016-05-21 10:33:18 +01:00
Adrian Knoth
6fa88273aa
Spelling correction patch from Debian
...
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch >
2016-02-22 15:13:01 -05:00
Paul Davis
5153631d70
change API of MIDI::Port::drain() to include a maximum blocking time
2016-02-01 13:26:30 -05:00
Paul Davis
988a4521e4
add explanatory comment regarding IP_MULTICAST_LOOP, remove cout debug msg
2016-01-18 18:36:11 -05:00
Paul Davis
a4271b8560
try using reversed IP_MULTICAST_LOOP semantics for windows
2016-01-18 18:15:48 -05:00
Paul Davis
cd27f742d4
momo ip midi debugging
2016-01-18 17:57:06 -05:00
Paul Davis
b520db4687
mo' ip midi debugging
2016-01-18 17:18:44 -05:00
Paul Davis
0a6eed2b33
remove ipmidi debugging
2016-01-18 16:57:50 -05:00
Paul Davis
62ff9d9276
windows, i love you, more
2016-01-18 16:43:27 -05:00
Paul Davis
efca4413b9
windows, i love you
2016-01-18 16:41:59 -05:00
Paul Davis
3fc50258b8
debug IP multicast loopback
2016-01-18 16:38:25 -05:00
Paul Davis
650ee5a317
use cout instead of cerr, since this debugging is for windows
2016-01-18 15:53:28 -05:00
Paul Davis
97f180c432
IP MIDI debugging
2016-01-18 14:45:36 -05:00
Paul Davis
eb26cb346a
even more attempted changes for ipMIDI on windows
2015-12-12 01:17:49 -05:00
Paul Davis
c92af555b4
further attempted changes for ipMIDI on windows
2015-12-12 01:16:44 -05:00
Paul Davis
e9e477ffe5
some attempted changes for ipMIDI on windows
2015-12-12 01:13:49 -05:00
Paul Davis
6f71125476
try just removing all PLATFORM_WINDOWS conditionals in ipmidi code to see if it will compile
2015-12-12 00:58:07 -05:00
Kamil Rytarowski
2b869e1563
netbsd: Fix unportable shell construct
...
Caught with pkgsrc on NetBSD
2015-12-03 12:19:34 +01:00
Robin Gareus
73d1de3b75
NOOP, remove trailing whitespace, replace tabs in python scripts
2015-11-29 17:54:31 +01:00
Paul Davis
a15cf9f0b3
get faderport i/o working, basics of identifying control activity
2015-11-24 18:00:11 -05:00
Paul Davis
3095cbc4f9
more corrections for libmidi++ (N)RPN API
2015-11-23 12:27:51 -05:00
Paul Davis
5f7784e4f2
change API for libmidi++ RPN-related signals to be more useful
2015-11-23 11:49:08 -05:00
Paul Davis
14fe7a0ae8
add (N)RPN handling to libmidi++
2015-11-23 10:44:40 -05:00
Tim Mayberry
efc26a0490
Store the file path when constructing MidiNameDocument
...
This is so we can compare and see if we have already parsed the file
2015-10-22 11:51:03 -04:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
4178db5f63
globally remove all trailing whitespace from .cpp and .hpp files missed by previous commit
2015-10-04 15:11:15 -04:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
8e8f8d92c2
allow to run unit-test under wine from srcdir.
2015-09-13 15:30:00 +02:00
Robin Gareus
eb998b3264
plug some memory leaks in libs
2015-09-12 20:05:25 +02:00
Paul Davis
7fae6bcd87
copy all XCode project files from Tracks.
...
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
John Emmas
801af5df9e
Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side)
2015-06-09 13:18:42 +01:00
Robin Gareus
0367aa5825
remove cruft (old unused pre-git version files)
2015-01-09 06:11:57 +01:00
David Robillard
2a251b4570
MusicalTime => Beats.
2015-01-07 00:12:07 -05:00
David Robillard
2e62ca9631
Fix off-by-one MIDI note names.
...
Much like everything else in midnam, it's not specified whether the numbers are
0 or 1 relative, but everything out there seems to be 0 relative and this
matches the canvas, so go with that.
2014-12-29 20:20:16 -05:00
David Robillard
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
Robin Gareus
6f7ee67c71
midnam test: don't clutter up output.
2014-12-06 23:51:45 +01:00
Tim Mayberry
81d47f5b8c
Call PBD::init() from libmidi++ test runner
...
This is mostly just to be able to set PBD_DEBUG for testing if
necessary
2014-12-03 17:31:05 +07:00
Tim Mayberry
4fe6bf3530
export MIDIPP_TEST_PATH in midi++ test script so test files can be located
...
Modify formatting of script to be consistant with other test scripts
2014-12-03 17:31:04 +07:00
Tim Mayberry
23c0452e05
Add test_search_path to find test files in MidnamTest
2014-12-03 17:31:04 +07:00
David Robillard
0b48eb68f8
Remove bogus test and noisy output.
2014-11-30 23:56:19 -05:00
Paul Davis
c927eeb9ee
ensure that Ardour recognizes its own MMC device ID as "all-call" when set to 0x7f (127)
2014-11-26 18:22:22 +02:00
David Robillard
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
Robin Gareus
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
John Emmas
973d40e3ac
Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
...
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
Paul Davis
e32a8e8260
require a timestamp on MIDI::MachineControl::send()
2014-10-22 17:07:11 -04:00
Robin Gareus
a361781e08
plug a major mem hog.
...
(default empty session is now ~140MB RSS, was 280MB)
libXML memory was only free() at exit
2014-09-09 23:53:27 +02:00
John Emmas
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
John Emmas
45afed5e9a
Modify our VC project files to work with msvc32-fixup.pl
2014-08-04 09:02:17 +01:00
David Robillard
928881b24a
Update vcproj files for changed LILV config define.
2014-07-15 15:50:12 -04:00
David Robillard
fe9f2b15b1
Support midnam files with a channel (not patch) NoteNameList.
2014-07-15 15:18:18 -04:00
Tim Mayberry
8d0cba3384
Use PBD::find_files_matching_pattern instead of other variations
2014-06-25 12:40:10 -04:00
Robin Gareus
438179d278
wrap MIDI timecode at 24h
2014-06-10 04:22:34 +02:00
Robin Gareus
c0376fe7b3
really fix sending MIDI timecode.
2014-06-10 04:12:08 +02:00
Robin Gareus
7df663acf2
fix crash when trying to send MMC of timecode > 255 hours
2014-06-10 03:18:05 +02:00
Paul Davis
58522e5b5e
fix for storing 14 bit MIDI controller values
2014-04-30 10:10:06 -04:00
Paul Davis
1b989a93c2
remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR']
2014-04-28 21:18:02 -04:00
Paul Davis
058986f77b
finish unfinished work at basing all install paths on the program name
2014-04-28 21:11:08 -04:00
Paul Davis
2cf411e4be
merge (squash) with scenechange topic branch to provide MIDI-driven scene change markers
2014-04-28 19:58:24 -04:00
Paul Davis
0802cbf30c
remove inclusion of jack.h so that we can build on a platform without JACK
2014-04-10 08:52:21 -04:00
John Emmas
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
Paul Davis
e6c3cece64
remove recently added conflation of mingw64 and msvc with respect to symbol export
2014-03-02 14:59:08 -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
50edf9b626
correct delete/free mess
2014-02-12 15:14:40 -05:00
Paul Davis
5062a00c7d
move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again
2014-01-12 15:40:47 -05:00
Paul Davis
59631acc5f
fix merge with master
2014-01-11 15:19:18 -05:00
David Robillard
72d8ca89e2
Support midnam controller value labels.
2014-01-10 20:51:54 -05: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
e7c4774728
Merge branch 'master' into cairocanvas
2014-01-02 09:16:28 -05:00
Robin Gareus
e281f5653c
fix assert for non-existing MIDI patch-names
...
typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = MIDI::Name::ChannelNameSet; typename boost::detail::sp_member_access<T>::type = MIDI::Name::ChannelNameSet*]: Assertion `px != 0' failed.
2013-12-30 16:24:27 +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
4d0caa6ddd
add yet more missing parts of previous commit re: libmidi++ and JACK (files not saved in emacs, sigh)
2013-11-27 14:08:22 -05:00
Paul Davis
4a71e6f28f
add missing parts of previous commit re: libmidi++ and JACK (files not saved in emacs, sigh)
2013-11-27 13:53:58 -05:00
Paul Davis
ac4d691fe9
remove unintended linkage between libmidipp and jack
2013-11-27 12:44:23 -05:00
Tim Mayberry
b97ab7d7bc
Statically link libtimecode into libmidi++ instead of libardour
...
This is necessary to get the libmidi++ test to work as libmidi++ has
unresolved symbols in libtimecode. This was not a problem when libtimecode
was statically linked into libardour if the executable depended on both
libtimecode and libardour as the symbols would get resolved.
This is not true for the midi++ test case as it doesn't depend on libardour
Also as libmidi++ only references symbols from one object file in the
libtimecode static archive only that object file gets included/exported
from libmidi++.
This is fixed by adding a dummy reference to a symbol in the other object
file in the libtimecode static archive.
2013-10-20 09:27:35 +10: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
Paul Davis
683496c501
use libltc and libtimecode as static libs, and upgrade to waf 1.7
...
This is slightly awkward. It is important that we only link once to the static lib. Doing this at executable link time did not
work, possibly because waf insisted on putting the two static libraries at the front of the link list. So instead libardour
is now the point where linkage to these libraries occurs (and nowhere else). This should never be changed unless the change
just moves the linkage point to another location.
Also fix a bug with the libardour version tha was picked up by waf 1.7
2013-10-18 11:11:59 -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
300536e5cd
add -fvisibility=hidden to libmidi++ and make things work
2013-10-17 15:07:18 -04:00
Paul Davis
61c1956ef9
add -fvisibility=hidden to evoral, and make things work
2013-10-17 15:02:20 -04:00
Paul Davis
f3d2ca0d9a
get everything compiling with libardour built using -fvisibility=hidden
2013-10-17 12:41:28 -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
Paul Davis
9b7c33096a
export-ify libmidipp
2013-10-17 10:27:04 -04:00
Paul Davis
a7f156e005
new file for libmidi++ export control
2013-10-17 09:56:43 -04:00
Paul Davis
bb826f4bee
incomplete merge of master into windows (requires upcoming changes to master to be complete)
2013-09-12 11:28:50 -04:00
Paul Davis
a5a75d5e0d
fixes to get MTC (and probably MIDI clock) slaving working again
...
incoming MIDI data has to be parsed EVERY process cycle, not just when Slave::speed_and_position() is called.
The private MIDI::Parser owned by the MTC and MClck slaves was irrelevant, since the port has its own.
See comments in midi_port.h on the strangled inheritance heirarchy.
2013-08-13 12:53:28 -04:00
Paul Davis
a5a3f713d5
assorted extra debug output for MTC
2013-08-12 05:40:11 -04:00