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
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
Paul Davis
5a8e83e0de
move TC FPS up into status bar, use lower right of timecode audioclock mode for something ... TBDiscussed
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13257 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 16:25:57 +00:00
Robin Gareus
bce3184ff5
skeleton framework for LTC-slave
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 09:45:22 +00:00
Hans Baier
e3fb47d990
make sure routes instrument info initializes correctly
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13254 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 09:25:20 +00:00
Hans Baier
6009ad3060
tidy
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 09:24:31 +00:00
Hans Baier
e36c855464
issue 0005121: added comment to source. Sorry, last commit was for issue 0005121, not 0005120, copied from the wrong line :[
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13252 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 06:04:06 +00:00
Hans Baier
2625fd9be8
fix issue 0005120: dont treat percussive mode differently than sustained mode except in GUI. Leaving out all note offs crashes LinuxSampler and totally drowns my Yamaha PSR-S900 by stealing all its available voices. Code is #ifdef-ed out until a more thorough discussion would conclude the removal of percussive mode from the MIDI model, which IMHO makes sense. I don't see any virtue in leaving out note offs since it only creates problems.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13251 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 05:58:47 +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
Hans Baier
f61f973f87
implement missing midi event filtering during recording
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 05:39:40 +00:00
Hans Baier
ed05701ccb
revert last commit, wrong place...
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13242 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 04:31:57 +00:00
Hans Baier
d2c6b00bdd
fix bug: capture buffer not filtered by track channel selector
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13241 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 04:27:53 +00:00
Hans Baier
97c23848d7
implement deleting of sysex events
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:22:17 +00:00
Paul Davis
9707a0e827
move the external sync source selection tobe a global config parameter, not per-session, since this is likely a reflection of studio setup, h/w etc.; starting using real tooltips in the RC option editor
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13237 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-11 03:10:18 +00:00
Paul Davis
71b7326576
move timecode-is-clock-synced option to global configuration parameters, not per session
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13235 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 22:56:21 +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
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
Paul Davis
2b1cc9656e
remove incorrect and unnecessary template class declaration from Evoral (added recently)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13230 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 15:42:47 +00:00
Robin Gareus
8a6b0ab072
debug msg - varispeed recording
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 14:03:19 +00:00
Robin Gareus
29825092ae
ignore slave/engine time-delta when recording.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13227 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 14:03:18 +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
Hans Baier
3f5c6f8190
enable and extend EVORAL_MIDI_XML. Useful for Debugging. Any objections?
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 04:31:59 +00:00
Hans Baier
f8b7687f78
whitespace
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13222 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10 04:30:48 +00:00
Hans Baier
c3850cfb35
evoral/MIDIEvent: Whitespace cosmetics in header, make XML output work properly eg show the numbers instead of blanks
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13221 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-09 08:33:27 +00:00