Commit graph

115 commits

Author SHA1 Message Date
Tim Mayberry
9b5440ec03 Use PBD::pthread_name in MTC_Slave for portability 2013-12-02 21:21:54 +10:00
John Emmas
cb18f914bd 'libs/ardour' - Further compiler specific changes 2013-09-18 12:28:08 +01: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
Paul Davis
ca76496ef3 more purging of JACK as an explicit name from libardour 2013-08-09 13:56:23 -04:00
Paul Davis
1ab61b8564 major redesign of MIDI port heirarchy and management (part 2) 2013-08-07 22:22:11 -04:00
John Emmas
490311bc08 'libs/ardour' - Main body of changes required for building with MSVC 2013-08-04 15:36:07 +01:00
Paul Davis
9ac6bb9bef part-way through getting the audioengine changes to compile 2013-07-24 19:29:45 -04:00
Paul Davis
3be0f0aa0b Use pthread_name instead of pthread_self for portability 2013-07-13 16:44:03 -04:00
Paul Davis
23bec25bf5 Remove non-portable and unnused header includes 2013-07-11 11:34:37 -04:00
Paul Davis
4be2176bd9 Revert "Remove non-portable and unnused header includes"
This reverts commit 7ef79d3f4b.
2013-07-11 11:23:41 -04:00
Paul Davis
7ef79d3f4b Remove non-portable and unnused header includes 2013-07-11 11:19:57 -04:00
Robin Gareus
2884ac6346 clock info-box: fix alignment and spacing
git-svn-id: svn://localhost/ardour2/branches/3.0@14123 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-03 11:36:47 +00:00
Robin Gareus
82be348d42 replace unicode dash with (monospace) minus.
git-svn-id: svn://localhost/ardour2/branches/3.0@14122 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-03 11:36:42 +00:00
Robin Gareus
ea29eb0d7d fix MTC slave+generator for non integer quarter_frame_duration
e.g. 44.1k [SPS] / 30 [fps] / 4 [MTC-frames per timecode-frame] = 367.5 [samples per MTC-frame]

git-svn-id: svn://localhost/ardour2/branches/3.0@14115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-03-02 22:52:39 +00:00
Paul Davis
241a9edd3e replace final(?) incidences of program name (ardour, Ardour) with PROGRAM_NAME (thanks to edgar for tracking them all down)
git-svn-id: svn://localhost/ardour2/branches/3.0@14050 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-02-05 18:18:35 +00:00
Robin Gareus
5da4e2be2d remove timecode subframe configuration
There is no actual use-case to set it to anything else than 100.
timecode subframes are only used for ruler marks and the snap to grid.
libtimecode is still /aware/ of the subframe setting.

git-svn-id: svn://localhost/ardour2/branches/3.0@13817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-09 15:47:19 +00:00
Robin Gareus
e1581242ca implement TC offset for slave&generator.
Many related changes that require atomic update, mostly
because ClockOption slots changed:

  * change offset config format to std:string (backwards compat - reads 0)
  * make Timecode offset independent from fps
  * sample_to_timecode() handle negative sample-num
  * audio-clock fix entry and edit of negative numbers
  * option editor:
    - remove old global internal offset
    - add slave & generator TC entry
    - still needs UI cleanup, tooltops, maybe sep. tab..
  * LTC & MTC slave& generator:
    - cache offset
    - subscribe to parameter changes

git-svn-id: svn://localhost/ardour2/branches/3.0@13485 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 20:29:28 +00:00
Robin Gareus
2c1b2256b6 slave delta: move sign next to the digit
git-svn-id: svn://localhost/ardour2/branches/3.0@13457 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-12 16:49:18 +00:00
Robin Gareus
8872844a60 add slave and generator Timecode offset (no UI yet)
So far only LTC slave, LTC generator and MTC slave.
MTC generator remains to be done.

git-svn-id: svn://localhost/ardour2/branches/3.0@13441 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 20:43:53 +00:00
Robin Gareus
e1166e3266 reintroduce space before delta "sample" lable
git-svn-id: svn://localhost/ardour2/branches/3.0@13435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 16:27:27 +00:00
Robin Gareus
23f00184c8 first round of audio-clock font rendering update
git-svn-id: svn://localhost/ardour2/branches/3.0@13425 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 02:45:01 +00:00
Robin Gareus
8216e35c5b add a delta sign to the slave delta display.
git-svn-id: svn://localhost/ardour2/branches/3.0@13423 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-10 20:00:24 +00:00
Robin Gareus
cbc8c6b7cf update slave clocks -- to use long minus
git-svn-id: svn://localhost/ardour2/branches/3.0@13422 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-10 19:48:50 +00:00
Robin Gareus
c27dde889c make timecode offset work
git-svn-id: svn://localhost/ardour2/branches/3.0@13418 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 17:27:30 +00:00
Robin Gareus
5eeefbb3a5 Don't notify user if fps changes only affect speed but not counting.
also unify labels for 29..97XX and simplify fps display.

git-svn-id: svn://localhost/ardour2/branches/3.0@13412 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 14:24:31 +00:00
Robin Gareus
67b836e6a3 MTC slave: 2997fudge option
git-svn-id: svn://localhost/ardour2/branches/3.0@13400 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-09 07:47:57 +00:00
Robin Gareus
18474a66c6 MTC slave: set initial framerates to current value.
git-svn-id: svn://localhost/ardour2/branches/3.0@13381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-05 11:26:29 +00:00
Robin Gareus
fd9ca8354e MTC slave: disable seekahead, implement own sync-locked
git-svn-id: svn://localhost/ardour2/branches/3.0@13376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-04 06:31:46 +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
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
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
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
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
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
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
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
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
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
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
Robin Gareus
fd1ab7ad40 MTC Slave: handle locates (quick re-sync)
git-svn-id: svn://localhost/ardour2/branches/3.0@13259 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 17:04:20 +00:00
Paul Davis
76eb2f23d6 basics for a TimecodeSlave parent class for MTC and LTC
git-svn-id: svn://localhost/ardour2/branches/3.0@13258 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 16:48:53 +00:00
Robin Gareus
617d291d1b MTC: map between timecodes
allow external timecode device to supply timecode with
framerates other than ardour session's framerate.

also fix latency overcompensation. The slave is supposed to
provide transport time - and not audible frame time.

git-svn-id: svn://localhost/ardour2/branches/3.0@13250 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 01:08:32 +00:00
Robin Gareus
a9abe3b1e1 move TimecodeFormat to libtimecode
provide a way to convert any TimecodeFormat to float frame-rate,
not only the currently active timecode_foramt.

git-svn-id: svn://localhost/ardour2/branches/3.0@13249 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 01:08:29 +00:00
Paul Davis
8007939839 add global config parameter timecode-sync-frame-rate to control behaviour when a timecode slave (MTC, LTC) has a different frame rate than an Ardour session
git-svn-id: svn://localhost/ardour2/branches/3.0@13233 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 21:07:24 +00:00