Commit graph

25586 commits

Author SHA1 Message Date
Ben Loftis
7aaaae8bfe Initial checkin of a Full Band template script. 2017-08-14 22:03:57 -05:00
Ben Loftis
ff61435a88 Further tweaking of layout and packing. 2017-08-14 18:01:17 -05:00
Ben Loftis
1039894f34 Rationalize gtk box packing. 2017-08-14 17:37:29 -05:00
Ben Loftis
8717c0d3b0 Auto-select an Empty template. 2017-08-14 17:20:34 -05:00
Ben Loftis
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
Ben Loftis
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
Paul Davis
a1143a0ed6 expose automation state controls in AutomationTimeAxisView when used for MIDI CC 2017-08-12 14:40:21 -04:00
Paul Davis
b98969be94 do not set automation to off/manual for MIDI CC data when clearing such data 2017-08-12 14:40:21 -04:00
Paul Davis
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
Robin Gareus
3ff352be79 Maybe fix crash on Close Session -> Quit (windows threading) 2017-08-11 19:45:49 +02:00
Robin Gareus
7d48e80e5f Fix MSVC builds (binding external static members)
This Revert "Lua GUI Instance update: prepare for template scripts"
commit c37cdf548d.
2017-08-11 18:01:28 +02:00
Robin Gareus
acd73a9bf8 yet another Windows build fix (LV2 preset 89475b2c9) 2017-08-11 17:33:44 +02:00
Robin Gareus
ee839bda3d Fix Windows builds (amend 89475b2c) 2017-08-11 17:19:45 +02:00
Robin Gareus
89475b2c95 Fix LV2 Preset path for window 2017-08-11 16:54:39 +02:00
Robin Gareus
f27e53f485 Add support for scripted meta-templates. 2017-08-11 15:24:05 +02:00
Robin Gareus
62ce5465ca Prepare for templates w/description 2017-08-11 15:24:05 +02:00
Robin Gareus
e3edbcb806 Add a new script type for meta-templates: SessionSetup 2017-08-11 15:24:05 +02:00
Robin Gareus
a38cdb0ae3 Add template dropdown sensitivity
...for those who select a template but forget activate the checkbox and
wonder why it doesn't work :)
2017-08-11 15:24:05 +02:00
Len Ovens
6ad4379b4d OSC: fix issue #7444 send fader position/gain even when 0. 2017-08-10 08:50:46 -07:00
Todd Naugle
d4a089937b Populate the buffer size combo when connecting to jack that is already running.
This would crash (throw) if ardour was started with an invalid backend
(alsa with no devices avaliable) and then changec to an alredy running
jack. The invalid backend at the start would leave the buffer
size combo empty and switching to the running jack backend did not populate
buffer size list.
2017-08-10 09:49:22 -05:00
Robin Gareus
d2d660521e Save sample-rate for sessions created from templates 2017-08-10 02:26:19 +02:00
Robin Gareus
8fbc2c6484 Add some more Lua script examples 2017-08-10 02:26:16 +02:00
Robin Gareus
e983e08f1d remove old PBD::SystemExec bindings (Windows classkeys) 2017-08-10 02:26:14 +02:00
Robin Gareus
418570b041 Update Lua os.exec, SystemExec API
We can't use Lua to construct a PBD::SystemExec Obejct. Lifetime of the
object is bound to the Lua interpreter or local function scope.
Destroying the C++ object terminates the process.

Additionally to adding a dedicated method, we also override the existing
os.execute Lua libary method with a rt-save (vfork, close filedescriptors)
wrapper.
2017-08-10 02:26:11 +02:00
Robin Gareus
80e0094ef4 Add support for templates to invoke one-time scripts 2017-08-10 02:26:08 +02:00
Robin Gareus
c37cdf548d Lua GUI Instance update: prepare for template scripts 2017-08-10 02:26:05 +02:00
Robin Gareus
e4cb6e1894 Lua Message dialog, push splash screen if needed. 2017-08-10 02:26:01 +02:00
Robin Gareus
8eb3b9d34b Add a Lua SetSession signal/hook 2017-08-10 02:25:58 +02:00
Robin Gareus
d0553753af Lua Script Sandbox - GUI part 2017-08-10 02:25:54 +02:00
Robin Gareus
0191a9c4c2 Centralize Lua sandboxing 2017-08-10 02:25:49 +02:00
Robin Gareus
cba622cdce Add Lua bindings to set toggle-actions 2017-08-09 16:29:24 +02:00
Robin Gareus
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
Robin Gareus
e1a29c4e46 Fix windows builds (amend 0c4e0503) 2017-08-09 16:22:23 +02:00
Robin Gareus
e708de4b8f really fix linux packaging jack check (amend 79dc3882ea) 2017-08-09 15:55:43 +02:00
Robin Gareus
0c4e0503b4 SystemExec Lua bindings (vfork, fire+forget) 2017-08-08 23:27:47 +02:00
Robin Gareus
7c6800fb88 Hide TrackList "Active" toggle for VCAs 2017-08-08 01:49:05 +02:00
Robin Gareus
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
Robin Gareus
7235d9751b Add debug-msg for port-handle registration 2017-08-07 23:03:08 +02:00
Robin Gareus
fd6377a5af PortAudio: skip process callbacks until ports are established 2017-08-07 19:27:37 +02:00
Robin Gareus
518cf6045c Revert "Work around a Windows crash (for now)"
This reverts commit 4f2dc77f6f.
2017-08-07 19:26:06 +02:00
Paul Davis
45eef0be1b slight tweak for more code consistency between ::toggle_solo() and ::toggle_mute() 2017-08-07 12:14:17 -04:00
Paul Davis
cbe342c357 some structure/code for managing menu sensitivity now that VCAs are selectable 2017-08-07 12:04:11 -04:00
Robin Gareus
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
Robin Gareus
d7aa102ce5 Name New VCAs from Selection 2017-08-07 16:46:35 +02:00
Robin Gareus
c7237a606a Improve Track > Toggle Solo/Mute, include VCAs 2017-08-07 16:29:08 +02:00
Robin Gareus
ffcb0af8bc Fix Windows builds (amend 7009ff03) 2017-08-07 13:58:56 +02:00
Robin Gareus
7e3a286627 fix a -Wattributes 2017-08-07 13:58:05 +02:00
Robin Gareus
4994bc4fb1 Explicitly initialize parent in the copy constructor 2017-08-07 13:57:49 +02:00
Robin Gareus
29cc1f06b6 space matters 2017-08-07 05:07:19 +02:00
Robin Gareus
e3690cf653 Add Lua Bindings to clone/copy regions 2017-08-07 03:08:36 +02:00