summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
AgeCommit message (Collapse)Author
2017-09-18sort of no-op ... remove debug output ... just basically put it in git so ↵Paul Davis
that i can fetch it on another machine
2017-09-18remove tests for locate_pending() before deciding whether to increment ↵Paul Davis
transport position
2017-09-18more verbose debug output for slave debuggingPaul Davis
2017-09-18verbose debug output for slave debuggingPaul Davis
2017-09-18additional DEBUG_TRACE output for slave/diskreaderPaul Davis
2017-09-18reset DiskReader "no disk output" flag in a couple of exceptional casesPaul Davis
2017-09-18remove debug outputPaul Davis
2017-09-18when calculating average slave/master delta, use absolute value.Paul Davis
We're interested in average distance between slave/master, the direction is irrelevant and using sign as direction causes the computed average to be absurd
2017-09-18remove all code related to "silent roll" concept. some debug output addedPaul Davis
2017-09-18remove Track::hidden(); replace with Stripable::is_private_route()Paul Davis
2017-09-18framework for silent-roll-while-slave-syncingPaul Davis
2017-09-18when DiskReader checks to see if a locate is in progress, it must be atomic ↵Paul Davis
with respect to all DiskReaders
2017-09-18do not change Session::_transport_frame is a locate is pendingPaul Davis
2017-09-18since Session::fail_roll() just calls ::no_roll() make that more explicit ↵Paul Davis
when there's actually no failure
2017-09-18remove InputConfigurationChange from session events, since it is a no-op in ↵Paul Davis
this development branch
2017-09-18remove all remaining vestiges of per-track varispeed from libardourPaul Davis
2017-09-18addd more DEBUG_TRACE for DiskIO; set DiskIOProcess::_need_butler more ↵Paul Davis
appropriately; other minor adjustments
2017-07-16Consistent Automation evaluation:Robin Gareus
Rule #89: The *owner* of each automation-control is responsible to evaluate automation of automated automation-controls (and emit Changed() signals to notify the GUI and slaved controls). This can happen during run(), when the Processor evaluates automation (eg. PluginInsert does that), but needs to regardless, every cycle. Emit Changed signal for GainControl This follow the same concept as PluginInsert: The Changed signal is called on demand when evaluating automation.
2017-07-04Fix session-event queue (multiple writer, single reader)Robin Gareus
The reading is done in rt-process thread, but multiple UIs (surfaces, GUI) can produce events to be queued.
2017-04-30Fix vari-speed and non-locked slave modesRobin Gareus
A transport-speed-change is no reason to skip processing. Prior to this change cannot_process() silently skipped in the process cycle of the speed-change (which may have been every process-cycle), without moving the transport or doing any processing.
2017-01-19Rework preroll-rec API:Robin Gareus
* rename: indicate that recording happens after preroll, punch-in * move API into libardour: rec+roll (no separate setup, seek, roll APIs)
2017-01-18Implement record with prerollRobin Gareus
2017-01-17Implement Count-In (before recording), fixed BPM, up to 2 barsRobin Gareus
2017-01-02allow Lua session scripts to inject [immediate] RT-eventsRobin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-02-23Implement Lua session-scriptsRobin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-09-15only apply transport declicking if requested to do so (default is to do so)Paul Davis
2015-04-30session: add signal to indicate batch updatesRobin Gareus
…to tell the UI to not redraw.
2015-04-29delegate signal emission to dedicated thread.Robin Gareus
This works around abysmal performance (~.15ms) of boost::function and boost::bind (in PBD::Signal). The overall load is probably higher but the realtime thread remains unaffected.
2015-04-27click-less processor re-ordering.Robin Gareus
2015-04-26clickless meter-point changesRobin Gareus
2015-04-24send LTC during process_with_events()Robin Gareus
fixes #6277 This indicates a deeper problem though. Even removing a punch-range never clears out the events. and ession::process_with_events() does not use process_without_events() until re-start.
2015-01-29stop transport when process_routes fails, even when using the parallel graph ↵Paul Davis
execution model
2014-12-10remove ugly and unnecessary debugging outputPaul Davis
2014-12-09more DEBUG::Butler output, formatting corrections, and a warning on cerr if ↵Paul Davis
capture/playback buffers are too full/empty
2014-11-18Fix potential use of uninitialized value.David Robillard
2014-11-14add abort() to non-reached codeRobin Gareus
This cleans up a lot of false-positives in static analysis and also helps compilers to optimize code paths in general. (tagging the fatal stingstream operator as ‘noreturn’ is far less trivial)
2014-10-10subtle changes to accomplish two goals (1) playhead should stop where the ↵Paul Davis
user pressed stopped (2) captured regions should end where the playhead ends
2014-09-17use Config->get_skip_playback() when handling Skip eventsPaul Davis
2014-09-17add new Skip event to SessionEventsPaul Davis
2014-07-02add a method to cancel a pending play_range. this is needed when we are ↵Ben Loftis
modifying the range with keyboard commands.
2014-04-28merge (squash) with scenechange topic branch to provide MIDI-driven scene ↵Paul Davis
change markers
2014-04-17new transport option, "loop-is-mode" which optionally changes the role of ↵Paul Davis
the "play loop" button. If enabled, then the button simply changes the behaviour of the "play" button rather than actually starting playback. If disabled transport behaviour should be unchanged from before.
2014-01-16allow auditioning via the monitor section to work.Paul Davis
Ideally, we would feed the monitor section via an internal (aux) send/return, but this is an improvement over what we had before
2014-01-03don't split process cycle at endRobin Gareus
Keep in mind: While this is the correct thing to do, it hides another another bug under the hood, related to _global_port_buffer_offset in MidiPort::flush_buffers. For debugging the latter issue, revert this.
2013-12-02don't run MIDI clock "tick" if session is silent (e.g. due to a locate)Paul Davis
2013-08-13fixes to get MTC (and probably MIDI clock) slaving working againPaul Davis
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-07major redesign of MIDI port heirarchy and management (part 2)Paul Davis
2013-07-10remove another instance of xmmintrin.hPaul Davis