13
0
Commit Graph

1104 Commits

Author SHA1 Message Date
aa77c2eb58 Give the Windows MMTimer test a better chance of passing
The default scheduling on windows seems fairly erratic or is at least in the
VM that I'm running these tests on, so increase the timing slack a bit so the
test has a better chance of passing. It is still quite easy for it to fail
though, especially if you for instance manipulate the terminal window somehow
while running the tests but it does not really matter in any case as this test
serves its purpose in testing the PBD::MMTimers API.
2016-09-19 14:47:52 +10:00
e9e412b989 Modify our MSVC project to use the newly introduced 'libarchive' library (libpbd) 2016-09-15 14:39:38 +01:00
77bd398153 implement file-[un]archive progress report 2016-09-14 23:10:41 +02:00
53ee3e2e72 Add support for built-in file/url unzip/untar
This introduces new build-dependency: libarchive
(http://www.libarchive.org/)
2016-09-13 16:14:40 +02:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
8e2d1c7f2a Move 'round()' / 'trunc()' etc so that they won't conflict with any versions already available in MSVC 2016-08-19 14:11:01 +01:00
a0b117b948 'roundf()' wasn't introduced in MSVC until VS2013 - so for the time being, let's emulate it using 'floorf()' 2016-08-19 14:11:00 +01:00
09ed9c44e7 change PBD::Transmitter code to use PBD::Signal<> not sigc::signal<>, since the latter is not thread safe 2016-08-14 08:33:23 -04:00
eec294a97e the endless quest to plug memory leaks -- episode 378 2016-07-25 17:16:32 +02:00
0fd2d82a6d add missing header include 2016-07-19 20:33:36 +02:00
c1aef0084a tweak realloc-pool realloc behavior.
* ignore provided old-size from lua, use internal segment size.
* fix behavior on OOM (leave memory untouched)
2016-07-19 15:05:16 +02:00
d13435a4e1 re-add TLSF 2016-07-19 15:03:51 +02:00
ee2d7a2d0c add exception handling in LocaleGuard, to try to cover more OS X wierd/corner cases 2016-07-18 10:56:43 -04:00
defb46d0fd Add a newly introduced source file to our MSVC project (libpbd) 2016-07-18 09:39:36 +01:00
82828bd7a6 prevent duplicate symbols (fix OSX compilation) 2016-07-14 23:11:11 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
58657edfb3 redesign PBD::LocaleGuard to work correctly (i.e. not break translations) 2016-07-14 11:37:48 -04:00
311a5f1462 add a natural sort algorithm 2016-07-14 16:52:43 +02:00
8de675d699 fix simple but fatal mistake in defining PBD::Controllable::Flags enums.
This error caused the flags to be saved as an empty string, thus losing all state when the session is reloaded
2016-07-12 08:34:35 -04:00
7dfd39e708 add a single-element ring-buffer write function 2016-07-10 15:56:18 +02:00
58b2931685 add the potential for a bit more debugging of signal connects 2016-07-01 17:47:05 -04:00
ba700ecc63 add the potential for a bit more debugging of signal connects 2016-07-01 17:47:05 -04:00
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
f592b6c07b Accommodate recently removed source(s) in our MSVC project (libpbd) 2016-06-01 14:30:26 +01:00
d5127001bb move ControllableDescriptor from libpbd to libardour; add support for describing VCAs 2016-05-31 15:30:42 -04:00
e1bcd70712 a slew of as-yet incomplete work to get VCA solo+mute closer to working 2016-05-31 15:30:40 -04:00
0cf89e76ef add new enums 2016-05-31 15:30:40 -04:00
2c6d595614 add a new Controllable::NotAutomable flag 2016-05-31 15:30:40 -04:00
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
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
984f4487e0 remove debug output 2016-05-31 15:30:38 -04:00
4d14ae4e23 mostly restore VCA state on session loading.
This does not restore VCA assignments
2016-05-31 15:30:38 -04:00
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
b0200b23f2 Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path 2016-05-21 10:33:18 +01:00
6d343ba3c6 fix LocaleGuard contstructor (3dc77280) 2016-05-07 12:19:41 +02:00
f445ba8bdc locale debugging 2016-05-07 12:15:12 +02:00
3d7cbe9d94 trying to get to the bottom of the decimal comma. 2016-05-07 01:22:32 +02:00
3dc7728038 we always only use the "C" locale when saving. 2016-05-05 21:49:56 +02:00
2624c0966b remove assert()s from LocaleGuard 2016-05-05 20:29:28 +02:00
bb99df867f minor comment change 2016-05-05 14:21:55 -04:00
25603d810f spelling fixes and an explanatory comment 2016-05-05 14:21:02 -04:00
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
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
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
4b8bc84e4a let GMainContext clean up after us.
this fixes a potential crash in
AsyncMIDIPort::~AsyncMIDIPort() -> CrossThreadChannel::~CrossThreadChannel()
2016-04-26 19:45:06 +02:00
f6a621346c some notes on mem-leaks... 2016-04-24 14:43:18 +02:00
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
ff05c82312 Revert "experimental session-save speedup" -- needs C++11
This reverts commit d1dcedaccf.
2016-04-08 21:21:38 +02:00
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
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
e19744430a don't collect rt-mempoll statistics anymore (by default) 2016-04-03 23:54:53 +02:00
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
4561788777 fix optimized build 2016-03-19 17:14:23 +01:00
2288e04a5b suppress realloc-poll debug messages in optimized builds 2016-03-19 10:51:15 +01:00
591f92e531 add new Controllable::GroupDisposition value, ForGroup, to identify changes being made *for* a RouteGroup 2016-03-14 10:41:33 -04:00
Florian Weimer
5a41b86028 fix __cpuid() on x86
The previous version used memory operands that gcc (probably dependent
on optimization flags and/or version) could address relative to the
stack pointer, but pushing %ebx onto the stack changed it. Here, the
address of the regs array is put into %esi and the individual members
are written into directly.
2016-03-08 14:54:41 +01:00
3dc09d42ab allow to override FPU detection 2016-03-04 18:05:47 +01:00
22ed6fb1f7 Accommodate newly introduced source(s) in our MSVC project (libpbd) 2016-02-27 16:29:52 +00:00
0e36f8e2d7 missing include for rand() in self-tests 2016-02-23 22:55:17 +01:00
f2afb95c5d add realloc pool to MSVC project 2016-02-22 22:06:47 +01:00
3c87629c7e realloc-pool unit-test 2016-02-22 22:06:47 +01:00
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
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
Adrian Knoth
6fa88273aa Spelling correction patch from Debian
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch>
2016-02-22 15:13:01 -05:00
ec708926fa now with return value 2016-02-17 17:03:14 +01:00
5e50a7d6cf allot to open OSX Finder with arbitrary paths 2016-02-17 16:29:25 +01:00
455f07d087 fix rare livelock in std::map thread_buffer_requests
During initial session load it's possible that two threads call
PBD::notify_event_loops_about_thread_creation() simultaneously
(in particular the process threads). This can lead to an
endless loop in stl_tree.h when assigning thread_buffer_requests[key]

Now we only have WriteLocks.. unless some better solution comes up a
Mutex will do.
2016-02-14 02:13:04 +01:00
820bd0fe51 and another typo in d442190b 2016-02-14 00:10:41 +01:00
09167d3e59 fix typos in d442190b 2016-02-14 00:02:00 +01:00
d442190b8a slightly improved windows post-export hook support. 2016-02-13 23:12:50 +01:00
73245c6217 some half-baked support for windows command-arg substitutions 2016-02-13 17:04:11 +01:00
108528b63d amend d814acb - SystemExec/Export debugging 2016-02-13 01:39:41 +01:00
d814acbb8f add some debugging capability for users of SystemExec. Needs review. 2016-02-12 18:22:12 -06:00
2429308bac Open URis with spaces. 2016-02-11 16:43:35 +01:00
57b9dab27c manually revert ec8cf4e4 with an extra comment explaining the significance 2016-02-03 11:45:23 -05:00
ec8cf4e4f5 Fix µ-iness. 2016-01-27 23:39:35 +01:00
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
cd401f5ab4 add new enums to libs/pbd enums registration 2016-01-18 12:11:09 -05:00
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
2386410e4a remove debug output 2016-01-14 11:00:50 -05:00
9ab92a67c8 use correct type of lock when removing a thread request buffer 2016-01-14 11:00:40 -05:00
35807a1929 fully clean up request buffers when a thread dies 2016-01-14 10:53:32 -05:00
077c65cc2a manually revert 4b3043cc and 141e6fb8181; add detailed explanatory comment 2016-01-14 09:05:06 -05:00
141e6fb818 don't pick up already dead thread request buffers when setting up an event loop 2016-01-13 23:25:17 -05:00
4b3043ccda use a unique key to store per-thread request buffers 2016-01-13 23:00:02 -05:00
d3ad5c16d1 yet more event loop debug tracing 2016-01-13 21:13:55 -05:00
6d04a66eea more event loop debugging 2016-01-13 19:48:17 -05:00
3e45254257 typo fix 2016-01-13 18:14:52 -05:00
f3c9f5894a lots more DEBUG_TRACE statements for analysing malfunctioning system 2016-01-13 17:03:49 -05:00
bcb865c235 improved debug trace messages from BaseUI class 2016-01-12 22:11:44 -05:00
f1d0de029d remove debug output 2016-01-10 23:34:10 -05:00
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
80a730550d clang build fix (uint32_t is not declaed) 2015-12-29 18:49:56 +01:00
23333a271e fix windows/mingw builds 2015-12-29 10:30:27 +01:00
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
d880645cac Modify our MSVC project to accommodate newly introduced/removed source files (libpbd) 2015-12-23 15:09:17 +00:00
b48d87b3ea add API to query stateful ID override mode 2015-12-17 23:18:22 +01:00
6e13b91a35 portable pthread_self() debug message 2015-12-13 11:28:56 +01:00
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
a419fb5af0 fix endless-loop-at-shutdown bug now that abstract UI request buffers are used 2015-12-12 11:12:10 -05:00