Commit graph

4688 commits

Author SHA1 Message Date
Robin Gareus
e7cc4d19ba LTC slave/gen latency compensation: jack2 got fixed, remove #ifdef
git-svn-id: svn://localhost/ardour2/branches/3.0@13368 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-30 09:50:35 +00:00
Robin Gareus
5253283911 LTC: break out xrun and latency callbacks.
prepare to call get_connected_latency_range() only if needed.

git-svn-id: svn://localhost/ardour2/branches/3.0@13366 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 17:29:34 +00:00
Paul Davis
5f79e30d05 change is the only constant, again
git-svn-id: svn://localhost/ardour2/branches/3.0@13363 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:34:50 +00:00
Paul Davis
b1ed782045 change is the only constant
git-svn-id: svn://localhost/ardour2/branches/3.0@13362 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:33:38 +00:00
Paul Davis
1a096d5472 yet another fix for complaints from OS X gcc about constness
git-svn-id: svn://localhost/ardour2/branches/3.0@13361 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:16:07 +00:00
Paul Davis
4a843b6603 another fix for complaints from OS X gcc about constness
git-svn-id: svn://localhost/ardour2/branches/3.0@13360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:14:55 +00:00
Paul Davis
aa13dec8f5 fix complaints from OS X gcc about constness
git-svn-id: svn://localhost/ardour2/branches/3.0@13359 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-29 16:13:33 +00:00
Robin Gareus
52423fa8c3 LTC (slave&gen): no reset on graph-change
fixes issues with transport stop/start
when making connections with jack1 while slaved to LTC

git-svn-id: svn://localhost/ardour2/branches/3.0@13356 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-28 10:48:06 +00:00
Paul Davis
49f59709d8 do not do LTC port latency stuff during session deletion, which causes Session::ltc_rx_reset() to be called
git-svn-id: svn://localhost/ardour2/branches/3.0@13354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-27 00:14:37 +00:00
Robin Gareus
3ddfc76224 LTC generator - reinit on xrun or graph-reorder
git-svn-id: svn://localhost/ardour2/branches/3.0@13351 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 11:39:13 +00:00
Robin Gareus
0047b87e3d LTC Slave - re-init on xrun or graph change
git-svn-id: svn://localhost/ardour2/branches/3.0@13350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 11:39:10 +00:00
Robin Gareus
23eba2f4e2 MTC generator: fix assert when trying to send fps > 30fps
git-svn-id: svn://localhost/ardour2/branches/3.0@13349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 03:11:18 +00:00
Robin Gareus
2bf3cf2f8c LTC generator checks itself if to send LTC or not.
git-svn-id: svn://localhost/ardour2/branches/3.0@13348 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 03:11:16 +00:00
Robin Gareus
c8d9895c68 LTC slave; consolidate FPS detection
git-svn-id: svn://localhost/ardour2/branches/3.0@13347 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 03:11:14 +00:00
Robin Gareus
ccb64dc1df LTC generator - prevent assert when framerate changes midway
git-svn-id: svn://localhost/ardour2/branches/3.0@13346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 03:11:12 +00:00
Robin Gareus
6f5384879c prevent raptor attacks on Ardour's lead developer.
https://xkcd.com/292/

git-svn-id: svn://localhost/ardour2/branches/3.0@13345 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 03:11:10 +00:00
Paul Davis
49b50d8e97 clean up consequences of using IO/Port/Buffer for LTC output, and in related work, move calls to Session::ltc_tx_send_time_code_for_cycle() into Session::no_roll() to cover most cases where we "do not roll"
git-svn-id: svn://localhost/ardour2/branches/3.0@13343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-26 00:17:41 +00:00
Paul Davis
974085807e fix some issues with previous commit that were not properly tested because HAVE_LTC was undefined in my test build
git-svn-id: svn://localhost/ardour2/branches/3.0@13342 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-25 20:21:17 +00:00
Paul Davis
7b818e9a7f move ownership of LTC I/O ports to Session, and manage as IO objects
git-svn-id: svn://localhost/ardour2/branches/3.0@13341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-25 19:46:23 +00:00
Robin Gareus
8cff3d0e60 LTC Slave: improve fps detection
and fix a few minor typos in the related doc

