summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2016-07-10Paste uses exact beats. rework _start_beats calculation in copy-with-offset ↵nick_m
ctor.
2016-07-10Exact beat - provide audio->music mapping for region split.nick_m
- for those not in the know, this series provides a way to remove the temporal distortion introduced when using an audio frame-based gui for music-locked objects. In short, the gui uses an audio frame representation to move objects. It displays the object using frame_at_beat(), quantizing the time value to audio frames. This is fine until the user selects that frame but expects it to be interpreted as a beat. Thus beat_at_frame() would not produce the user-expected beat (temporal quantization error of up to 0.5 audio samples). This is one method of mapping audio time to music time accurately.
2016-07-10Make some musical operations on music-locked regions operate in beats.nick_m
- use exact beats to determine frame position. - see comments in tempo.cc for more. - this hasn't been done for split yet, but dragging and trimming are supported.
2016-07-09move latency-recompute into dedicated thread.Robin Gareus
this fixes an issue with jack1 and jack_latency_recompute() since must not send a server request from inside the server callback.
2016-07-09handle internal-sends from audio to midi bussesRobin Gareus
2016-07-09commence testingRobin Gareus
2016-07-09move LatencyChanged detection from Plugin to Processor (plugin-insert)Robin Gareus
* support all Plugin APIs (not implementation specific) * also check for latency changes when plugins are hard en/disabled
2016-07-09Make MIDI busses possible targets of internal sendsJulien "_FrnchFrgg_" RIVAUD
The session only added an internal return to new audio busses, and so only those were proposed in the "New Aux Send" list. Also add the return to new midi busses, now that internal sends know how to deal with midi.
2016-07-09Make internal sends aware of non-audio dataJulien "_FrnchFrgg_" RIVAUD
When most internal sends are created, they are given a panner shell which is then responsible for audio dispatch. Other data types were left there without handling them at all. Ensure that all available data is sent provided the internal send has enough outgoing buffers.
2016-07-09Make Delivery::run more Datatype-agnosticJulien "_FrnchFrgg_" RIVAUD
Note that checking the number of output ports is not needed because IO::copy_to_outputs() will stop if there are less ports of the right type than buffers (or even none).
2016-07-09Assert that nobody calls IO::copy_to_output with empty bufsJulien "_FrnchFrgg_" RIVAUD
IO::copy_to_output() crashed if there was no channel to copy from. Since all callers seem to check before calling, just assert() that it is not the case.
2016-07-08fix port-sort order for good.Robin Gareus
TODO find out how to make std::set::find() work with custom sort order, as std::find may only be O(N) and not O(log (N)).
2016-07-08OSC: Add well known controls for pan and compressorLen Ovens
2016-07-08pre-sort port-namesRobin Gareus
2016-07-08untested hack for AU multi-bus outputs which are not explicitly listedRobin Gareus
2016-07-08fix thinkoPaul Davis
2016-07-08add an plugin API to query generic-gui grid-layoutRobin Gareus
2016-07-08make route group master a real property.Paul Davis
Required for state save/restore to know about the master
2016-07-08signed VCA numbersPaul Davis
2016-07-08change VCA number to signed.Paul Davis
Allows for more robust out-of-band (negative) value
2016-07-09a-EQ: Tweak default values and inline display scale +-20dBDamien Zammit
2016-07-08treat VCA assign as a RouteGroup property.Paul Davis
Newly added routes,removed routes etc. all correctly assign or unassign to the group's VCA.
2016-07-07OSC: Add feedback for known pan controls and known compressor controlsLen Ovens
2016-07-07fix AU bus sidechainingRobin Gareus
2016-07-07implement designated enable/bypass port for lua-procRobin Gareus
2016-07-07add LuaTableRef to DSP API as alternative to shared-memRobin Gareus
2016-07-07some more lua-bindingsRobin Gareus
* allow C memory allocation with lua-lifetime * expose some ChanMapping methods
2016-07-07prepare sharing C++ class instances across lua-interpretersRobin Gareus
in particular: lua-lifefime (!) C++ instances. This allows for dynamic allocation of custom user-data, bound to the lifetime of the allocating lua-context.
2016-07-07lua PBD ringbuffer bindingsRobin Gareus
2016-07-07Add a-EQ (basic 4 band EQ) with inline display based on SVF filtersDamien Zammit
2016-07-06OSC: Make sure selected strip is corrected when it's stripable vanishesLen Ovens
2016-07-06mackie: ensure that the strip where select was pressed ends up as the ↵Paul Davis
first_selected_stripable
2016-07-06set ControlProtocol::_first_selected_stripable at the right time onlyPaul Davis
2016-07-07Don't add audio outs to non-audio routes with strict I/OJulien "_FrnchFrgg_" RIVAUD
If a route has strict I/O then the main delivery follows the output of the last processor, but libardour ensures it has at least as many outputs as inputs in the master strip. A good consequence is that mono tracks get their expected panner. An akward side-effect is that MIDI-only routes (e.g. midi tracks or busses without a synth) get two audio channels that have no use (and indeed no panner is added because there is nothing to pan). Skip the completion of audio outs if there was no audio out to begin with.
2016-07-06quick checks on empty control lists, to avoid unnecessary workPaul Davis
2016-07-06a few post-rebase cleanupsPaul Davis
2016-07-06restore/extend/simplify ControlProtocol API to allow tracking of selectionPaul Davis
2016-07-06remove a bunch of code that will no longer be usedPaul Davis
2016-07-06remove a bunch of code that will no longer be usedPaul Davis
2016-07-06tweak lua gcRobin Gareus
lua C++ bindings require ~400KB worth of tables now; so bump memory available to rt-safe scripts (full interpreter) to 2MB. Also switch to incremental GC.
2016-07-05update route/processor semanticsRobin Gareus
* active(): hard bypass: en/disable. When disabled, run() is not called. * enabled(): plugin run()s but may do nothing (or only be latent)
2016-07-05implement lv2:designation processing#enable (for bypass ports)Robin Gareus
2016-07-05add API to use a plugin provided bypass control portRobin Gareus
* new separate API: en/disable * old API remains in place for hard bypass * PluginInsert::enable() falls back to activate/deativate if a plugin does not provided designated bypass control port
2016-07-05OSC: Clear expand Lamp on strip observer destroyLen Ovens
2016-07-06a-delay: Fix compiler warningDamien Zammit
2016-07-06Add a-Delay pluginDamien Zammit
2016-07-05tweak a-series plugin namesRobin Gareus
2016-07-05add support for http://lv2plug.in/ns/ext/port-props/#rangeStepsRobin Gareus
2016-07-05consistent use of fmaxf() in a-compRobin Gareus
2016-07-05amend d9de72215 - bypass replicated instances w/sidechain inputsRobin Gareus