4a99026cc9
Revert "Replace boost::aligned_storage with alignas std::array"
...
This reverts commit 32ff87f7f6
.
This causes issues on macOS/clang
```
../libs/pbd/pbd/stack_allocator.h:152:53: note: destructor of 'StackAllocator<std::__tree_node<std::__value_type<ARDOUR::DataType, std::map<unsigned int, unsigned int, std::less<unsigned int>, PBD::StackAllocator<std::pair<const unsigned int, unsigned int>, 16>>>, void *>, 2>' is implicitly deleted because field '_buf' has a deleted destructor
152 | alignas(16) std::array<value_type, stack_capacity> _buf;
```
2024-11-19 18:03:23 +01:00
Alejandro Domínguez
fa57d5ed86
Disambiguate std and boost placeholder
2024-11-17 20:20:23 +01:00
Alejandro Domínguez
32ff87f7f6
Replace boost::aligned_storage with alignas std::array
2024-11-17 18:43:08 +01:00
b8e1f67b75
C++ demangnling: make it work on macOS as well as linux
2024-11-10 22:07:58 -07:00
Mads Kiilerich
b4ff4f356c
Make header files more self-contained - add missing Ardour and lib includes
2024-10-20 03:30:46 +02:00
Mads Kiilerich
8a5f21d8e3
Drop some unused files - avoid trying to maintain stuff that can't be tested
2024-10-20 03:11:53 +02:00
Mads Kiilerich
140670541f
Use .inc.h for #include files that not are plain headers
...
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
2024-10-20 03:11:53 +02:00
0d71876189
signals_generated.h is no longer required
2024-10-19 21:54:34 +02:00
74c4ca3e52
Reduce reliance on boost - the hard part
...
the rest from `tools/convert_boost.sh`.
* replace boost::function, boost::bind with std::function and std::bind.
This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
ff95d81612
Reduce reliance on boost - the easy part
...
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
Alejandro Domínguez
2436b4df06
Replace boost::noncopyable with C++11 deleted copy constructors
2024-10-19 01:04:15 +02:00
Alejandro Domínguez
1ffb70f670
Replace boost::scoped_ptr with std::unique_ptr (1/2)
2024-10-19 01:04:14 +02:00
bd8525e5f1
Remove deprecated PBD::SignalN
2024-10-18 20:46:31 +02:00
2d7cce44f1
Replace PBD::Signals (1/2)
2024-10-18 20:41:08 +02:00
Alejandro Domínguez
0ade0b2212
Deduplicate SignalWithCombiner<Combiner, void, A...> specialization
2024-10-18 20:41:08 +02:00
Alejandro Domínguez
16dd8528c8
Make SignalN template variadic
2024-10-18 20:41:05 +02:00
75f56cd3e1
the great onceification (libs)
...
Replace use of #ifndef header guards with #pragma once
Modern C++, baby!
2024-10-17 07:44:31 -06:00
7901b4119f
we're gonna need a bigger debug set
2024-10-17 07:44:31 -06:00
911ad78c06
add API to access PBD::UndoHistory member of HistoryOwner
2024-10-17 07:44:31 -06:00
8c086693af
show HistoryOwner::_name in DEBUG_TRACE messages
2024-10-17 07:44:31 -06:00
d30c8a1286
abstract concept of a history owner from ARDOUR::Session into libpbd
2024-10-17 07:44:31 -06:00
7799adc8db
make Stateful a virtual base class of StatefulDestructible
...
This permits dual inheritance from Stateful.
2024-10-17 07:44:29 -06:00
8115578d4e
Add RT thread priority debugging
2024-10-14 21:49:56 +02:00
John Emmas
fd8808d7b8
Minor declaration issue that upsets MSVC/c++17
2024-10-13 11:39:48 +01:00
0aff098541
Fix IO Thread priority
...
This adds `pbd_pthread_priority` indirection to correctly get
the absolute thread priority.
and for consistency a 4 letter enum is used.
2024-10-11 10:06:49 +02:00
John Emmas
07c79ce92c
Small changes to make pthread_utils.cc buildable again with MSVC
2024-10-01 20:28:16 +01:00
dab22a7c70
Explicitly set Windows Process Scheduling Class
2024-09-30 19:57:53 +02:00
ed437afda7
Fix thread priorities for Windows builds
2024-09-30 19:07:53 +02:00
1d921dec0b
Debug thread sched_priority
2024-09-28 14:47:52 +02:00
dd4a1a6d73
Set thread priority relative to backend
...
This also removed direct calls to backend real_time_priority
for good measure.
2024-09-28 04:15:39 +02:00
395833e4f8
Always use PBD API for thread priorities
2024-09-28 03:58:48 +02:00
dcd79f3135
Debug Backend thread creation
2024-09-28 03:16:50 +02:00
aeb4f925c6
PBD pthreads: allow unlimited stacksize
2024-09-28 03:16:45 +02:00
e8445d13ec
Require thread name to be passed to PBD::Thread and store thread
2024-09-28 03:16:30 +02:00
88a24ae8e5
Let PBD::Thread set thread-name
2024-09-28 03:16:07 +02:00
538a8cbccc
Consolidate calls to `pthread_create' (2/2)
2024-09-28 03:16:02 +02:00
8d3ebde60e
Distinguish Threads and ThreadName debugging
...
This also allows for -DThread to enable both.
We celebrate the 128th debug bit and look forward to
the next 64!
2024-09-28 03:15:36 +02:00
c4fdd5356c
Enable debugging for stored threads
2024-09-28 03:14:16 +02:00
d257c8c0ce
Prevent endless recursive directory scans
...
This can happen when a folder symlinks to itself or subfolders
in some similar recursive pattern.
2024-09-08 01:33:57 +02:00
Alejandro Domínguez
867eaa0b13
Remove unused libs/pbd/pbd/stl_functors.h
2024-09-01 19:17:10 +02:00
Alejandro Domínguez
17275239db
Remove boost-debug
2024-08-29 23:08:42 +02:00
Alejandro Domínguez
c0062fff86
Remove #include <boost/shared_ptr.hpp>
2024-08-29 23:08:42 +02:00
Mads Kiilerich
8633e82891
commandline: Allow -D to be specified multiple times
...
Yes, -D takes a comma separated list, but it is still confusing and
unnecessary that the first -D options were silently ignored.
2024-07-25 13:48:38 +02:00
b50477e608
Exclude monitor gain from mixer scenes
2024-07-15 00:43:51 +02:00
ac004eee70
avoid all potential charset conversion when displaying an error relating to filename errors
2024-05-22 15:59:49 -06:00
63b5c9ea2b
Trying to track down mysterious cxxabiv1::failed_throw
...
It seems that a `Glib::ConvertError` is thrown, and then the
function that catches the error causes another ConvertError in
`err.what()` (which presumably include the filename that
causes the error).
relevant part of the backtrace (macOS Crashdump):
```
Glib::ConvertError::throw_func(_GError*) + 56
Glib::Error::throw_exception(_GError*) + 292
Glib::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, Glib::ustring const&) + 131
StringPrivate::Composition& StringPrivate::Composition::arg<Glib::ustring>(Glib::ustring const&) + 25
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > string_compose<Glib::ustring> (...) + 81
PBD::run_functor_for_paths(...) + 1313
```
2024-05-22 18:36:15 +02:00
5b9e4fff63
Parallelize Disk I/O and RegionFx processing
2024-04-30 03:46:39 +02:00
44610c7877
Fix RCU race condition (see source for details)
2024-04-12 00:26:51 +02:00
2fe22eeab5
Fix header include, potential fix for #9649
2024-02-29 03:09:00 +01:00
a8c26dbfa4
Fix localtime_r check ( #9554 )
2023-11-28 17:05:03 +01:00