13
0
Commit Graph

1225 Commits

Author SHA1 Message Date
d00650c2fd
Another attempt at improving spinlock init 2019-07-28 15:01:40 +02:00
d382b756c2
Follow up d8ae3fd
Depending on implementation, d8ae3fd may only construct the spinlock
once to `sl_init`. Later it is only copy-constructed and that leads to
compile and/or runtmime errors.

e.g. gcc-8.3 fails to compile
error: use of deleted function ‘boost::detail::spinlock::spinlock(const boost::detail::spinlock&)’
2019-07-28 14:57:51 +02:00
d8ae3fd3a6 MSVC requires an already initialized object to initialize our boost::detail::spinlock (rather than the simpler #define)
Hopefully this'll work for the other builds too.
2019-07-27 12:31:15 +01:00
8a8468c5f1
Correctly initialize spintlock_t
Depending on underlying implementation, boost::detail::spinlock
needs to be explicitly initialized
2019-07-26 21:40:39 +02:00
78fc6d6651
Prefix all env variable with "ARDOUR_"
In particular "CONCURRENCY" can be problematic. But in general
it's good practice to use a namespace prefix for app-specifics.
2019-07-26 16:44:29 +02:00
929ecf622b
Add lock-free multiple producer multiple reader queue 2019-07-10 20:21:06 +02:00
e76e18af96
Use exit-status macros for compatibility 2/3 2019-07-04 22:21:35 +02:00
94036cc7c0 Correct a typo that crept in somewhere 2019-04-14 19:34:37 +01:00
2f91bdfa53
NO-OP: <tab> after <space> fixes in libs 2019-04-13 19:19:29 +02:00
6631d97ac0
Mixbus likes hyperthreading on Mac 2019-04-12 18:30:52 +02:00
e4f18c1771
NO-OP: whitespace & revert samples -> [stack]frames 2019-04-08 00:35:00 +02:00
86138d18f9
Remove extra quotes from meta-data
Arguments are passed as argp[] array to execve() and don't need to be
enclosed by quotes.
2019-03-26 22:12:48 +01:00
854de91fb0
Fix mingw compile (declare int64_t and int32_t) 2019-03-26 15:35:36 +01:00
da114c5a4d
Remove static Destroyed(*), prefer StatefulDestructable API
This also add a debug-dump method to show remaining registered
Controllables.
2019-03-23 16:15:23 +01:00
087fd57d37
Re-add Controllable registry
To facilitate a central registry with weak/shared pointer lookup,
  enable_shared_from_this<ARDOUR::AutomationControl>
was migrated to
  enable_shared_from_this<PBD::Controllable>

The main (and only) user is generic-midi surface's state interface :(
2019-03-23 04:23:43 +01:00
16fe286ed9
Use weak-pointer for Controllable learning 2019-03-23 01:50:45 +01:00
1dedadd03f
Remove c-pointer Controllable* registry 2019-03-23 01:42:03 +01:00
9a1c22d7e1
Remove unusued API Create/Delete Binding 2019-03-23 01:28:23 +01:00
b53d80a7d4 make PlaybackBuffer<T>'s power-of-two size computation available to others 2019-03-18 07:39:23 -07:00
15cd1163fc
Pass stderr mode properly to vfork wrapper 2019-03-07 23:51:04 +01:00
8b5437301b
Close stderr of child processes on MacOS
This fixes a bug on some modern mac systems. Related to
setup_logging() changing stderr to use ASL and write to com.apple.console.

When a forked application writes to stderr while ASL is used,
the child is terminated for some reason.
2019-03-05 22:52:53 +01:00
e1ffe7857f
Use enum for exec stderr parameter (1/2) 2019-03-05 22:49:15 +01:00
c83ba53399
Remove ancient, unmaintained xcode project files 2019-02-28 18:12:44 +01:00
7ae1825a3c
Remove cruft, unused files 2019-02-28 18:04:42 +01:00
c6e2e0a948
Clean up remnants from a half eaten apple 2019-02-28 18:00:08 +01:00
7048d86d6c
Remove unused define 2019-02-26 03:49:02 +01:00
6920e5d653
Prefer vfork() over system() when opening an URI
see also https://github.com/surge-synthesizer/surge/issues/657
2019-02-26 03:47:36 +01:00
35609bcfed
Fix some signed/unsigned warnings 2019-02-16 01:10:50 +01:00
865a33f7b9
Properly initialize atomic variable 2019-02-08 19:33:23 +01:00
a6e7abb7fa Accommodate newly introduced source(s) in our MSVC project (libpbd) 2019-02-08 10:17:57 +00:00
3c96ba1de6
Allow reading future data without read-commit
This is in preparation for de-click, fade-out. A disk-reader
can keep going, reading buffered data (if any) without changing the
read-index.
2019-02-07 01:31:15 +01:00
6975b5ca54
Prepare buffer for seeking
Keep track of safe reservation:
Data has been read (or was skipped) previously can be read again
up to the allocated "reservation" (which is never overwritten).
2019-02-06 19:00:15 +01:00
b3fda6236a
Optimize buffer zero-filling 2019-02-06 17:02:20 +01:00
007c4ffdc0
Towards a new disk-reader ringbuffer
This is mainly a NO-OP, introducing a new PlaybackBuffer type
and preparing for its use.

At this point in time, the buffer is just a power-of-two sized
ringbuffer and the disk-reader's read-logic is still unchanged.

Eventually the read and write sample position that are currently
private to the disk-reader can be migrated to be owned by the buffer.
Also Diskreader::read() positions can be matched to read-position ..
+/- buffer reservation and de-click can read w/o committing the read.
2019-02-05 23:29:31 +01:00
28f211c5d2
NO-OP: whitespace 2019-01-23 12:59:17 +01:00
87602e7fb3
system-exec read: allow 1 byte for null termination -- #7715 2019-01-23 12:44:10 +01:00
bf728520ca
Optimize exponential interpolation. 2019-01-19 12:08:54 +01:00
55bc0eec91 adjustments for latest boost shared_ptr debug patch 2018-12-19 17:19:51 -05:00
1759d1c9c9
Fix a tiny memory-leak when calling vfork 2018-11-29 02:06:42 +01:00
d169864b5b Prepare session-metadata export to external command 2018-11-20 23:56:12 +01:00
d18b247a05 Fix Windows and Mac Builds
* missing include for locale_to_utf8 (amend 4c6ff5f7e7)
* avoid void* arithemtic (amend 103ef2ba)
2018-11-19 12:54:07 +01:00
103ef2ba08 Add API to write raw data to child processes. 2018-11-19 02:26:43 +01:00
7c3fd2fe79 Glib throws a const FileError exception 2018-10-26 13:40:03 +02:00
8ed33f1bc7 remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
78a3683233 Consolidate relative sched_get_priority computation 2018-10-11 15:29:50 +02:00
9506a294c7 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 1 of 3 (more to follow)
2018-09-30 08:56:12 +01:00
497a3fbaa1 Fix --no-nls (2/5), prefer #if in libs
This is for consistency with system-wide gettext.h which is used
by some 3rd party libs. system-wide gettext uses `#if ENABLE_NLS`,
not #ifdef
2018-09-21 19:03:33 +02:00
79f01bc889 Initial changes needed for building Mixbus (with MSVC) as version 5
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
fb4ff01a18 better debug message with correct namespace for EventLoop::invalidate_request() 2018-08-07 10:44:56 -04:00
07466440c4 Move a couple of #undef's
'pbd/timing.h' now includes a call to 'std::numeric_limits<>::max()'
2018-05-19 09:28:30 +01:00