Control surfaces c'tor usually subscribe to signals e.g. PortConnectedOrDisconnected. This happens after the parent BaseUI is created, but before set_active() -> BaseUI::run() is called. At this point in time there is no run_loop thread. There are two options to handle AbstractUI::call_slot(): A. Queue the event in the event-loop, using the thread-local request buffer of the caller. Then hope the BaseUI thread is started, and calls ::handle_ui_requests() before the memory pool runs out of space. B. Handle the event in the calling thread. -- This may not be rt-safe and may call functions with locks held by the caller. It will however not accumulate events. This takes approach (B). If _run_loop_thread is NULL, directly handle the signal. In the past, prior to |
||
---|---|---|
doc | ||
gtk2_ardour | ||
headless | ||
libs | ||
luasession | ||
msvc_extra_headers | ||
MSVCardour3 | ||
MSVCMixbus3 | ||
MSVCvst_scan | ||
nutemp | ||
session_utils | ||
share | ||
tools | ||
.dir-locals.el | ||
.gitattributes | ||
.gitignore | ||
ardour.1 | ||
COPYING | ||
instant.xml.sae | ||
msvc32-fixup.pl | ||
nutempo-todo | ||
PACKAGER_README | ||
README | ||
README-GITHUB.txt | ||
system_config | ||
testfile.flac | ||
testfile.ogg | ||
TRANSLATORS | ||
waf | ||
wscript |
Please see the Ardour web site at https://ardour.org/ for all documentation.. For information on building ardour: https://ardour.org/development.html