summaryrefslogtreecommitdiff
path: root/libs/ardour
AgeCommit message (Collapse)Author
2016-08-24Take process-lock before processor-lockRobin Gareus
This [hopefully] fixes jack1 zombification on session-load with large plugin-states. Previously it was possible to block Route::process_output_buffers().
2016-08-24ARDOUR::FluidSynth automatically assign first 16 channelsRobin Gareus
2016-08-23fix windows build/runtimeRobin Gareus
2016-08-23add FluidSynth Lua BindingsRobin Gareus
2016-08-23add basic libardour wrapper for fluidsynth (for Lua bindings)Robin Gareus
2016-08-24Tempo marker movement snaps to the future grid, rather than the current one.nick_m
- fixes jittery tempo movement when snapping within large gradients.
2016-08-24Round to bar correctly in TempoMap::exact_beat_at_frame_locked().nick_m
2016-08-23Nyquist (pronounce it like Klopstock!)Robin Gareus
2016-08-23fix threaded state restore (duplicate calls to restore during init)Robin Gareus
and also allow immediate work during use latency-compute runs. At session load, Ardour calls a plugins "set default" state (GUI thread). Some plugins may schedule work during state-restore. Ardour immediately proceeded to restore the actual session plugin state without processing the already scheduled work and without calling run() for a plugin to apply state synchronously.
2016-08-22new libardour API for Session::new_route_from_template to allow specifying ↵Paul Davis
insertion point
2016-08-21Lua bind MonitorProcessorRobin Gareus
2016-08-19and another typo gone in in 9702020Robin Gareus
2016-08-19fix typo in 9702020Robin Gareus
2016-08-19ad rest of Stripable API to luaPaul Davis
2016-08-19MIDI polyphonic pressure, part 2Paul Davis
2016-08-19initialize uninitialized variableRobin Gareus
2016-08-19Update automated Plugin Controlls when seeking and not rollingRobin Gareus
2016-08-19fix Aux-Send Panner LinkingRobin Gareus
2016-08-17do not allow undo/redo while actively recordingPaul Davis
2016-08-18Report quarter note rather than beat position to AU plugins.nick_m
2016-08-18Use quarter pulses (quarter notes) for VST's ppqBar, ppqPos and ↵nick_m
cycleStart/EndPos.
2016-08-18Add methods for plugin APIs to obtsin quarter pulses ('beats' for AU) from ↵nick_m
the tempo map.
2016-08-17fix ramped BPM reporting to AU and VST pluginsRobin Gareus
2016-08-17fix LV2 BPM report (use ramped tempo)Robin Gareus
2016-08-16Also send lv2:timePosition whenever BBT or Tempo changesRobin Gareus
This mostly fixes an issue with notifying plugins about tempo-ramps and BPM changes. remaining to be fixed (in tempo.h): ``` _session.tempo_map().metric_at(frame_position).tempo().beats_per_minute() ``` currently returns the most recent *fixed* tempo at or before `frame_position`. All other Plugin types are affected by this as well.
2016-08-16turn comments into doxygen docRobin Gareus
2016-08-16add some missing enum bindings (for config variables)Robin Gareus
2016-08-15expose SessionConfiguration as lua bindingsRobin Gareus
2016-08-16Enforce rounding to beat as >= 0.0nick_m
2016-08-15Expose Stripable Color & Ordering API to LuaRobin Gareus
We can't easily use C++ references with Lua closures, so new API (pointer to PresentationInfo) was added.
2016-08-14Don't call any Transmitter from realtime contextRobin Gareus
This fixes a crash when TempoMap::bbt_at_frame_rt() is called for a latent effect at position 00:00:00:00 and frame is < 0.
2016-08-14Always send start property changes when a midi region trim alters position.nick_m
- ensures gui updates correctly.
2016-08-14Audio-locked midi region fixes.nick_m
- don't alter region frame length on tempo change or position change. - set region _start correctly (see comments) on tempo map change. - ensure audio-locked region's beat is set on tempo map change
2016-08-14Allow negative return in TempoMap::beat_at_frame() and its exact_ variant.nick_m
- audio-locked midi regions can be start-trimmed properly when close to 1|1|0 - a midi region placed before the first meter will continue the tempo curve and first meter. Only a couple of callers require change, as bbt_at_beat() already deals with this.
2016-08-12check for null pointer in Locations::remove()Paul Davis
2016-08-10fix crash when copy'ing latent plugins5.0Robin Gareus
2016-08-10Fix test compilation error.nick_m
2016-08-10BBTTest::addTest() should add a meter rather than replacing the first one.nick_m
2016-08-10Make tempo tests use the api more correctly.nick_m
- TempoMap initially contains a tempo and meter. using add_tempo/meter() using the position of an existing section does the right thing, but prints a warning. Use replace_tempo/meter().
2016-08-10Allow -ve framepos handling in TempoMap::framepos_plus_beats()nick_m
- also handles frame positions previous to the initial meter (beat_at_frame() would return 0 in this case).
2016-08-08fix race condition when dropping PortsPaul Davis
Jack2 calls back from a notification thread and the callback (PortManager::connect_callback()) could end up holding the final reference on 1 or more ports. The ports would then be unregistered as we leave the callback scope, which is illegal (no server calls from a notification thread)
2016-08-08add explanatory commentPaul Davis
2016-08-07Remove a no longer true commentJulien "_FrnchFrgg_" RIVAUD
It should have been removed as part of 539c062ed23daf308e650b5d1039384ac5a55666 (Make the configuration penalty subtler about inputs).
2016-08-06a few more Location related lua bindingsRobin Gareus
2016-08-06Use a default configuration instead of bailing outJulien "_FrnchFrgg_" RIVAUD
If the script doesn't provide a dsp_ioconfig() function, or if it does not return a table of tables, provide an empty table of table as default, which means a single configuration with default values.
2016-08-06Remove dsp_has_midi_*() in favor of dsp_ioconfig()Julien "_FrnchFrgg_" RIVAUD
_has_midi_*put members of LuaProc will be set according to the actual configuration chosen, for configure_io() and run() to use.
2016-08-06Refuse more configs with unmatched midi in if !impreciseJulien "_FrnchFrgg_" RIVAUD
Since MIDI in should be
2016-08-06Take midi into account for penalty computationJulien "_FrnchFrgg_" RIVAUD
Demote configurations if they have mismatched midi in or out with the same mechanism as for audio, but with lower coefficients so that mismatched midi has less influence than mismatched audio in selecting the best configuration. POLICY CHANGE.
2016-08-06Remove ad-hoc handling of possible_out == 0Julien "_FrnchFrgg_" RIVAUD
Just refuse configurations without any output at all, and let the remaining logic take care of selecting configurations with no audio output if they make sense and there are no better configurations. POLICY CHANGE: configurations with no output might now be considered even if they have audio inputs (e.g. a pure pitch detector without audio passthrough), whereas they were skipped before.
2016-08-06Make the configuration penalty subtler about inputsJulien "_FrnchFrgg_" RIVAUD
Instead of uniformly demote configurations with a non-matching audio input count (using a penalty offset of 1000), also grade the impreciseness of the configuration so that those with the nearest input count are preferred. As for outputs, give a slightly higher handicap to configuration with too many inputs with regard to the actual audio inputs that can be fed to the plugin. POLICY CHANGE: when only imprecise configurations are found the actually selected one can be different (better) than before this commit.