summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2017-08-11Fix LV2 Preset path for windowRobin Gareus
2017-08-11Prepare for templates w/descriptionRobin Gareus
2017-08-11Add a new script type for meta-templates: SessionSetupRobin Gareus
2017-08-10OSC: fix issue #7444 send fader position/gain even when 0.Len Ovens
2017-08-10Save sample-rate for sessions created from templatesRobin Gareus
2017-08-10remove old PBD::SystemExec bindings (Windows classkeys)Robin Gareus
2017-08-10Add a Lua SetSession signal/hookRobin Gareus
2017-08-10Centralize Lua sandboxingRobin Gareus
2017-08-09Separate set_toggleaction_state () APIRobin Gareus
Prepare for a method consistent with access_action(): * separate group + action names * no action string parsing overhead. * no fatal, abort () call for invalid actions
2017-08-09Fix windows builds (amend 0c4e0503)Robin Gareus
2017-08-08SystemExec Lua bindings (vfork, fire+forget)Robin Gareus
2017-08-07Fix non-buffered PA backend. Wait for backend to become activeRobin Gareus
This hopefully fixes an issue with port-registration (new session) being skipped because PortAudioBackend::available() still false until the first callback.
2017-08-07Add debug-msg for port-handle registrationRobin Gareus
2017-08-07PortAudio: skip process callbacks until ports are establishedRobin Gareus
2017-08-07Revert "Work around a Windows crash (for now)"Robin Gareus
This reverts commit 4f2dc77f6f6b5b0de07304e8a4981ff1298ef090.
2017-08-07Work around a Windows crash (for now)Robin Gareus
The root-cause is likely PortAudio backend specific async port-registration, re-establish ports after session creation and after the first callback and it's apparently a race-condition: crash is not 100% reproducible. #10 0x00007ffb156df18a in msvcrt!abort () from C:\Windows\System32\msvcrt.dll #11 0x0000000012597832 in _wassert (_Message=_Message@entry=0x2eaf96f0 L"_port_handle", _File=0x2 <error: Cannot access memory at address 0x2>, _File@entry=0x346a1430 L"../libs/ardour/audio_port.cc", _Line=80) at ../../mingw-w64-crt/misc/wassert.c:54 #12 0x00000000125978e8 in _assert (_Message=0x1282f7e9 "_port_handle", _File=0x1282f7a0 "../libs/ardour/audio_port.cc", _Line=80) at ../../mingw-w64-crt/misc/wassert.c:30 #13 0x00000000120d1a51 in ARDOUR::AudioPort::get_audio_buffer (this=0x34a95a70, nframes=256) at ../libs/ardour/audio_port.cc:80 #14 0x00000000126724f9 in ARDOUR::AudioPort::get_buffer (this=<optimized out>, nframes=<optimized out>) at ../libs/ardour/ardour/audio_port.h:43 #15 0x0000000012435421 in ARDOUR::Session::ltc_tx_send_time_code_for_cycle (this=this@entry=0x37666310, start_frame=0, end_frame=end_frame@entry=256, target_speed=0, current_speed=0, nframes=nframes@entry=256) at ../libs/ardour/session_ltc.cc:180 #16 0x000000001245209f in ARDOUR::Session::no_roll (this=this@entry=0x37666310, nframes=256) at ../libs/ardour/session_process.cc:145 #17 0x0000000012453051 in ARDOUR::Session::fail_roll (this=this@entry=0x37666310, nframes=<optimized out>) at ../libs/ardour/session_process.cc:128 #18 0x0000000012459ebd in ARDOUR::Session::process_without_events (this=this@entry=0x37666310, nframes=nframes@entry=256) at ../libs/ardour/session_process.cc:897 #19 0x000000001245a462 in ARDOUR::Session::process_with_events (this=0x37666310, nframes=256) at ../libs/ardour/session_process.cc:425 #20 0x0000000012451bc5 in ARDOUR::Session::process (this=0x37666310, nframes=nframes@entry=256) at ../libs/ardour/session_process.cc:78 #21 0x00000000120e79fd in ARDOUR::AudioEngine::process_callback (this=0x23316e30, nframes=256) at ../libs/ardour/audioengine.cc:376 #22 0x00000000285390fe in ARDOUR::PortAudioBackend::blocking_process_main (this=this@entry=0x29e67750, interleaved_input_data=interleaved_input_data@entry=0x115e8790, interleaved_output_data=interleaved_output_data@entry=0x115e0050) at ../libs/backends/portaudio/portaudio_backend.cc:1962 #23 0x0000000028539b75 in ARDOUR::PortAudioBackend::process_callback (this=this@entry=0x29e67750, input=0x115e8790, output=0x115e0050, frame_count=<optimized out>, timeInfo=0x3d17fd70, statusFlags=statusFlags@entry=0) at ../libs/backends/portaudio/portaudio_backend.cc:775 #24 0x0000000028539c16 in ARDOUR::PortAudioBackend::portaudio_callback (input=<optimized out>, output=<optimized out>, frame_count=<optimized out>, time_info=<optimized out>, status_flags=0, user_data=0x29e67750) at ../libs/backends/portaudio/portaudio_backend.cc:721 #25 0x00000000632c528f in NonAdaptingProcess () from C:\Program Files\Mixbus32C-4\bin\libportaudio-2.dll #26 0x00000000632c73b2 in PaUtil_EndBufferProcessing () from C:\Program Files\Mixbus32C-4\bin\libportaudio-2.dll #27 0x00000000632d129c in ProcessingThreadProc () from C:\Program Files\Mixbus32C-4\bin\libportaudio-2.dll
2017-08-07Fix Windows builds (amend 7009ff03)Robin Gareus
2017-08-07fix a -WattributesRobin Gareus
2017-08-07Explicitly initialize parent in the copy constructorRobin Gareus
2017-08-07space mattersRobin Gareus
2017-08-07Add Lua Bindings to clone/copy regionsRobin Gareus
2017-08-07Add Lua bindings for RegionMap and region listRobin Gareus
2017-08-06Allow FaderPort to select VCAsRobin Gareus
2017-08-06Emit SelectionChange when VCA is removedRobin Gareus
chicken/egg: Stripable d'tor which calls remove_stripable_by_id() will only be called when the Stripable is destroyed. But as long as the GUI selection holds a shared-ptr reference to the Stripable, it won't be destroyed.
2017-08-06Broadcast info according to EBU tech-specsRobin Gareus
2017-08-06Remove some debug outputRobin Gareus
2017-08-05"Selected" is a PresentationInfo Property.Robin Gareus
This fixes MIDI Input follows MIDI track selection (and maybe other issues) and hopefully breaks nothing else (most places subscribe to both Stripable::PropertyChanged and PresentationInfo::PropertyChanged).
2017-08-05amend bc46a7e2e9; fix blind coding typosRobin Gareus
2017-08-05amend f4c76f89d3a; fix blind coding typosRobin Gareus
2017-08-05PortAudio backend RT-safe MIDI buffer allocationRobin Gareus
2017-08-05Coreaudio backend RT-safe MIDI buffer allocationRobin Gareus
2017-08-05ALSA backend RT-safe MIDI buffer allocationRobin Gareus
2017-08-05Update backend API: read-only MIDI input buffersRobin Gareus
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