git-svn-id: svn://localhost/ardour2/branches/3.0@13338 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-25 17:07:59 +00:00
Robin Gareus
acb795980b mostly cosmetic changes to LTC generator
also enable latency compensation and disable LTC gen from MClk
(both of which should have been in prev commit, but commented here)

git-svn-id: svn://localhost/ardour2/branches/3.0@13335 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-24 18:33:30 +00:00
Paul Davis
3d4bbcd65c save + restore OSC active+feedback state (#5023)
git-svn-id: svn://localhost/ardour2/branches/3.0@13329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-24 00:29:11 +00:00
Robin Gareus
b7075c0989 fix sending static LTC
git-svn-id: svn://localhost/ardour2/branches/3.0@13327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-24 00:04:49 +00:00
Robin Gareus
05b1f0c196 LTC generator update
git-svn-id: svn://localhost/ardour2/branches/3.0@13325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 23:32:39 +00:00
Robin Gareus
6f15ec9618 LTC generator config
git-svn-id: svn://localhost/ardour2/branches/3.0@13324 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 23:32:36 +00:00
Robin Gareus
4600530d50 MTC slave - resolve drift issue
Close loop of quarter-frame DLL and
also re-enable the deadzone around speed 1.0.
DLL bandwidth have been slightly adjusted empirically.

git-svn-id: svn://localhost/ardour2/branches/3.0@13323 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 17:10:31 +00:00
Robin Gareus
93b13251fa fix backwards playback position calculation
git-svn-id: svn://localhost/ardour2/branches/3.0@13322 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 17:10:25 +00:00
Paul Davis
35c6b52c36 probable fix for not being able to find audio files in a 2.X session that had "illegal" characters in the session name - adds the 2.X version of the search path to the audio file search path, if it exists
git-svn-id: svn://localhost/ardour2/branches/3.0@13321 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-23 14:52:26 +00:00
Robin Gareus
948fd683cd MTC slave - fix jumps on initialization
Do not re-position transport before first full frame has arrived.

git-svn-id: svn://localhost/ardour2/branches/3.0@13317 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-22 17:34:15 +00:00
Robin Gareus
ec94210a4d add LTC generator
git-svn-id: svn://localhost/ardour2/branches/3.0@13315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-21 14:07:10 +00:00
Robin Gareus
4c13d205d4 LTC Slave cleanup
initialize audioengine's ltc_port - if HAVE_LTC is not set
trying to connect it would segfault.

LTC frameno is < 40 by (two bit frame-ten's)

git-svn-id: svn://localhost/ardour2/branches/3.0@13314 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-21 14:07:07 +00:00
Robin Gareus
7f8d2e32da LTC slave rewrite #2
git-svn-id: svn://localhost/ardour2/branches/3.0@13313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-20 18:14:13 +00:00
Paul Davis
2d9ed69fe2 change input/output button context menus for mixer strip to be non-additive: when selecting a new IO bundle, disconnect from any existing connections before connecting to the new one (fixes #5087)
git-svn-id: svn://localhost/ardour2/branches/3.0@13308 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-18 16:15:11 +00:00
Paul Davis
aa3fe77d7f patch from robin to fix where the transport start occurs when exporting (#4098)
git-svn-id: svn://localhost/ardour2/branches/3.0@13305 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 22:33:02 +00:00
Paul Davis
bb9f8aabc4 second half of forward-port of recent a2/mb control protocol changes, this time enabling the GUI to track protocol-active changes
git-svn-id: svn://localhost/ardour2/branches/3.0@13303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 22:01:02 +00:00
Robin Gareus
fbc5571133 disable LTC,MTC speed deadzone for now.
wrong threshold causes jumps.

git-svn-id: svn://localhost/ardour2/branches/3.0@13302 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 17:11:32 +00:00
Robin Gareus
cf23bf29e7 decrease LTC flywheel time and adjust DLL settings
git-svn-id: svn://localhost/ardour2/branches/3.0@13301 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 15:57:55 +00:00
Robin Gareus
f6eeb47482 Add a 1% speed deadzone around speed=1.0 for LTC, MTC slaves
trade-off constant re-sampling to achieve sample-delta ~0,
with trying to avoid resampling if the delta is within
1% of the sample-rate.

git-svn-id: svn://localhost/ardour2/branches/3.0@13300 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 15:57:53 +00:00
Robin Gareus
c4cb4fa141 slave delta display
impl MClk slave, update format for LTC, MTC

negative delta: Ardour is behind,
positive delta: Ardour is ahead of ext clock.

git-svn-id: svn://localhost/ardour2/branches/3.0@13299 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 15:57:51 +00:00
Paul Davis
cff8a65db2 forward part the backend part of the generic MIDI control fixes from mb2/a2
git-svn-id: svn://localhost/ardour2/branches/3.0@13297 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-17 14:36:40 +00:00
Robin Gareus
f4ae7cc709 LTC remove debug out, delta-time: flywheel display
git-svn-id: svn://localhost/ardour2/branches/3.0@13294 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 23:04:02 +00:00
Robin Gareus
99a177da84 LTC slave reworked
* detect LTC framerate
* detect LTC discontinuities
* use a DLL for flywheel sync (engine rate)
* don't use seekahead - internal resync

git-svn-id: svn://localhost/ardour2/branches/3.0@13291 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 20:53:15 +00:00
Robin Gareus
b40b353264 prepare for non-seekahead [LTC] slave. fix state machine
locate() will call realtime_stop which will reset the slave-state.

git-svn-id: svn://localhost/ardour2/branches/3.0@13290 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 20:53:12 +00:00
Robin Gareus
64b0efdf9f MTC Slave: allow >2 sec for re-sync, format delta
git-svn-id: svn://localhost/ardour2/branches/3.0@13289 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 20:53:10 +00:00
Robin Gareus
625ee55df0 don't do a pending save if slave is syncing.
13:00 < rgareus> When a slave does initial sync, it sets speed=0, pos=XXX (required by session_process.cc state-machine to init)
13:01 < rgareus> This triggers a locate(roll=false) which in turn triggers a realtime_stop() which in turn triggers a non_realtime_stop().
[..]
13:06 < rgareus> las: the problem I have with non_realtime_stop() is that it does save a pending state IFF  get_record_enabled() is true.
13:06 < rgareus> The save can take ages (seconds), which will void the initial sync of the slave.
13:07 < rgareus> The slave enters a live-lock: sync, save, re-sync, save...
13:07 < las> rgareus: understood
13:07 < rgareus> las: I propose to workaround this: only save pending state if there is no slave or the slave is not locked.
13:07 < las> rgareus: another reason why recording + slave == bad idea :(
13:07 < las> rgareus: but yes, that sounds fine to me
13:07 < rgareus> AFICT this is not harmful. It only affects pre-record settings.
13:07 < rgareus> 'did_record' is used to save a full state after each recording.

git-svn-id: svn://localhost/ardour2/branches/3.0@13288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 20:53:08 +00:00
Hans Baier
4c9fcd407c implement double click to ContentsRange on MidiScroomer
git-svn-id: svn://localhost/ardour2/branches/3.0@13284 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16 09:19:19 +00:00
Paul Davis
cb84e71caa create and manage a new config parameter that defines where LTC originates (still some tweaks to be done here and there)
git-svn-id: svn://localhost/ardour2/branches/3.0@13280 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-15 15:57:35 +00:00
Robin Gareus
6ab663342d MTC slave: timcode and delta formatting
git-svn-id: svn://localhost/ardour2/branches/3.0@13279 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-15 02:46:56 +00:00
Robin Gareus
6584ae1ce7 MTC slave fix reporting approx position
git-svn-id: svn://localhost/ardour2/branches/3.0@13277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 23:23:57 +00:00
Robin Gareus
a6bc97add9 prepare reporting slave delta & MTC slave implementation
git-svn-id: svn://localhost/ardour2/branches/3.0@13276 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 23:23:53 +00:00