13
0
Commit Graph

13280 Commits

Author SHA1 Message Date
47d86cf54d Change the template pulldown menu into a tree list. Populate the Description view when a template is selected. 2017-08-14 16:14:42 -05:00
0a0eec2adc Session Metadata: add a Description field.
* This is a multi-line text field.
* If the session is a template, we might show this in the New Session dialog.
2017-08-14 14:08:17 -05:00
8402537493 use a lock to set/get AutomationList automation state
It isn't 100% clear that we should use the list's data lock, but it seems quite likely
that this is the correct design, because of the interlock between data being present
and automation state
2017-08-12 14:40:21 -04:00
acd73a9bf8 yet another Windows build fix (LV2 preset 89475b2c9) 2017-08-11 17:33:44 +02:00
ee839bda3d Fix Windows builds (amend 89475b2c) 2017-08-11 17:19:45 +02:00
89475b2c95 Fix LV2 Preset path for window 2017-08-11 16:54:39 +02:00
62ce5465ca Prepare for templates w/description 2017-08-11 15:24:05 +02:00
e3edbcb806 Add a new script type for meta-templates: SessionSetup 2017-08-11 15:24:05 +02:00
6ad4379b4d OSC: fix issue #7444 send fader position/gain even when 0. 2017-08-10 08:50:46 -07:00
d2d660521e Save sample-rate for sessions created from templates 2017-08-10 02:26:19 +02:00
e983e08f1d remove old PBD::SystemExec bindings (Windows classkeys) 2017-08-10 02:26:14 +02:00
8eb3b9d34b Add a Lua SetSession signal/hook 2017-08-10 02:25:58 +02:00
0191a9c4c2 Centralize Lua sandboxing 2017-08-10 02:25:49 +02:00
bbc8c1354e Separate set_toggleaction_state () API
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-09 16:29:24 +02:00
e1a29c4e46 Fix windows builds (amend 0c4e0503) 2017-08-09 16:22:23 +02:00
0c4e0503b4 SystemExec Lua bindings (vfork, fire+forget) 2017-08-08 23:27:47 +02:00
26dc287c00 Fix non-buffered PA backend. Wait for backend to become active
This hopefully fixes an issue with port-registration (new session)
being skipped because PortAudioBackend::available() still false
until the first callback.
2017-08-07 23:23:39 +02:00
7235d9751b Add debug-msg for port-handle registration 2017-08-07 23:03:08 +02:00
fd6377a5af PortAudio: skip process callbacks until ports are established 2017-08-07 19:27:37 +02:00
518cf6045c Revert "Work around a Windows crash (for now)"
This reverts commit 4f2dc77f6f.
2017-08-07 19:26:06 +02:00
4f2dc77f6f Work around a Windows crash (for now)
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-07 17:39:28 +02:00
ffcb0af8bc Fix Windows builds (amend 7009ff03) 2017-08-07 13:58:56 +02:00
7e3a286627 fix a -Wattributes 2017-08-07 13:58:05 +02:00
4994bc4fb1 Explicitly initialize parent in the copy constructor 2017-08-07 13:57:49 +02:00
29cc1f06b6 space matters 2017-08-07 05:07:19 +02:00
e3690cf653 Add Lua Bindings to clone/copy regions 2017-08-07 03:08:36 +02:00
771a4a4e0c Add Lua bindings for RegionMap and region list 2017-08-07 02:40:52 +02:00
fff9a3cc7f Allow FaderPort to select VCAs 2017-08-06 22:18:01 +02:00
d18a43422c Emit SelectionChange when VCA is removed
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-06 22:17:05 +02:00
2f1405db5a Broadcast info according to EBU tech-specs 2017-08-06 17:56:59 +02:00
515bd5ad4d Remove some debug output 2017-08-06 14:48:18 +02:00
f25824ed28 "Selected" is a PresentationInfo Property.
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-05 21:12:52 +02:00
fde07d4f4f amend bc46a7e2e9; fix blind coding typos 2017-08-05 16:17:31 +02:00
8c61c7f14a amend f4c76f89d3a; fix blind coding typos 2017-08-05 16:06:15 +02:00
bc46a7e2e9 PortAudio backend RT-safe MIDI buffer allocation 2017-08-05 15:36:36 +02:00
f4c76f89d3 Coreaudio backend RT-safe MIDI buffer allocation 2017-08-05 15:36:36 +02:00
59a63a08f9 ALSA backend RT-safe MIDI buffer allocation 2017-08-05 15:36:36 +02:00
2b7c585dba Update backend API: read-only MIDI input buffers 2017-08-05 15:36:36 +02:00
f21a66797a Revert 542d021f, fix number of DSP threads
The main process-callback does not participate in DSP computation
2017-08-05 03:02:17 +02:00
2d60a69c2d Consolidate ctrl surface code 2017-08-05 01:28:11 +02:00
8374e23014 Add API to set thread-priority (for ctrl-surfaces) 2017-08-05 01:28:11 +02:00
c125cd2647 Reduce DSP thread priority (main-i/o > midi i/o > computation) 2017-08-05 01:28:11 +02:00
cec84d242d NO-OP: whitespace 2017-08-04 16:26:37 +02:00
1ed9564ffd Graph profiling: allow to override max DSP thread count & calc avg. 2017-08-04 16:26:26 +02:00
38c5e9de6d CoreAudio: Set MachThread RT Priority 2017-08-04 06:25:23 +02:00
4ec72b5c76 DummyBackend: allow changing SPP 2017-08-04 03:53:51 +02:00
9036f89311 Fix typo in Lua Vamp API 2017-08-04 01:27:46 +02:00
34936f3654 Allow calling IO::silence for yet unregistered ports (Click) 2017-08-03 23:54:26 +02:00
6b5d374352 Some more assert() debugging 2017-08-03 23:46:05 +02:00
1937c74191 Ignore cycle-start/end for unregistered ports
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-03 19:25:14 +02:00