summaryrefslogtreecommitdiff
path: root/libs/ardour/auditioner.cc
AgeCommit message (Collapse)Author
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-02-12midi-audition-synth-uri is deprecated (libardour part).Ben Loftis
2019-02-12Hard-code GMsynth as the fallback, and allow UI to select the audition synth ↵Ben Loftis
on-the-fly.
2018-11-24Auditioner: check if removing synth succeedsRobin Gareus
remove_processor() also calls drop_references, when successful.
2018-11-23NO-OP: whitespace and re-organizationRobin Gareus
2018-11-23Load audition synth on demandRobin Gareus
This saves some memory (gmsynth loads a 30MB soundfont), and also re-initializes the synth every time to gm defaults in case some .mid changes patches or parameters.
2018-07-09Remove global declick APIRobin Gareus
De-click will be per disk-reader, latency compensated and buffer-size independent. Cue-monitoring should not be affected by de-click.
2017-11-03Auditioner, silence buffer at end.Robin Gareus
2017-11-03Don't crash when auditioning empty .mid files.Robin Gareus
2017-09-30remove unused Route::_silentRobin 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-18remove getter for Amp::_apply_automation_gain; reset member to false after ↵Paul Davis
use, and true after ::setup_automation_gain runs successfully
2017-09-18Tweak default configRobin Gareus
* disable MMC by default * auto-detect audition-synth at first run (prefer gmsynth if available)
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode and video in order to keep the legible
2017-09-18use a more useful and accurate heuristic to get ::input_streams() for the ↵Paul Davis
auditioner
2017-09-18clear regions from "other" playlist type in auditioner when starting a new ↵Paul Davis
audition
2017-09-18auditioner does not care about the state of its diskwriter processorPaul Davis
2017-09-18change callers of changed Track::use_new_playlist() API and its implementationPaul Davis
2017-09-18remove Auditioner::prepare_playlist() - not usedPaul Davis
2017-09-18remove Diskstream from Track and derivatives; get ardour to actually startupPaul Davis
2017-09-18mega-commit to save state of first "it compilesand links" state for ↵Paul Davis
separated disk i/o changes. THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-08-18Remove old destructive API (non layered is a dynamic mode) 2/2Robin Gareus
2017-04-19Don't explicitly store Auditioner -> Monitor connections.Robin Gareus
The monitor section connection is implicit and done by default. This fixes an issue with the auditioner connections being lost when switching between sessions that use/don't use the monitor-section. Previously: 1) load session with monitor section, save session -> global config explicitly saved "auditioner-output-left" -> "ardour:Monitor/audio_in 1" 2) Load a session w/o monitor-section. The config is parsed, "ardour:Monitor/audio_in" port does not exist, connection was lost.
2017-03-01Fix audition with monitor-section.Robin Gareus
When a monitor-section is added, the auditioner automatically connects to its input. However on session-reload, the connection is explicit (by saved port-name) and Auditioner::needs_monitor() was not set. Session::process_audition() didn't run the monitor-route. Silence.
2017-02-27fix crash caused by trying to connect monitor section before it has ports.5.8Paul Davis
This does not fix the ordering issues caused by things happening before the monitor section gaining ports
2017-01-30Fall back to general MIDI synth for auditioning.Robin Gareus
2016-12-17Hide/remove per-track record-mode in favor of global setting.Robin Gareus
2016-07-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-05-31first vaguely working version using PresentationInfoPaul Davis
remote control ID and "order keys" have been removed.
2016-04-24plug some memory leaks in libardourRobin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-07-20fix auditioning on systems with larger disk read chunk sizes.Paul Davis
This really brings into focus the question of whether any of the "varifill" code should really remain. This was probably one of the only remaining places where a partial-fill operation was done and the code was broken for this case. What we know about disk i/o streaming doesn't support varifill much at all. Something to think about.
2015-06-29Tracks does not (want to) support destructive tracksPaul Davis
2015-03-11NOOP, midi-auditioner clean API usageRobin Gareus
2015-01-13fix auditioning of regions with offset - fixes #6131Robin Gareus
2014-11-30Trim the include tree.David Robillard
2014-11-03Reduce coupling between Plugin and PluginInsert.David Robillard
2014-09-10disable Midi Audition Synth if it cannot be foundRobin Gareus
no repetitive messages.
2014-09-07fix midi audition port-connect warningRobin Gareus
2014-03-10tempo match midi auditioning - #5881Robin Gareus
2014-01-23midi-audition: make "no synth" selection work.Robin Gareus
2014-01-22configurable midi audition synthRobin Gareus
2014-01-22fix crash -- midi tracker reset when seeking audioRobin Gareus
2014-01-22prepare midi-audition synth plugin config, incl no plugin external synthRobin Gareus
2014-01-22reset midi synth (panic) when seeking or re-starting auditionRobin Gareus
2014-01-22backend for auditioning midi-files:Robin Gareus
* "downgrade" auditioner from AudioTrack to Track. * add relevant methods from both AudioTrack and MidiTrack.
2014-01-17add seeking to sfdb auditionerRobin Gareus
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
2013-04-06rename Route::is_hidden() to Route::is_auditioner() and Route::Hidden to ↵Paul Davis
Route::Auditioner. this has been the meaning of these terms for years now and it would be better to make it explicit
2013-04-05if auditioner connections are somehow wiped out in CONFIG/ardour.rc, treat ↵Paul Davis
them as if they are still "default"