Commit graph

4675 commits

Author SHA1 Message Date
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
Robin Gareus
3769c060f2 use translatable strings for TC info,
and prepare delta display

git-svn-id: svn://localhost/ardour2/branches/3.0@13275 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:42:32 +00:00
Robin Gareus
bdcd6dba69 MTC,LTC print current timecodes in warning
git-svn-id: svn://localhost/ardour2/branches/3.0@13274 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:17:47 +00:00
Robin Gareus
f6b9572bfd LTC Slave, add support for variable framerates
git-svn-id: svn://localhost/ardour2/branches/3.0@13273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:17:42 +00:00
Robin Gareus
96f035e629 formatting timecode: use a semicolon to indicate DF
git-svn-id: svn://localhost/ardour2/branches/3.0@13272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:17:40 +00:00
Robin Gareus
a9c9d5072c MTC Slave: MIDI 30df -> A3 29.97df
MIDI only specifies the frame-count, not the rate.
in the vast majority of cases MIDI's
"Count to 30 use drop-frame" is 29.97df fps.

git-svn-id: svn://localhost/ardour2/branches/3.0@13271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:17:37 +00:00
Robin Gareus
0e7654255c MTC Slave: fix return approx position.
git-svn-id: svn://localhost/ardour2/branches/3.0@13270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-14 16:17:35 +00:00
Robin Gareus
e4e4b67ad4 timecode: make subframes unsigned int
git-svn-id: svn://localhost/ardour2/branches/3.0@13268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13 23:47:05 +00:00
Robin Gareus
f66d3f9b13 MTCslave - use new timecode API
git-svn-id: svn://localhost/ardour2/branches/3.0@13267 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13 23:27:43 +00:00
Robin Gareus
4a17dd8fb6 move sample/timecode conversion to libtimecode.
git-svn-id: svn://localhost/ardour2/branches/3.0@13266 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13 23:27:40 +00:00
Paul Davis
13d23f15aa provide forgotten case for restoring Windows VST plugins
git-svn-id: svn://localhost/ardour2/branches/3.0@13265 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-13 00:31:46 +00:00
Paul Davis
eaaca760c9 tweaks to be ready for more information timecode display in Timecode clock mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 22:04:21 +00:00
Robin Gareus
5eeecf82a0 LTC slave - basic working version (hardcoded 25fps)
git-svn-id: svn://localhost/ardour2/branches/3.0@13263 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 21:28:08 +00:00
Robin Gareus
6de548bd7f MTC slave - return apparent_timecode_format
git-svn-id: svn://localhost/ardour2/branches/3.0@13262 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 21:28:05 +00:00