Robin Gareus
0441bc140e
MTC slave, don't touch position if no MTC was received
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13232 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 20:37:59 +00:00
Robin Gareus
915797fd23
MTC-slave: print error if framerate mismatch
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13231 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 20:37:56 +00:00
Robin Gareus
a2b4128035
fix and improve MTC-slave
...
- MTC-speed average (MIDI thread)
* base timing on quarter-frames
* replace hann-window average with a DLL
- MTC/engine alignment
* replace 1st order PI-controller with 2nd order DLL
The 2nd DLL is needed because the jack-process callback effectively
quantizes the transport-speed to integer audio-frames (speed * nframes).
This leaves a delta on every cycle because the remainder from previous
cycles is not compensated for.
Theoretically it is possible to merge the two DLLs into one.
However, with callbacks coming from by two independent threads
it is cleaner to track the MTC and JACK engine-alignment speeds
independently.
git-svn-id: svn://localhost/ardour2/branches/3.0@13226 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 14:03:15 +00:00
Paul Davis
d29c5cdfb0
drop connections to incoming MIDI signals before deleting MTC Slave object
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13208 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-04 20:54:08 +00:00
Paul Davis
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
David Robillard
6fa6514cfd
Remove over 500 unnecessary includes (including 54 of session.h).
...
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff). I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.
This commit only targets includes of ardour/*.h. There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.
git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
David Robillard
a473d630eb
Fix broken whitespace. I'd apologize for the compile times if it was my fault :D
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 16:50:12 +00:00
Paul Davis
8849cb4287
add new concept for managing alignment style (AlignChoice); switch to using worst_playback_latency() just about everywhere we were using worst_output_latency() - the former includes plugin latency. answer appears to break earlier fixes to alignment, but is semantically right, so plan to investigate in another 8 hours or so
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9112 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-09 05:19:44 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
Carl Hetherington
bce9a0aee7
Revert previous incorrect patch.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:51:17 +00:00
Carl Hetherington
f500846fd4
Remove unused timecode offset stuff.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8143 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-01 17:42:18 +00:00
Paul Davis
ede4ecbb00
megaopus patch #2 for today: remove nframes64_t and sframes_t from source
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
Paul Davis
10bdce85a0
megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
Carl Hetherington
4885f29be1
Trim midi++ port code to either do in or out, but not both in the same object.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7391 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-08 01:00:46 +00:00
Paul Davis
3a048e1d6c
new fade in/fade out colors from chrisg
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 22:20:37 +00:00
Paul Davis
a1e0dc13df
tweak Stateful/StatefulDiffCommand changes so that SessionObject's actually get a name; make StatefulDiffCommand use a weak_ptr, not a raw ptr; use .val() rather than .get() to avoid confusion with boost:: smart ptr method of the same name
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6678 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11 23:10:29 +00:00
Paul Davis
47018a3bd1
some fixes/tweaks for MTC slaving, some untested
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6676 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-11 18:00:50 +00:00
Paul Davis
d978f102f5
cleanup of mtc slave code from debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6581 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-28 00:21:06 +00:00
Paul Davis
4dc34d5fd9
something for chris g. to try when he gets up before me
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6573 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 03:26:41 +00:00
Paul Davis
e24148d9d7
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6572 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 02:22:08 +00:00
Paul Davis
d6ec6b616b
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 02:07:47 +00:00
Paul Davis
4ceac63116
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 01:58:21 +00:00
Paul Davis
b4a395e8cc
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6569 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 01:55:29 +00:00
Paul Davis
7d96960b16
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6568 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 01:43:36 +00:00
Paul Davis
1489729ff0
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6567 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 01:38:05 +00:00
Paul Davis
b7e24583d9
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6566 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 00:53:34 +00:00
Paul Davis
c42d0a5fa4
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6565 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 00:34:04 +00:00
Paul Davis
acaf98ce38
more MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6564 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-27 00:20:15 +00:00
Paul Davis
f450df300c
fully implement and deploy explicit x-thread signal connection syntax (testing comes next)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6379 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-21 18:23:07 +00:00
Paul Davis
aae367b63c
use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +00:00
Paul Davis
f6fdd8dcbf
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
Paul Davis
8687895abb
remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
Paul Davis
61cade6d59
drastic, deep and wide changes to make RouteGroup use boost::shared_ptr<Route> and boost::shared_ptr<RouteList> to better fit into emerging framework for "RT operations" ; torben's changes to MTC slaving code (sorry for bundling)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6334 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-10 03:25:32 +00:00
Paul Davis
03c74e45a8
more tweaks to MTC slave code (still not functional), including removing race conditions when resetting slave state; make Session catch on its own saved preferences, which has not been happening; make switching sync sources avoid race conditions
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6269 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03 18:44:06 +00:00
Paul Davis
9dddffcc8f
more MTC stuff, including toggleable use of torben's PI controller
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-02 21:26:26 +00:00
Paul Davis
9e9cb3bf31
adjust to use timestamped MTC messages
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6255 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 18:32:29 +00:00
Paul Davis
194ee5d9ba
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 16:16:22 +00:00
Paul Davis
50131b3751
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6250 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 15:46:25 +00:00
Paul Davis
35d86425ba
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6248 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 15:30:02 +00:00
Paul Davis
f233c4738c
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 15:16:11 +00:00
Paul Davis
d2426538ad
more changes to try to improve MTC handling even in slightly pathological cases
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6245 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 13:24:08 +00:00
Paul Davis
e374518ca9
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 02:19:31 +00:00
Paul Davis
1614402e50
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6235 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 02:04:10 +00:00
Paul Davis
929f9a101a
continue with MTC debugging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6234 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 01:50:47 +00:00
Paul Davis
2ad2792bcb
rework MTC slave so that speed is computed in the MIDI I/O context, not process() context
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6233 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-01 01:08:56 +00:00
Paul Davis
c925d32474
more debugging tweaks
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-30 18:49:02 +00:00
Paul Davis
724f87a984
more debugging tweaks
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-30 18:32:59 +00:00
Paul Davis
b7341e0026
debug flag for MTC; make ardour/timecode.h simply include the "authoritative" one in libs/surfaces/control_protocol
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6209 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-29 22:08:18 +00:00
Paul Davis
ff122d0fe8
monster commit: transport mgmt changes from 2.X (omnibus edition); make slave use nframes64_t ; avoid crashes in Drags when commiting reversible transactions that do not exist
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6034 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-08 16:28:21 +00:00
Paul Davis
fa5aeb7892
change the use of "SMPTE" to "Timecode" to reflect the global economy and the end of american dominance on the world audio production stage
...
git-svn-id: svn://localhost/ardour2/branches/3.0@5924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 14:38:58 +00:00