summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-29Remove unused punch+preroll APIRobin Gareus
This API was not used, also superseded by record w/preroll.
2017-09-29Convert Diskstream/Playlist from A5 session formatRobin Gareus
2017-09-29remove cruftRobin Gareus
2017-09-29Add DiskIOProc & Latency related Lua bindings & scriptsRobin Gareus
2017-09-29Aux-Send Latency compensation, part 2 & code-consolidationRobin Gareus
2017-09-29Update Send: Include internal 'thru' delay-lineRobin Gareus
This allows to push latency upstream and delay the source in case the destination has a longer latency. Also add a signal to notify the Session in case this happens, intended to queue a latency-recompute.
2017-09-29Aux-Send Latency compensation, part 1: latent sourcesRobin Gareus
2017-09-29Update Timecode Generator/Slave alignmentRobin Gareus
2017-09-29Delayline: report if set_delay() actually changed the delayRobin Gareus
2017-09-29Delayline naming -- for debug purposesRobin Gareus
2017-09-29Properly aligned export (Stem + Session)Robin Gareus
Delay ports being exported by their playback latency.
2017-09-29Remove unused mechanismRobin Gareus
2017-09-29Update the Metronome, align to outputRobin Gareus
2017-09-29Ongoing work on latency compensationRobin Gareus
The general goal is to align transport-sample to be the audible frame and use that as "anchor" for all processing. transport_sample cannot become negative (00:00:00:00 is the first audible frame). Internally transport pre-rolls (read-ahead) before the transport starts to move. This allows inputs and disk to prefill the pipeline. When starting to roll, the session counts down a global "remaning preroll" counter, which is the worst-latency from in-to-out. Each route in turn will start processing at its own output-latency. Route::process_output_buffers() - which does the actual processing incl disk i/o - begins by offsetting the "current sample" by the route's process-latency and decrements the offset for each latent processor. At the end of the function the output will be aligned and match transport-sample - downstream-playback-latency (if any). PS. This commit is a first step only: transport looping & vari-speed have not yet been implemented/updated.
2017-09-29Add API to query IO latenciesRobin Gareus
IO::connected_latency() is relevant once Ardour publishes individual per Port latency. IO::public_latency() is only for debug purposes.
2017-09-29Add Processor API for global session-transport alignmentRobin Gareus
These are only relevant for DiskIO Processors, however more use-cases may present themselves (e.g. LuaDSP)
2017-09-29Prepare removal of initial_delayRobin Gareus
2017-09-29clean up route header, NO-OP (except variable re-order)Robin Gareus
2017-09-29NO-OP: WhitespaceRobin Gareus
2017-09-29Remove code related to capture-offset.Robin Gareus
2017-09-29No more disk-reader roll-delayRobin Gareus
It was not working in sdio/6.0-pre anyway and with upcoming changes to latency compensation the concept of per disk[stream/reader] will go away.
2017-09-28Check in a few MSVC projects to accommodate the change from libtimecode to ↵John Emmas
libtemporal This is mostly to see if there'll be any problems when merging these changes into Mixbus. I'm guessing there'll be some conflicts in these projects (and a lot more to follow...)
2017-09-28Accommodate newly added/removed source(s) in our MSVC project (libwidgets)John Emmas
2017-09-28Accommodate newly added/removed source(s) in our MSVC project (libtemporal)John Emmas
2017-09-28Rename 'libs/temporal/MSVCtemporal/timecode.vcproj' to ↵John Emmas
'libs/temporal/MSVCtemporal/temporal.vcproj'
2017-09-28Rename 'libs/temporal/MSVCtimecode' to 'libs/temporal/MSVCtemporal'John Emmas
2017-09-28Propagate Latency to backend/system ports (Dummy backend)Robin Gareus
amend ab3889ff (which implements this for other backends)
2017-09-27Update session-utils ReadmeRobin Gareus
2017-09-27Minor refinement of new session utilRobin Gareus
2017-09-27Add session-util to create a new empty sessionRobin Gareus
2017-09-27More s/frame/sample/ -- Lua ScriptsRobin Gareus
Sadly this breaks existing loaded scripts. C'est la vie.
2017-09-26Another Lua example scriptRobin Gareus
* Track template * MIDI track creation * Adding plugins and setting parameters * Dialogs
2017-09-26Export needs to offset buffers when processing partial cycleRobin Gareus
2017-09-26Fix FixedDelayline, default configuration increased set max-delayRobin Gareus
2017-09-25change libtemporal to be versioned like all othersPaul Davis
2017-09-25additional changes to follow library name change from timecode -> temporalPaul Davis
2017-09-25Retire ClickBox + AutoSpinRobin Gareus
After over 17 years of honorable service to the Ardour Codebase. ClickBox and AutoSpin are retiring into the git nirvana. We're glad for the duty, decency, reliability, dignity, respect which these classes brought to Arodur and look back in gratitude on their years of service. PS. First one to say "cruft" will be fired.
2017-09-25Remove unused ClickBoxRobin Gareus
2017-09-24Simplify the logic of on_scroll_eventJulien "_FrnchFrgg_" RIVAUD
2017-09-24Make ArdourFader's scroll handler obey to Alignment incrementsJulien "_FrnchFrgg_" RIVAUD
Currently, the scroll handler obeys to the page increment, but instead of using the step increment for more precise scroll, it uses an hardcoded one tenth of the page increment. Use the step increment instead since it has been filled with sensible values by ArdourFader's users.
2017-09-24Fix computation of AutomationController stepsRobin Gareus
smallstep (resp. largestep) is intended to be the interface delta corresponding to a desc.smallstep (resp. largestep) in internal scale, and is computed by incrementing from desc.lower. But ac->internal_to_interface(desc.lower) isn't necessarily zero. In fact it currently is 0.5 / (M - m + 1) for integer parameters where M is the maximum and m is the minimum possible value since it is the center of the [0,1/(M-m+1)] interval. Since the lower bound of the delta isn't always zero, don't ignore it when computing the actual increment.
2017-09-24fix ardev and friends to use new libtemporalPaul Davis
2017-09-24fix header order and space alignmentPaul Davis
2017-09-24convert codebase to use Temporal for various time typesPaul Davis
2017-09-24new header file for audio-based time typesPaul Davis
2017-09-24part two of initial libtemporal creationPaul Davis
2017-09-24change libtimecode to libtemporal, add Evoral::Beats, positional types and ↵Paul Davis
superclock headers
2017-09-24add (back) nutemp makefilePaul Davis
2017-09-23The beginning of the end for ClickBoxRobin Gareus
This fixes various issues with integer controls (some values are not reachable due to incorrect rounding in AutoSpin) and also pulls in the various benefits of BarController: * mouse-drags * numeric entry * alternative entry modes (piano-keyboard, tempo-based values) If this style remains, ClickBox & AutoSpin should be removed from the codebase.
2017-09-23Add API set bar-controller spinbox digitsRobin Gareus
..and reduce default to 4 digits.