Commit Graph

564 Commits

Author SHA1 Message Date
Robin Gareus
7dfd39e708 add a single-element ring-buffer write function 2016-07-10 15:56:18 +02:00
Paul Davis
58b2931685 add the potential for a bit more debugging of signal connects 2016-07-01 17:47:05 -04:00
Paul Davis
ba700ecc63 add the potential for a bit more debugging of signal connects 2016-07-01 17:47:05 -04:00
Robin Gareus
86763cba90 Enable build for FreeBSD (part 1/2)
Adopted from Michael Beer -- GH pull-request #232 with minor changes:

*   rebased on master,
*   removed trailing whitespace,
*   don't explicitly change saved configuration defaults (wscript)
*   moved sys/wait (WNOHANG) to header include
*   separate changes in GUI and lib
2016-06-26 16:43:07 +02:00
Paul Davis
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 2016-05-31 15:30:42 -04:00
Paul Davis
e1bcd70712 a slew of as-yet incomplete work to get VCA solo+mute closer to working 2016-05-31 15:30:40 -04:00
Paul Davis
2c6d595614 add a new Controllable::NotAutomable flag 2016-05-31 15:30:40 -04:00
Paul Davis
653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
Paul Davis
5531c83496 change API of Controllable::Changed signal to include (from_self, GroupControlDisposition)
This allows the signal to convey more information, which may be required by some handlers of a control's Changed signal
2016-05-31 15:30:40 -04:00
John Emmas
22e031135a Emulate 'log1p()' and 'expm1()' using 'log()' and 'exp()'
(for MSVC which didn't implement those functions until very recent versions).
2016-05-28 19:07:22 +01:00
Robin Gareus
f445ba8bdc locale debugging 2016-05-07 12:15:12 +02:00
Robin Gareus
3dc7728038 we always only use the "C" locale when saving. 2016-05-05 21:49:56 +02:00
Robin Gareus
f2c5522f0f rework locale-guard for C and C++ locales
let's hope querying the C-locale is more lightweight than setting it
on windows.
2016-05-05 20:02:48 +02:00
Paul Davis
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
Robin Gareus
255b5174c4 add a const method to check for existing key/value properties
handy to lookup up XMLNodes with "id" == ID w/o allocating memory.
2016-05-03 03:03:00 +02:00
Robin Gareus
f6a621346c some notes on mem-leaks... 2016-04-24 14:43:18 +02:00
Robin Gareus
04c56a0618 some strategic documentation
Prevent class descriptions inheriting the doc from PBD:Stateful by
adding some specific doc.
2016-04-12 17:03:44 +02:00
Robin Gareus
ff05c82312 Revert "experimental session-save speedup" -- needs C++11
This reverts commit d1dcedaccf.
2016-04-08 21:21:38 +02:00
Robin Gareus
3def1b2830 more potential session-save speedup.
std:vector trumps std::list speed in all aspects: traversal, insertion
(at end) and Deletion.  ..but we'll have to be careful about iterators..
2016-04-08 21:03:23 +02:00
Robin Gareus
d1dcedaccf experimental session-save speedup
property order is not important,
unordered_map lookup and insertion is O(1)
2016-04-08 20:32:49 +02:00
Robin Gareus
e19744430a don't collect rt-mempoll statistics anymore (by default) 2016-04-03 23:54:53 +02:00
Robin Gareus
a9187a9e25 Add a few class documentations to override inherited doc.
clang doxygen comments follows class inheritance.
Undocumented Ardour classes which inherit from sigc::trackable
also inherit sigc's documentation.
2016-03-31 01:16:07 +02:00
Robin Gareus
2288e04a5b suppress realloc-poll debug messages in optimized builds 2016-03-19 10:51:15 +01:00
Paul Davis
591f92e531 add new Controllable::GroupDisposition value, ForGroup, to identify changes being made *for* a RouteGroup 2016-03-14 10:41:33 -04:00
Robin Gareus
3c87629c7e realloc-pool unit-test 2016-02-22 22:06:47 +01:00
Robin Gareus
6cf5e989c0 time-bound memory-pool
O(1) realloc() for use with Lua.
A standard malloc/free/realloc API is exposed for testing and other
potential use-cases.

The current configuration it's performs well for lua-metatables
(regular calls to realloc() with varying tiny chunks ~1-50 bytes)
For the use-case at hand it outperforms TLSF.
2016-02-22 22:06:47 +01:00
Paul Davis
e9234c856a add syntax and scaffolding for MIDI binding maps to refer to selected tracks/busses.
THIS DOES NOT WORK YET. Selection information is not available in libardour at this time
2016-02-22 15:31:25 -05:00
Robin Gareus
5e50a7d6cf allot to open OSX Finder with arbitrary paths 2016-02-17 16:29:25 +01:00
Robin Gareus
108528b63d amend d814acb - SystemExec/Export debugging 2016-02-13 01:39:41 +01:00
Ben Loftis
d814acbb8f add some debugging capability for users of SystemExec. Needs review. 2016-02-12 18:22:12 -06:00
Paul Davis
23794eca5b rename Controllable::WholeGroup => InverseGroup to reflect real intent.
Add logic to RouteGroupMember::use_group() to implement the real intent of InverseGroup
2016-01-22 11:58:31 -05:00
Paul Davis
9d65e6084c clean up functors used in cross-thread call_slot() messages, in case they contain shared_ptr<T>, which could result in a dangling reference 2016-01-16 09:33:31 -05:00
Paul Davis
2386410e4a remove debug output 2016-01-14 11:00:50 -05:00
Paul Davis
35807a1929 fully clean up request buffers when a thread dies 2016-01-14 10:53:32 -05:00
Paul Davis
077c65cc2a manually revert 4b3043cc and 141e6fb8181; add detailed explanatory comment 2016-01-14 09:05:06 -05:00
Paul Davis
141e6fb818 don't pick up already dead thread request buffers when setting up an event loop 2016-01-13 23:25:17 -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
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
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