summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
AgeCommit message (Collapse)Author
2013-01-16remove debug outputPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13850 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-16when stopping transport, revert _default_transport_speed to 1.0 if current ↵Paul Davis
speed is reversed (should fix #5264) git-svn-id: svn://localhost/ardour2/branches/3.0@13848 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-30fix vari-speed stuck at zero and playing backwards.Robin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13747 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-23Revert "fix for problem when reverse playback hits 00:00:00:00 (may be ↵Robin Gareus
incomplete)" This reverts commit 13708 -- because it's the wrong approach to fix this. git-svn-id: svn://localhost/ardour2/branches/3.0@13713 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-21fix for problem when reverse playback hits 00:00:00:00 (may be incomplete)Robin Gareus
should fix #5221 git-svn-id: svn://localhost/ardour2/branches/3.0@13708 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14merge robin gareus' libltc into ardour source tree for conveniencePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13665 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-16don't do a pending save if slave is syncing.Robin Gareus
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-12tweaks to be ready for more information timecode display in Timecode clock modePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12skeleton framework for LTC-slaveRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-10debug msg - varispeed recordingRobin Gareus
git-svn-id: svn://localhost/ardour2/branches/3.0@13228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-09-01Reset pending_locate_roll in all cases, not just when theCarl Hetherington
roll happened; should help with #5047. git-svn-id: svn://localhost/ardour2/branches/3.0@13158 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-26if a request to reset the speed to zero as the default arrives when stopped, ↵Paul Davis
reset the default speed to 1.0 (and nothing else). hacky, could probably use Session::request_reset_default_transport_speed() git-svn-id: svn://localhost/ardour2/branches/3.0@13087 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-25convert from Glib:: to Glib::Threads for all thread-related APIPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13084 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-17lots more fidgety work on automation. sort of works now, but undo/redo needs ↵Paul Davis
attention git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-13dramatic overhaul of automation. too long to explain here. this work is not ↵Paul Davis
finished - write/touch passes do not correctly overwrite existing data because the semantics of ControlList::insert_iterator need clarification. more to follow git-svn-id: svn://localhost/ardour2/branches/3.0@13038 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-08Report correct time instead of old time when locating as Jack transport master.David Robillard
I encountered this today writing a transport slave, but it seems to be the same problem as issue #743 from 8 years ago. The issue is easier to see with a transport slave client that prints any transport change whatsoever, for example if the current location is some point well into the session and rewind to start is pressed, Ardour reports the old position, not zero. With this change, it reports zero as expected. See comment about why this was happening. If locating here is evil for some reason, then some other way of making jack_timebase_callback report the target position is required. Contrary to what the old comment below this change suggests, follow_slave() does not update _transport_frame in time. git-svn-id: svn://localhost/ardour2/branches/3.0@12993 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-26Fix some oddities with playhead movement when locatingCarl Hetherington
during roll. git-svn-id: svn://localhost/ardour2/branches/3.0@12937 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-22introduce the idea of a "default transport speed", used whenever ↵Paul Davis
Session::start_transport() is called. Only the shuttle controller alters it, and even that only alters it in wheel mode, which means that stopping the transport does not rever the default speed back to zero. To get back to zero either switch the shuttle controller back to sprung mode, or change the speed back to zero (fixes #451 ... yes, really, a 3 digit bug fixed!) git-svn-id: svn://localhost/ardour2/branches/3.0@12819 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-22fix reset of transport speed when seamless looping; add a few comments and ↵Paul Davis
tidy-ups to related transport code git-svn-id: svn://localhost/ardour2/branches/3.0@12818 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-20Declick before the end of seamless loops, not after the end, so that loops ↵Carl Hetherington
are rendered accurately (#4213, #4593). git-svn-id: svn://localhost/ardour2/branches/3.0@12801 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-14Hopefully fix race between engine being halted and butlerCarl Hetherington
being destroyed. git-svn-id: svn://localhost/ardour2/branches/3.0@12722 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24Remove over 500 unnecessary includes (including 54 of session.h).David Robillard
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-02-06attempt to stop sending MMC/MTC while exporting or freewheeling for any reasonPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11457 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-24a better fix for click oddness: do not clear clicks when transport stops ↵Paul Davis
till *after* the new _transport_frame value has been set, so that we know when the clicks were accurately cleared git-svn-id: svn://localhost/ardour2/branches/3.0@11327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-24clear clicks when auto-returning, looping or whateverPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11326 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-18make monitor section an optional feature than can be added/removed as ↵Paul Davis
needed. this is a big commit, and breakage is possible. it has been moderately tested. this commit also locks the remote control ID of the master bus to 318 and the monitor section (if any) to 319. the numbers are based on MIDI Machine Control limits git-svn-id: svn://localhost/ardour2/branches/3.0@11256 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-17Remove unused code.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@11018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19Trim the include tree.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@10227 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-14Clear clicks on locating for a seamless loop so that theyCarl Hetherington
don't stop (#4213). git-svn-id: svn://localhost/ardour2/branches/3.0@10074 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-10don't use MIDI tracks when adding internal sends to auxes; no varispeed when ↵Paul Davis
recording and the corollary - no recording when varispeeding git-svn-id: svn://localhost/ardour2/branches/3.0@9974 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-09attempt to prevent dropping into record if rolling in reverse (should fix #4254)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9971 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-18more more debugging for MIDI i/oPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-03Send full MIDI time code (if enabled) after changing sync source; should fix ↵Carl Hetherington
#4147. git-svn-id: svn://localhost/ardour2/branches/3.0@9792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01Fix broken whitespace. I'd apologize for the compile times if it was my ↵David Robillard
fault :D git-svn-id: svn://localhost/ardour2/branches/3.0@9654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30(1) push a locate all the way through the processing heirarchy so that MIDI ↵Paul Davis
output ports can resolve any notes currently playing (2) remove MidiStateTracker from MidiPort and use a fixed set of MIDI messages (sustain-off and all-notes-off, per channel) to do note resolution (3) move note resolution caused by a LoopEvent psuedo-event to within the main MidiPort::flush_output() loop, so that we resolve (turn off) Notes that come before the loop point, rather than send them out after the note resolution messages git-svn-id: svn://localhost/ardour2/branches/3.0@9635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-12new debug trace in ::start_transport(); add a new emission of ↵Paul Davis
TransportStateChange to keep GUI up to date when varispeeding git-svn-id: svn://localhost/ardour2/branches/3.0@9500 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-21Make changes to route processors set the session dirty (part of #3997).Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20A few comments.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@9387 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-15fix all manner of things relating to io connections, setting capture ↵Paul Davis
alignment, and so on. still needs more tests of actual precise placement of newly recorded material git-svn-id: svn://localhost/ardour2/branches/3.0@9155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-14Fix broken indentation.David Robillard
git-svn-id: svn://localhost/ardour2/branches/3.0@9151 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-14more fun and games with latency compensation, and so forth ... not done yetPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9149 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-11sorta-kinda working latency compensation, latency reporting and capture ↵Paul Davis
alignment ... working except that we report the wrong information to JACK and i've noticed a couple of odd circumstances where turning on a latent plugin caused punch recording to fail git-svn-id: svn://localhost/ardour2/branches/3.0@9121 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-09add new concept for managing alignment style (AlignChoice); switch to using ↵Paul Davis
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-08lots of stuff related to capture alignment. things appear to be working now, ↵Paul Davis
but require the right alignment setting, which doesn't persist correctly at present git-svn-id: svn://localhost/ardour2/branches/3.0@9107 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-07fix all manner of wrongness with port buffer offsetsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@9098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-05fix monitoring so that MIDI tracks don't work the same way as audio ↵Paul Davis
(basically, they are always in "ardour does monitoring" mode git-svn-id: svn://localhost/ardour2/branches/3.0@9081 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-15part two of new JACK latency API support - should fix broken compilationPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8864 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-15part one of several parts: implement support for new (and correct) JACK ↵Paul Davis
latency API git-svn-id: svn://localhost/ardour2/branches/3.0@8863 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-07Prevent various things from stopping the transport by requesting a transport ↵Carl Hetherington
speed of exactly 0 when they are really just continuously varying it. Fixes strange playhead behaviour during varispeed when the user varispeeds to exactly 0 and auto-return is triggered. git-svn-id: svn://localhost/ardour2/branches/3.0@8733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-30do not send MMC DeferredPlay or Stop commands if slaving to MTC when ↵Paul Davis
transport starts or stops git-svn-id: svn://localhost/ardour2/branches/3.0@8617 d708f5d6-7413-0410-9779-e7cbd77b26cf