summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2020-01-30Add some sanity checks for Session::save parametersRobin Gareus
2020-01-30Cont'd work on loading old route templatesRobin Gareus
This builds on top of 51d2bb: * v6 routes templates/states have a version per <Route> * older route-states are assumed to be from ardour-5 Stateful::loading_state_version 3002, unless specified otherwise
2020-01-29Save/Use state-version with route templatesRobin Gareus
Currently using Ardour-5 route templates (state version "3002") with Ardour6 fails. As opposed to session-templates, Route templates were not versioned. This ensures future compatibility (and may allow to interpret unversioned templates as "3002")
2020-01-29Fix tests failing to build by adding LIB_FFTW3FNikolaus Gullotta
2020-01-29Reduce overhead of Lua session-scriptsRobin Gareus
2020-01-29Fix MIDI loop capture alignmentRobin Gareus
Loop recording creates a single long source, regions have to be "split" from this source, using "start" as offset. Since MIDI uses absolute timestamps, offsetting this by accumulating buffer_position += (*ci)->samples; like Track::use_captured_audio_sources() does, is not correct. Furthermore, record_enabled() may be off when stopping recording, MIDI needs to be flushed regardless.
2020-01-29Allow to dis/engage rec-arm while loopingRobin Gareus
2020-01-29Fix loop recording alignmentRobin Gareus
DiskWriter::transport_looped() is called from the session when engine loops. This does not take local disk-reader run() latency offset into account. finish_capture() needs to be postponed until the disk-writer itself reaches the loop-position. This is achieved by postponing loop() and calling it once loop-length of samples has been captured. This works because engaging loop always seeks to the loop-position and first loop resets _capture_captured.
2020-01-28Micro optimization: query PI flags onceRobin Gareus
This also removes a Mixbus special case, explicit ->mixbus() tests are no longer required.
2020-01-28fix previous commit, and another instance of the same (incorrect ↵Paul Davis
constructor) issue
2020-01-28fix assert-crash caused by not constructing a StopTransport event correctlyPaul Davis
2020-01-27correct location of resolved note-offs after region is renderedPaul Davis
2020-01-27Fix sending MMC Start/Stop messagesRobin Gareus
Ardour 5.x slave check was incorrectly ported to A6's TMM: In Ardour 5 the comparison tested for *not* MTC: ``` if (!dynamic_cast<MTC_Slave*>(_slave)) { ..send MMC.. } ``` Other MMC messages (Record, Locate) are sent unconditionally.
2020-01-27Add new requirements from AudioEngine::stop to ::drop_backendRobin Gareus
This fixes an issue that after changing backends (::set_backend), the session-transport was in inconsistent state. If it was rolling, it continued to roll with "stop" being unavailable.
2020-01-27Fix building unit-testsRobin Gareus
2020-01-27Fix two more clang static analysis warningsRobin Gareus
2020-01-27Delete out-of-bounds metronome clicksRobin Gareus
2020-01-27Fix some clang-scan warningsRobin Gareus
2020-01-26Fix the ability to set Session Start&End Range on a new, empty sessionBen Loftis
set_session_extents had a bug; it wasn't calling locations->add() on the newly created location. The correct implementation was in set_session_range_location, but this was only called from one place. This function was removed, and set_session_extents will be used in its place. set_session_extents will create a session location if one no longer exists, so there is no need for set_session_range_location.
2020-01-26Fix Loop-length (no pre-roll on loop-iterations)Robin Gareus
2020-01-25remove debug outputPaul Davis
2020-01-25Remove midi-event by iterator, not key -- #7885Robin Gareus
With concurrent events removing by key, allowed for invalid iterators.
2020-01-25Update waf2.x "subst" feature uses obj attributesRobin Gareus
2020-01-25Downgrade "using all channels" warning to info - part 2Robin Gareus
2020-01-25Tweaks to build/package scripts for new wafRobin Gareus
* Windows: delete waf installed .dll.a files * Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR with explicit --libdir * Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for debug messages, -D defines are not available) * Mac: override waf adding -install_name (and -Wl,-compatibility_version -Wl,-current_version) by moving -dynamiclib from linkflags to ldflags * Mac: Allow libs with compat version number suffix (not needed anymore, but may help in the future)
2020-01-25Explicitly use OSXRobin Gareus
Previously this was inherited via PBD. On MacOS/X, this adds "-undefined dynamic_lookup -flat_namespace" and various "-framework .." options to linkflags Without this flag, .dylibs fail to link usually because of missing `-lintl` (Undefined symbols: "_libintl_dgettext") On other systems this is a NO-OP: CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX are only set on the darwin platform.
2020-01-25Towards waf python 2+3 supportDavid Runge
2020-01-25Special case checkbox border color in TreeviewRobin Gareus
2020-01-24Downgrade "using all channels" warning to info messageRobin Gareus
2020-01-24Engine: debug-print alignmentRobin Gareus
2020-01-23tentative fix for stop-transport not working after a locate at loop endPaul Davis
2020-01-23add more debug outputPaul Davis
2020-01-23use Session::locate_initiated(), appropriatelyPaul Davis
2020-01-23add Session::locate_initiated()Paul Davis
This differs from ::locate_pending() by covering either phase of a locate - declick or refill
2020-01-23add TransportFSM::declicking_for_locate()Paul Davis
2020-01-23extend DEBUG_TRACE outputPaul Davis
2020-01-23NOOP: whitespace/indent fixes from emacsPaul Davis
2020-01-23MIDI-region specific naming logicPaul Davis
plus slight cleanup of Region::set_name(). Note that issues with ARDOUR::legalize_for_path() not excluding colons still remain
2020-01-23NOOP: remove blank linePaul Davis
2020-01-23remove no-longer used PostTransportWork bits and renumber the restPaul Davis
2020-01-23after the butler has finished work, by definition there is nothing left to doPaul Davis
2020-01-23variable not used without debug modePaul Davis
2020-01-23Only select all routes in a given group if the group is activeNikolaus Gullotta
2020-01-21do not clear any PostTransportWork flags in butler threadPaul Davis
doing this was causing the TFSM to get stuck in "WaitingForButler"
2020-01-21add a heuristic to avoid refilling playback buffers at transport stopPaul Davis
If we're within 1/6th of the size of the reserved buffer of the target sample, no need to refill
2020-01-21remove debug outputPaul Davis
2020-01-22Do not install static libsRobin Gareus
There is no need to deploy .a with ardour installations.
2020-01-21Display LV2 plugin-name with errors/warningsRobin Gareus
2020-01-20Change tape-machine-mode to auto-input-does-talkback (libardour part)Ben Loftis
In prior versions: if Auto Input was enabled, the default behavior was to monitor the Input of all tracks when stopped; even if they aren't armed. Tape Machine Mode changed the behavior of Auto Input so that it doesn't always monitor the track inputs when transport is stopped. After some discussion on IRC, we determined that Tape mode is likely more practical for a DAW user, and therefore a better default. Rather than default an ambiguously-named preference "on", we decided to invert the behavior, rename it sensibly(?), and default it OFF.
2020-01-20fix API and use of Session::force_locate()Paul Davis
Because of the addition of LocateTransportDisposition, this call was unconditionally forcing a roll during startup