summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2017-09-17WIP ptxfix-ptx-20170917Damien Zammit
Signed-off-by: Damien Zammit <damien@zamaudio.com>
2017-08-05Revert 542d021f, fix number of DSP threadsRobin Gareus
The main process-callback does not participate in DSP computation
2017-08-05Consolidate ctrl surface codeRobin Gareus
2017-08-05Add API to set thread-priority (for ctrl-surfaces)Robin Gareus
2017-08-05Reduce DSP thread priority (main-i/o > midi i/o > computation)Robin Gareus
2017-08-04NO-OP: whitespaceRobin Gareus
2017-08-04Graph profiling: allow to override max DSP thread count & calc avg.Robin Gareus
2017-08-04CoreAudio: Set MachThread RT PriorityRobin Gareus
2017-08-04DummyBackend: allow changing SPPRobin Gareus
2017-08-04Fix typo in Lua Vamp APIRobin Gareus
2017-08-03Allow calling IO::silence for yet unregistered ports (Click)Robin Gareus
2017-08-03Some more assert() debuggingRobin Gareus
2017-08-03Ignore cycle-start/end for unregistered portsRobin Gareus
Should fix a race during Session::destroy(), Port::PortDrop which unregisters ports with the backend, but the actual port instance will still exist. The engine does no longer have a session-pointer and only calls CycleStart(); CycleEnd() to clear port-buffers. Trying to clear and already unregistered Port will crash.
2017-08-03improve 1a288ddd, destroy IO after disconnecting from signals.Robin Gareus
This does not completely fix the race-condition. The GUI (e.g. connection-manager) may still hold a shared-ptr reference.
2017-08-03Fix crash when cleaning up w/o destroying sessionRobin Gareus
- Control-protocols may transmit data during cleanup (e.g. reset surface), and need the Audio-engine to do so. - destroying the ControlProtocolManager w/o the Session calling ::drop_protocols(), lead to a double free.
2017-08-03OSC: Fix to make sure buses created with Ardour 4.7 sessions show upLen Ovens
2017-08-03prevent duplicate playlist-names when re-naming #7438Robin Gareus
2017-08-02OSC: Add command to select MasterLen Ovens
2017-08-01Fix some more crashes at session-closeRobin Gareus
PortDrop unregisters backend ports, the backend will return a NULL buffer-pointer, but the I/O object still exists (Metronome, LTC) AudioBuffer::_data == 0 #0 msvcrt!memset () from C:\Windows\System32\msvcrt.dll #1 ARDOUR::AudioBuffer::silence (this=0x2c410710, len=256, offset=0) at ../libs/ardour/audio_buffer.cc:88 #2 ARDOUR::AudioPort::cycle_end (this=0x34918730, nframes=256) at ../libs/ardour/audio_port.cc:66 #3 ARDOUR::PortManager::cycle_end (this=this@entry=0x23342770, nframes=nframes@entry=256) [process callback w/o session]
2017-08-01Fix LTC encoder removalRobin Gareus
Fixed a crash if an x-run or graph-reorder happens after the LTC encoder has been destroyed (possible at session-close or after disabling the encoder). This also fixes duplicate callbacks in case the encoder was re-enabled times in an active session.
2017-08-01OSC: expand plugin_descriptor to split into smaller OSC messages (issue ↵Len Ovens
#0007433)
2017-08-01OSC: add param to plugin_list response which indicates plugin enable state ↵Len Ovens
(OnkelDead)
2017-07-31Signal wish to show inline display in gui by lv2:optionalFeatureJohannes Mueller
... in .ttl file rather than by extension_data() in code. That's more in the spirit of LV2.
2017-07-31Tweaking the a-comp inline display a bit. Make it more skinny.Johannes Mueller
2017-07-31Indicate whether to show plugin's inline display in GUIJohannes Mueller
This is currently done by an extension data similarly to LV2_INLINEDISPLAY__interface.
2017-07-31Simplified inline display if the channel strip is not wide enoughJohannes Mueller
If the width of the display area is below 200 px, we switch from the graph display to displaying only two bars, one for output level and one for gain reduction. In the bar mode we also visualize threshold and ratio.
2017-07-31Honor attack and release parameters in a-comp's inline graphJohannes Mueller
2017-07-31Indicate gain reduction in a-compJohannes Mueller
2017-07-31Show range -60 .. +10 dBFS in acomp's inline displayRobin Gareus
2017-07-31Set makeup to 0.f when bypassed also in stereo versionJohannes Mueller
2017-07-31Adjust the indication of the treshold value by the makup gain.Johannes Mueller
When lifting the compressor curve by the makeup gain value the actual treshold (the level when the curve kinks in) is also lifted. Therefore we need to adjust the dashed line indicating the threshold as well as the level when the color gradient to show compression kicks in.
2017-07-31Also the stereo version needs to set need_exposeJohannes Mueller
2017-07-31Show a-comp's makeup grain in inline renderingJohannes Mueller
2017-07-31Fix typoRobin Gareus
2017-07-31OSC: Make stripname refresh in automation play mode as well.Len Ovens
2017-07-30OSC: fix VCAs try to connect to controls it does not have.Len Ovens
2017-07-31Some session cleanup fixes (delete slave, take lock for lua)Robin Gareus
2017-07-30Binding Proxy: Drop references as requested.Robin Gareus
2017-07-30Turn AutomationCtrl into a SessionHandleRefRobin Gareus
This fixes a crash with GUI elements which are only deleted during GUI Idle and hold a Reference to a Controllable, The session is already destroyed at that point: ARDOUR::CoreSelection::remove_control_by_id(PBD::ID const&) ARDOUR::AutomationControl::~AutomationControl() ARDOUR::SlavableAutomationControl::~SlavableAutomationControl() ARDOUR::MonitorControl::~MonitorControl() boost::detail::sp_counted_base::destroy() boost::detail::sp_counted_impl_p<AudioGrapher::Interleaver<float>::Input>::dispose() boost::detail::sp_counted_base::release() boost::detail::shared_count::~shared_count() boost::shared_ptr<PBD::Controllable>::~shared_ptr() boost::shared_ptr<PBD::Connection>::~shared_ptr() ArdourWidgets::BindingProxy::~BindingProxy() ArdourWidgets::ArdourButton::~ArdourButton() VCAMasterStrip::~VCAMasterStrip() int idle_delete<VCAMasterStrip>(VCAMasterStrip*)
2017-07-30NO-OP: name-change (_list and _lock are also used in other places)Robin Gareus
Derived classes need to explicitly specify namespace and class to avoid ambiguities (even for private members)
2017-07-29Modify our MSVC project to add libltc as a dependency of 'dummy_backend' ↵John Emmas
(which now needs to link to it)
2017-07-29Fix an ambiguous call to 'floor()'John Emmas
MSVC complains, so let's specify which override we want.
2017-07-28PortManager::unregister_port() must be called with process lockRobin Gareus
This fixes "Failed to register <surface> port" when re-loading a session.
2017-07-28Delete CoreSelection at session closeRobin Gareus
2017-07-28Add a LTC generator to the dummy backendRobin Gareus
2017-07-27Fix write-pass re-start while in an active write-passRobin Gareus
2017-07-27Start a new write-pass when writing automation and locating while rollingRobin Gareus
2017-07-26Fix initial sync to LTC with small buffersizesRobin Gareus
Ardour follow_slave() does nothing (not even seek) if the slave is not locked. The LTC-slave assumes it's locked if LTC is stable for 5 continuous process-calls. If the difference of Ardour's transport-position to the LTC-timecode is large (> 2sec), the slave reset itself (assuming drift, seek don't vari- speed). A LTC-slave does reset does reset the locked counter. Hence: If initially Ardour's transport differs > 2 sec and the buffersize is small (many process-callbacks), the slave kept resetting itself never informing Ardour that it locked to the external TC, and Ardour never issued a seek.
2017-07-26update libltcRobin Gareus
2017-07-25Remove unnecessary tests for touch-stateRobin Gareus