summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
AgeCommit message (Collapse)Author
2019-11-15NO-OP: move bracePaul Davis
2019-11-15when synced to JACK transport, transport requests go there first.Paul Davis
2019-11-15fix behavior of Session::maybe_stop() when synced to JACK TransportPaul Davis
2019-11-15make comment more accuratePaul Davis
2019-11-15consolidate Session::locate() and Session::do_locate()Paul Davis
The first no longer needs to handle requests by passing them to JACK transport
2019-11-15eliminate hacky design for being able to deliver the correct time as JACK ↵Paul Davis
timebase master
2019-11-08Fix loop/pre-rollRobin Gareus
Pre-roll to fill buffers only needs to be done once when starting to play or when locating. Seamless looping just continues. Every processor takes the loop position into account locally.
2019-11-06fix unconditional note resolution during DiskReader::realtime_locate()Paul Davis
When looping, we do not want to resolve notes at the end of the loop via ::realtime_locate() - ::get_midi_playback() has already taken care of this. But when not looping, we need this. So, add an argument to tell all interested parties whether the locate is for a loop end or not
2019-11-04fix a bad transition in the transportFSM.Paul Davis
2019-11-02don't locate when enabling loop if loop-is-modePaul Davis
2019-11-02remove unused parameter from Session::set_play_loop() APIPaul Davis
2019-11-01don't send TFSM event LocateDone after a locate-for-loop-endPaul Davis
See comment for explanation
2019-11-01remove seamless looping as an option (it's now the only kind of looping we ↵Paul Davis
support)
2019-10-29missing part of working loopingPaul Davis
2019-10-29get looping to work againPaul Davis
2019-10-28provide a mechanism to decide if Session::update_latency_compensation() is ↵Paul Davis
being called as part of a callback from the backend. If it is, do not call AudioEngine::update_latencies() to avoid JACK1-style deadlock
2019-10-27make transport work after rewind/ffwd are usedPaul Davis
2019-10-26Fix latency compensation race-conditionRobin Gareus
Remove need for explicit `initialize_latencies` call that used to be called from GUI-thread post_engine_init(), as well as Session::engine_running(). Further reduce calls, `graph_reordered` implies a latency-update and fix ordering issue. update_latency_compensation() must be called *after* resort_routes().
2019-09-25goodbye Profile->...trxPaul Davis
2019-09-25goodbye USE_TRACKS_CODE_FEATURES and is_tracks_buildPaul Davis
2019-09-22change the way we clear post transport work as the butler and post-butler ↵Paul Davis
methods get things done This avoids the blanket "set_post_transport_work (PostTransportWork(0));" that never really looked right
2019-09-22remove unused PostTransportDuration and enumeration-writing for ↵Paul Davis
Adjust(Playback|Capture)Buffering
2019-09-22correct problem with some locates that would keep rolling after they are ↵Paul Davis
finished
2019-09-20rename TransportFSM::FSMEvent to TransportFSM::Event (c/o the Department of ↵Paul Davis
Redundancy Department)
2019-09-19replace boost::msm - based FSM for transport with one written in "plain C++"Paul Davis
Still need to use boost::intrusive to managed qeued/deferred containers
2019-09-18deepen stack trace when checking non-RT RT callsPaul Davis
2019-09-17deepen stacktrace to show where non-process calls to supposedly ↵Paul Davis
process-stack-only methods are called
2019-09-17add finite state machine to control/manage transport statePaul Davis
2019-09-17minor tweaks to use initialization rather than assignmentPaul Davis
2019-09-17parametize the maximum transport speed.Paul Davis
No GUI to adjust this at this, nor is any planned. This just makes it easier if we ever feel we can change this.
2019-08-16Fix periodic backup savesRobin Gareus
Retain ".pending" files until explicit save or session destruction. Previously every transport-stop deleted them :(
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-03-18NO-OP: Use API to set/test state-of-the-stateRobin Gareus
2019-03-13NO-OP: re-order code, collect realtime transport actionsRobin Gareus
2019-02-28simplifications to the logic and additional comments for code that handles ↵Paul Davis
auto-return at transport stop
2019-02-26clarifying commentPaul Davis
2019-02-22remove PostTransportWorkCurveReallocate (no longer used)Paul Davis
2019-02-21Avoid dynamic-cast, prefer virtual inheritance for performance reasonsRobin Gareus
2019-02-21Add API to check for ongoing de-clickRobin Gareus
2019-02-21Remove more cruft (unused rf-scale)Robin Gareus
2019-02-04extend debug output statementPaul Davis
2019-01-25new approach to handling Transport Masters when engine is restartedPaul Davis
Trust that ::reset() works for all transport masters, and call it when engine is stopped. This way the transport masters are ready to be called again as soon as the engine restarts.
2018-12-28NO-OP: whitespaceRobin Gareus
2018-12-28Check whether punch-in is enabled and record is enabled in addition to if we ↵Alex Pilon
are actively recording when deciding whether to run count-in clicks
2018-11-28Fix a potential memory-corruptionRobin Gareus
Disk-writer run() can concurrently use the ringbuffer after it was free()ed by the butler thread.
2018-11-28Consolidate ambiguous engine API callsRobin Gareus
available(), connected(), running() were ill-defined and used interchangeably.
2018-10-05Properly disable looping when deleting loop-rangeRobin Gareus
2018-10-05move away from "sync source" conceptsPaul Davis
2018-09-27consolidate all transport masters on a SafeTime object that is a member of ↵Paul Davis
the TransportMaster base class. This seems to have broken some aspects of chasing/locking
2018-09-18new transport slave/master implementation, libs/ editionPaul Davis