summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2020-01-18Session::request_locate() takes a tri-valued second argument for ↵Paul Davis
"roll-after-locate" This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it can be cnentralized and is less ambiguous
2020-01-18Fix MIDI capture alignmentRobin Gareus
This fixes Audio/MIDI alignment when recording normally. Loop and/or Punch-in recording is still not aligned properly (both audio and MIDI). _accumulated_capture_offset is initialized once, accumulated offsets (rec_nframes) are kept, even when ::check_record_status() is called multiple times.
2020-01-18Zero capture-offset regardless of data-typeRobin Gareus
_accumulated_capture_offset is only used for MIDI, however this is helpful when debugging. Previously audio kept accumulating the offset indefinitely.
2020-01-17Make it possible to use reasonable-synth in productionRobin Gareus
This allows to disable the xmass easter-egg for those who don't celebrate x-mas.
2020-01-16Fix test breakage from a855119bddNikolaus Gullotta
2020-01-15Change default preferences as discussed on IRC todayBen Loftis
2020-01-14Add Lua bindings to inspect the Tempo MapRobin Gareus
2020-01-14NO-OP: whitespaceRobin Gareus
2020-01-14Fix Ardour VAMP plugins (FFT)Robin Gareus
Bug was introduced in 8ed33f1bc714c1 symbol visibility setting in CFLAGS, CXXFLAGS was overridden. This resulted in publicly exposed and bound kiss_fft symbols in libqm-dsp. At runtime those symbols were resolved using previously bound symbols in libcodec (see below) that uses a mismatching implementation (ardour/qm-dsp uses -Dkiss_fft_scalar=double) #0 0x00007fffea793d40 in kiss_fftr () at /usr/lib/x86_64-linux-gnu/libcodec2.so.0.8.1 #1 0x00007fffcf4516ab in FFTReal::D::forward(double const*, double*, double*) (this=0x5555571d73a0, ri=0x55555a734810, ro=0x55555a7262b0, io=0x55555a728590) at ../libs/qm-dsp/dsp/transforms/FFT.cpp:121 #2 0x00007fffcf4510fd in FFTReal::forward(double const*, double*, double*) (this=0x555559868190, ri=0x55555a734810, ro=0x55555a7262b0, io=0x55555a728590) at ../libs/qm-dsp/dsp/transforms/FFT.cpp:186
2020-01-13Fix C++11ismRobin Gareus
2020-01-13Add rubberband Lua bindings to process ardour regionsRobin Gareus
2020-01-12Fix thinko in eee01188 (engine pulse spacing)Robin Gareus
2020-01-11use "extends to numeric_limits<Beats>::max()" rather than "zero length" for ↵Paul Davis
nascent (incoming) notes
2020-01-11removal incorrect/unnecessary forward declPaul Davis
2020-01-11Fix AFL positionRobin Gareus
* update AFL position when preference changes * "after post-fader processors (before pan)" is before the main-out (not at the end). * Fix "immediately post-fader": The amp, when added was the last element. ++after_end then made the iterator point to .end() This likely worked in the past when the monitor send was added immediately after adding the fader/amp before any other processors.
2020-01-09Fix typo in Lua binding for compressor enable controlNikolaus Gullotta
2020-01-08expand comment to include (more of?) the full story about uncombining and copiesPaul Davis
2020-01-08expand the test used to decide if we need to make copies when uncombining a ↵Paul Davis
compound region
2020-01-08never remove entries from the CompoundAssociation mapPaul Davis
2020-01-08add concept of an owner region (by ID) to PlaylistSourcePaul Davis
2020-01-08fix bugs (thinkos?) that confused PlaylistSource's id() with its original()Paul Davis
2020-01-08NOOP: reindentPaul Davis
2020-01-08increase explicit refcnt for playlists when used by a PlaylistSourcePaul Davis
2020-01-09Fix MIDI loop recording - Revert "Fix MIDI disk-writer flush"Robin Gareus
This reverts commit 254f22e372ff1155e76bea2c9a6f9c6c85a94868.
2020-01-09Towards fixing MIDI capture alignmentRobin Gareus
When there is no overlap (Evoral::OverlapNone) of local transport position and the record-range, MIDI data does not need to be offset. This matches audio recording: Only write to the capture ringbuffer when there is an overlap. (There is still some unknown, unresolved discrepancy remaining to be tracked down)
2020-01-09Fix CaptureAlignment debug messsageRobin Gareus
2020-01-08Revert to use an image surface for CairoWidgetsRobin Gareus
This partially reverts 2edbda252619 and is a follow up to 0b266a54f, to fix performance issues with MS Windows graphics performance.
2020-01-07fix required offset when reading MIDI data near loop end/startPaul Davis
2020-01-07improved/new DEBUG_TRACE outputPaul Davis
2020-01-07plugins should NOT resolve MIDI notes at loopendPaul Davis
Their data will come from (1) disk, in which case the DiskReader will do the resolve (2) live input in which case the player/user will do the resolve
2020-01-07imrpove debug msgPaul Davis
2020-01-07fix serious but rare error in RTMidiBuffer's storage of MIDI events with ↵Paul Davis
size > 3 sizeof (T) is in units of bytes, not bits. Use C++ standard CHAR_BITS instead.
2020-01-08Fix MIDI Port-latenciesRobin Gareus
Only audio ports have additional latency due to I/O re-sampling for vari-speed playback/capture.. MIDI ports are not affected.
2020-01-07Remove debug outputRobin Gareus
2020-01-07Fix MIDI disk-writer flushRobin Gareus
to_write must not exceed `total = _samples_pending_write`. If the write succeeds (events spanning `to_write` samples are written) to_write is atomically subtracted from `_samples_pending_write`.
2020-01-06Dummy: Engine-Pulse audio/midi generatorsRobin Gareus
This produces synchronous events on Audio and MIDI ports. One rvent per second, exactly at every second since engine-start. MIDI: C-4 Note-on/off (1 sample long) Audio: +1/-1 transition: +1 in sync with Note-on, -1 in sync with Note-off
2020-01-06Proper forward declaration for Lua bindings (amend 2afef6e4bde)Robin Gareus
2020-01-06Fix windows fallback for LV2 state:freePath featureRobin Gareus
2020-01-06Fix Windows builds (Lua binding undefined reference)Robin Gareus
2020-01-05remove the (unused) concept of a MIDI patchfile folder per sessionPaul Davis
2020-01-05move MidiPatchManager initialization into ARDOUR "global" scope, rather than ↵Paul Davis
per session
2020-01-05use glibmm threads for the midnam load thread, instead of raw pthreads (for ↵Paul Davis
portability)
2020-01-05remove unnecessary call to xmlKeepBlanksDefault()Paul Davis
2020-01-05move call to xmlKeepBlanksDefault(0) to before the creation of an XML parser ↵Paul Davis
context the value is used by the parser context; the old code called it only after the *first* parser context was created. therefore the first XMLTree::read() call has its behavior determined by libxml2's default for this value, rather than by our explicit choice (do not treat whitespace as a note). All subequent read() calls will use our value. This variable inside libxml2 is actually per-thread, which just increases the stakes for calling xmlKeepBlanksDefault() at the right time
2020-01-05repeat baf0cdcbef1 but for BaseUI, thus covering all control protocolsPaul Davis
2020-01-05fix handling of flags in the OSC input handlerPaul Davis
Some builds of glib on macOS end up delivering IO_PRI when IO_IN is also set. This differs from our own build stack version, but it isn't really an error, so we should handle it.
2020-01-05Add a missing semicolonJohn Emmas
2020-01-03add extensive comment for posterityPaul Davis
2020-01-04Return of image-surface backed canvas (windows graphics performance)Robin Gareus
This partially reverts 2edbda252619b. Using cairo-groups increases performance on MacOS, and retains retina-resolution. However it adds a performance regression for MS Windows graphics rendering. cairo-groups use a "similar" surface, not an image surface. Empirically this adds significant overhead compared to rendering using the CPU and using bitblt.
2020-01-03fix recent bad commitPaul Davis