John Emmas
5f082e2c9d
Add an extra option when querying Windows registry keys
...
(this option will be needed when 32-bit Ardour is running in 64-bit Windows)
2020-11-09 11:35:35 +00:00
Paul Davis
f95439a502
add spinlock to RCU manager to protect concurrent reader() and update() calls
2020-11-08 11:28:10 -07:00
Robin Gareus
01f9332458
Fix RCU Unit-test on macOS/X
...
Apple's pthread does not implement barriers
2020-11-07 10:37:52 +01:00
Robin Gareus
88fc0ed392
Add RCU unit test
2020-11-05 02:24:54 +01:00
Robin Gareus
cf0904f752
Handle vfork/exec failure
...
Don't call atexit, exit without cleanup.
2020-10-31 22:33:10 +01:00
Robin Gareus
a9bd7b2848
Remove unused compile-time option to not use vfork
2020-10-31 22:30:45 +01:00
Robin Gareus
7896c30508
Fix cmdline parameter escape
2020-10-31 13:42:14 +01:00
Robin Gareus
f509a7e003
Extend convenience API to query windows registry
2020-10-30 13:15:06 +01:00
Robin Gareus
54829492ca
Fix glib/glibmm includes
2020-10-24 04:14:38 +02:00
Robin Gareus
8852069ead
Consolidate code: add library method to query Windows registry
2020-10-24 03:56:47 +02:00
Robin Gareus
1fa05b4764
Generate header before building dependency graph
2020-10-16 02:35:51 +02:00
Robin Gareus
fe8a05d6c9
libpbd signals.h depends on signals_generated.h
...
This fixes building with large concurrency where signals_generated.h
may otherwise be generated to late.
2020-10-15 05:45:51 +02:00
Robin Gareus
547032afac
Fix alignment unit-tests and ARM/NEON alignment
2020-10-15 03:55:42 +02:00
Robin Gareus
e4e94e77c9
Transmitter::Debug implementation 1/2
...
This also sorts switch() and listen_to() statements in order
of severity: debug, info, warning, error, fatal, throw.
2020-10-13 21:58:26 +02:00
Robin Gareus
9a4237ba83
Add debug transmitter
...
This is in preparation to conveniently duplicate debug messages
to Window > Log. For cases where stdout/err is not easily accessible.
2020-10-13 21:27:16 +02:00
Robin Gareus
140e03bb7d
Make windows-console setup code re-usable
2020-09-20 19:57:08 +02:00
mx
262281bc1f
Use soundtouch for vocal audio time stretching (1/2)
2020-08-26 19:04:58 +02:00
Robin Gareus
34159e4594
Fix ARM runtime NEON detection
2020-08-24 22:03:28 +02:00
Robin Gareus
a0a4477c84
Fix aarch64 builds
2020-08-24 21:26:38 +02:00
Ayan Shafqat
1f878636c8
Adding NEON detection during runtime
2020-08-24 02:06:35 +02:00
Emilio Norrmann
d21337a3a4
fixed typo
2020-08-19 19:02:37 +02:00
Robin Gareus
d3685784aa
Fix numeric sort: use decimal or hex (but not octal)
...
This fixes sort order of plugin-presets or parameter
scale-points with leading zeros.
2020-08-09 14:45:39 +02:00
Robin Gareus
c2618903ae
Allow to overload drop_references()
...
This is useful in cases where an object owns child objects
which in turn hold a reference to the parent.
In this case PluginInsert has-a Plugin, which may have a reference
to the insert or the Route.
2020-08-05 22:35:35 +02:00
Ben Loftis
a2f4521e77
Short-circuit gain interpolation if the change is negligibly small
2020-07-21 18:37:32 -05:00
Robin Gareus
fa495b7727
Account for additional TLS on macOS/X
...
On GLIBC systems pbd_stack_size() adds __pthread_get_minstack,
this is no available on mac systems, causing issues with some
libraries used by plugins.
2020-07-21 23:10:01 +02:00
Robin Gareus
6d950d15ba
Use signed int for atomic operations -- #8314
2020-07-16 16:13:21 +02:00
John Emmas
8cea355906
Moving Controllable::set_interface() into a 'cc' file makes it easier to fix our MSVC build issue (with min + max)
2020-06-20 09:38:00 +01:00
Paul Davis
71f088dbbd
move virtual method requiring std::min from header into .cc
...
The method is virtual so it could never have been inlined anyway
2020-06-18 16:26:44 -06:00
Paul Davis
0d8fac079d
The presence of "using std::***" in any header file is not acceptable. Do not revert or change this.
...
Revert "Partially revert commit #23feb0491e "
This reverts commit 3b5546cfce .
2020-06-18 16:19:18 -06:00
John Emmas
3b5546cfce
Partially revert commit # 23feb0491e
...
For MSVC, the 'using std::' statements are needed when building anything which #includes 'pbd/controllable.h' (never quite figured out why...)
2020-06-18 12:46:05 +01:00
Robin Gareus
23feb0491e
Remove using std::min/max from header
2020-06-18 01:05:48 +02:00
Robin Gareus
c424e4d61c
Allow to set group-override with common set_interface() API
2020-06-18 00:42:09 +02:00
Matthias von Faber
e3dcd1f5d7
Only try using __pthread_get_minstack on glibc
...
This is a glibc-only extension, so don't bother on other platforms.
Also, according to POSIX, PTHREAD_STACK_MIN is defined in limits.h, so
include climits just to be safe.
2020-06-09 17:39:24 +02:00
Robin Gareus
c7bce4b685
NO-OP: whitespace
2020-06-07 18:25:18 +02:00
Robin Gareus
21b8885fe9
Remove debug output (also fix some builds, missing stdio.h)
2020-06-07 18:18:58 +02:00
Robin Gareus
27e45c585f
Fix another stupid typo
2020-06-06 23:03:21 +02:00
Robin Gareus
e0548fa798
Offset stack-size by current TLS #8200
...
Some libraries use thread locals and hence increase the min
requirement.
This is seen on void-linux for example:
> linking a minimal program against cairo gives a
> __static_tls_size of 43008 bytes.
> Doing the same on Ubuntu focal and Debian bullseye,
> __static_tls_size is only 4608.
2020-06-06 19:04:26 +02:00
Robin Gareus
515ffbdfe2
Add API to create threads with given stacksize
2020-06-06 18:32:09 +02:00
Paul Davis
a660077c97
PlaybackBuffer: extend API to include write_ptr()
...
It's just useful
2020-05-13 23:55:02 -06:00
Paul Davis
98d56d6b21
Add API to PlaybackBuffer to compute amount of data that can overwritten
...
The distance is between a given offset in the buffer (probably a
read position at some point in time) and the write ptr. Any data after
the write ptr is "old" and not readable, and thus not worth overwriting
since we would not read it anyway.
2020-05-12 11:34:37 -06:00
Robin Gareus
dbcbfd7b5b
Fix builds, missing include
2020-04-24 01:53:59 +02:00
Robin Gareus
afad873a22
Fix parsing XML with blanks from memory
...
This is needed when the butler thread loads a plugin with
MIDNAM. xmlKeepBlanksDefault() setting is per thread.
see also df3a4ed9c6
2020-04-23 02:28:48 +02:00
Robin Gareus
705ac7bfc5
Prevent huge stack allocations for MIDNAM files
...
xmlParseMemory() uses a c-pointer char*.
Previously MIDNAM data on the heap were wrapped inside
a std::string only to be later accessed via c_str().
2020-04-23 02:25:38 +02:00
Robin Gareus
3d166c7789
Consolidate stack-size and priority of rt-threads
2020-04-23 01:28:58 +02:00
Robin Gareus
ea2bda6668
Fix playback alignment when adding/removing channels
...
The disk-reader assumes that all playback ringbuffers are in sync
and have the same fill_level.
2020-04-14 03:57:26 +02:00
Paul Davis
feff57d29a
prefer initialization to assignment
2020-04-08 19:56:08 -06:00
Johannes Mueller
c74cc2675e
Extend FileArchive to import archive entries individually
...
This is needed primarily for a workaround for #7971 . When importing a template
that has been exported on Ardour5 on MacOS we need to fix the paths of the
archive entries.
Later we can use this functionality also to handle imported templates if
templates with the same name already exist.
This commit only adds methods and members to FileArchive, it does not modify
anything to make regressions unlikely. This, however, leads to some duplicated
code. Eventually we should consolidate this a bit.
2020-04-05 16:34:48 +02:00
Robin Gareus
c365c6cdb2
Set thread-names (libs)
2020-03-29 14:56:22 +02:00
Robin Gareus
d6a38d5450
Set public thread name
...
This allows to identify Ardour thread using standard unix
tools (ps, htop) and inspect priorities, CPU load etc.
2020-03-29 13:55:20 +02:00
John Emmas
4dd3d4effe
Some initial changes (currently for libpbd only) to help a new contributer who's trying to build with MSVC2017
...
These changes compile okay for me (using VS2019) although they wouldn't link to my older-built libraries. Hopefully he'll be okay if he builds everything with the same compiler.
2020-03-26 10:40:36 +00:00