13
0
Commit Graph

25221 Commits

Author SHA1 Message Date
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
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
6ad4379b4d OSC: fix issue #7444 send fader position/gain even when 0. 2017-08-10 08:50:46 -07:00
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
d2d660521e Save sample-rate for sessions created from templates 2017-08-10 02:26:19 +02:00
8fbc2c6484 Add some more Lua script examples 2017-08-10 02:26:16 +02:00
e983e08f1d remove old PBD::SystemExec bindings (Windows classkeys) 2017-08-10 02:26:14 +02:00
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
80e0094ef4 Add support for templates to invoke one-time scripts 2017-08-10 02:26:08 +02:00
c37cdf548d Lua GUI Instance update: prepare for template scripts 2017-08-10 02:26:05 +02:00
e4cb6e1894 Lua Message dialog, push splash screen if needed. 2017-08-10 02:26:01 +02:00
8eb3b9d34b Add a Lua SetSession signal/hook 2017-08-10 02:25:58 +02:00
d0553753af Lua Script Sandbox - GUI part 2017-08-10 02:25:54 +02:00
0191a9c4c2 Centralize Lua sandboxing 2017-08-10 02:25:49 +02:00
cba622cdce Add Lua bindings to set toggle-actions 2017-08-09 16:29:24 +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
e708de4b8f really fix linux packaging jack check (amend 79dc3882ea) 2017-08-09 15:55:43 +02:00
0c4e0503b4 SystemExec Lua bindings (vfork, fire+forget) 2017-08-08 23:27:47 +02:00
7c6800fb88 Hide TrackList "Active" toggle for VCAs 2017-08-08 01:49:05 +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
45eef0be1b slight tweak for more code consistency between ::toggle_solo() and ::toggle_mute() 2017-08-07 12:14:17 -04:00
cbe342c357 some structure/code for managing menu sensitivity now that VCAs are selectable 2017-08-07 12:04:11 -04: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
d7aa102ce5 Name New VCAs from Selection 2017-08-07 16:46:35 +02:00
c7237a606a Improve Track > Toggle Solo/Mute, include VCAs 2017-08-07 16:29:08 +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
8642e916db More RouteTAV -> StripableTAV updates (Editor List) 2017-08-06 23:49:12 +02:00
031e02d9e7 Use StripableTAV to inform Ctrl surfaces about selection. 2017-08-06 23:22:27 +02:00
f1ae16fe8f VCA TimeAxis Context Menu
NB. This calls for a vca_ui (alike route_ui) to consolidate common
methods like choose_color, assign/drop slaves etc)
2017-08-06 22:48:38 +02:00
fff9a3cc7f Allow FaderPort to select VCAs 2017-08-06 22:18:01 +02:00
7009ff0300 Update Selection API to include all Stripables 2017-08-06 22:17:58 +02:00
1cbbbf6aad Update Remove Track(s) dialog to include VCAs 2017-08-06 22:17:54 +02:00
0ae9cda51d Allow to select VCAs 2017-08-06 22:17:42 +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
0301326656 Add options to set bit-depth and bwf to session-export util. 2017-08-06 18:00:52 +02:00
2f1405db5a Broadcast info according to EBU tech-specs 2017-08-06 17:56:59 +02:00
eb2af9e28d Remove some debug output (gtk2_ardour) 2017-08-06 14:50:45 +02:00
515bd5ad4d Remove some debug output 2017-08-06 14:48:18 +02:00
bc713b00c3 Improve help text and error-reporting for ardour-export 2017-08-06 14:47:50 +02:00
d98b722a28 Fix session-export --samplerate option 2017-08-06 14:34:24 +02:00