Paul Davis
4b3043ccda
use a unique key to store per-thread request buffers
2016-01-13 23:00:02 -05:00
Paul Davis
d3ad5c16d1
yet more event loop debug tracing
2016-01-13 21:13:55 -05:00
Paul Davis
6d04a66eea
more event loop debugging
2016-01-13 19:48:17 -05:00
Paul Davis
3e45254257
typo fix
2016-01-13 18:14:52 -05:00
Paul Davis
f3c9f5894a
lots more DEBUG_TRACE statements for analysing malfunctioning system
2016-01-13 17:03:49 -05:00
Paul Davis
bcb865c235
improved debug trace messages from BaseUI class
2016-01-12 22:11:44 -05:00
Paul Davis
f1d0de029d
remove debug output
2016-01-10 23:34:10 -05:00
Paul Davis
9e3299f97d
change Controllable::set_value() API to include grouped control consideration.
...
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Robin Gareus
80a730550d
clang build fix (uint32_t is not declaed)
2015-12-29 18:49:56 +01:00
Robin Gareus
23333a271e
fix windows/mingw builds
2015-12-29 10:30:27 +01:00
Paul Davis
0d9efc1148
redesign cross-thread registration/signalling system
...
This new design will work even when threads that need to receive
messages from RT threads are created *after* the RT threads. The
existing design would fail because the RT thread(s) would never
be known the later created threads, and so signals emitted by the
RT thread and causing call_slot() in the receiver would end up
being enqueued using a lock-protected list. The new design ensures
that communication always uses a lock-free FIFO instead
2015-12-28 10:14:17 -05:00
John Emmas
d880645cac
Modify our MSVC project to accommodate newly introduced/removed source files (libpbd)
2015-12-23 15:09:17 +00:00
Robin Gareus
b48d87b3ea
add API to query stateful ID override mode
2015-12-17 23:18:22 +01:00
Robin Gareus
6e13b91a35
portable pthread_self() debug message
2015-12-13 11:28:56 +01:00
Paul Davis
f32fc212f3
change AbstractUI implementation to use EventLoop::event_loop_name() and add extra DEBUG_TRACE statements to track thread registration with event loops
2015-12-12 11:12:10 -05:00
Paul Davis
a419fb5af0
fix endless-loop-at-shutdown bug now that abstract UI request buffers are used
2015-12-12 11:12:10 -05:00
Paul Davis
f369f33955
move BaseUI::_name into EventLoop; rename access method in EventLoop as event_loop_name() to clarify usage
2015-12-12 11:12:10 -05:00
Robin Gareus
162352419d
NO-OP re-indent
2015-12-12 14:54:52 +01:00
Robin Gareus
6a1799f095
remove invalid free. - fixes crash with generic midi surface
...
if there is a per_thread_request_buffer, get_request() simply puts a
POD RequestType on the ringbuffer's head. send_request() increases
the write-pointer. There is no memory to free.
2015-12-12 14:52:35 +01:00
Kamil Rytarowski
2da6e45922
NetBSD: Stop hardcoding Python binary name
...
Caught with pkgsrc on NetBSD
2015-12-07 13:24:36 +01:00
Robin Gareus
c93f0b77bf
rename ProcessSemaphore to Semaphore (libs)
2015-12-02 20:18:48 +01:00
Robin Gareus
15c958e32f
consolidate semaphore implementation (part three)
2015-12-02 16:09:51 +01:00
Robin Gareus
003b632ed1
consolidate semaphore implementation (part one)
2015-12-02 16:03:28 +01:00
Robin Gareus
14d6470ad3
prefer pthread-semaphores (posix API) with mingw
...
Hopefully this resolves glitches on hyperthreading machines.
Apart from using unnamed Semaphores, pthread-w32 includes additional locks
(guess: mem-barriers), a fallback implementation and windows-specific
tricks that I'd rather not want to know about :)
2015-12-02 13:59:48 +01:00
Tim Mayberry
7f3118c8fe
Don't indent inside namespace declaration to be consistent with ardour style
2015-12-01 14:22:38 +10:00
Tim Mayberry
e025415516
Use PBD::demangle_symbol in PBD::demangled_name<T> to reduce code duplication
2015-12-01 14:22:38 +10:00
Tim Mayberry
36fa670309
Rename PBD::symbol_demangle and some variable names to improve readability
...
Rename PBD::symbol_demangle to demangle_symbol so the transitive verb is
infront of the object.
Rename some local variables and fix documentation.
2015-12-01 14:22:38 +10:00
Tim Mayberry
5f4f89fb39
Move PBD symbol demangle functions into pbd/demangle.h/cc
...
Add pbd/demangle.cc source file and move functions from pbd/stacktrace.cc into
it
2015-12-01 14:22:38 +10:00
Robin Gareus
73d1de3b75
NOOP, remove trailing whitespace, replace tabs in python scripts
2015-11-29 17:54:31 +01:00
Paul Davis
81103d822a
use thread private data **pointer** correctly for Stateful::ID regeneration
2015-11-17 08:53:29 -05:00
Paul Davis
d2cba4d7ac
fix inadvertently commit error related to at-process-exit deletion for thread private variable
2015-11-16 21:55:57 -05:00
Paul Davis
e1dc2d4604
correct value testing for Stateful thread-private variable controlling ID regeneration
2015-11-16 21:24:10 -05:00
Paul Davis
92fe47bdee
provide a mechanism to force ID regeneration/reset in PBD::Stateful when settingthe ID object from XML or string sources
2015-11-12 10:24:41 -05:00
Tim Mayberry
a4daf93f2f
Use XMLNode::remove_child_and_delete in Stateful::add_extra_xml
...
As the node being replaced has been added with XMLNode::add_child_nocopy the
node also needs to be deleted or a memory leak occurs.
2015-11-10 23:14:17 +10:00
Tim Mayberry
4e6cdb4daa
Use constructor initialization list in Stateful class
2015-11-10 23:14:16 +10:00
Tim Mayberry
9e4dc284ee
Replace spaces with tabs in pbd/stateful.h
2015-11-10 23:14:16 +10:00
Robin Gareus
7abfe85498
add API to suspend timers signal emission.
2015-10-30 15:55:26 +01:00
Robin Gareus
eb6b4f4b15
fix crash on SystemExec::Terminate
...
if Terminated() connects in the same thread and deletes the class itself
the closure in interposer_thread() can fail.
2015-10-23 23:29:04 +02:00
Tim Mayberry
3bd928591b
Add PBD::Searchpath::contains method to check if a Searchpath contains a path
2015-10-22 11:51:03 -04:00
Tim Mayberry
c07ea1bc73
Expose protected PBD::Searchpath API
...
I prefer to use these as they are more explicit than using the overloaded
operators.
2015-10-22 11:51:03 -04:00
Paul Davis
6ca3a1593e
add commentary and clean up blank lines
2015-10-21 22:31:35 -04:00
Paul Davis
ea95bef27b
variable name change: percent is 0..100, 0..1.0 is a fraction
2015-10-21 08:09:40 -04:00
Paul Davis
6e7ca06f63
ensure that mutator function for CONFIG_VARIABLE_SPECIAL is used when assigning initial value during construction
2015-10-21 07:53:26 -04:00
Robin Gareus
740c4dd134
possible fix for invalid cleanup space calc on win32.
2015-10-20 15:50:00 +02:00
Robin Gareus
af3ffc8610
NOOP, re-indent
2015-10-20 15:49:59 +02:00
Paul Davis
b00d75adf6
add safety checking when setting up DEBUG bits
2015-10-15 08:59:11 -04:00
Paul Davis
ce03b02a79
in a CrossThread object, ensure destruction of the channel and source used on Posix
...
The source holds a reference to the channel; both must be unref'ed/destroyed in order to
fully clean up resources
2015-10-08 21:55:37 -04:00
Robin Gareus
14932d1b86
allow to load huge VST plugin states -fixes #6623
...
by default libxml has a XML_MAX_TEXT_LENGTH of 10M
with base64 encoding that allows at most 2.5MB state.
set XML_PARSE_HUGE to read large sessions
2015-10-07 14:36:32 +02:00
Robin Gareus
2397429e99
use quotes for in-tree pbd/glib wrapper include
2015-10-05 22:15:18 +02:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00