Commit graph

1650 commits

Author SHA1 Message Date
Robin Gareus
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
Robin Gareus
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
Robin Gareus
bd8525e5f1
Remove deprecated PBD::SignalN 2024-10-18 20:46:31 +02:00
Robin Gareus
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
Paul Davis
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
Paul Davis
7901b4119f we're gonna need a bigger debug set 2024-10-17 07:44:31 -06:00
Paul Davis
911ad78c06 add API to access PBD::UndoHistory member of HistoryOwner 2024-10-17 07:44:31 -06:00
Paul Davis
8c086693af show HistoryOwner::_name in DEBUG_TRACE messages 2024-10-17 07:44:31 -06:00
Paul Davis
d30c8a1286 abstract concept of a history owner from ARDOUR::Session into libpbd 2024-10-17 07:44:31 -06:00
Paul Davis
7799adc8db make Stateful a virtual base class of StatefulDestructible
This permits dual inheritance from Stateful.
2024-10-17 07:44:29 -06:00
Robin Gareus
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
Robin Gareus
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
Robin Gareus
dab22a7c70
Explicitly set Windows Process Scheduling Class 2024-09-30 19:57:53 +02:00
Robin Gareus
ed437afda7
Fix thread priorities for Windows builds 2024-09-30 19:07:53 +02:00
Robin Gareus
1d921dec0b
Debug thread sched_priority 2024-09-28 14:47:52 +02:00
Robin Gareus
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
Robin Gareus
395833e4f8
Always use PBD API for thread priorities 2024-09-28 03:58:48 +02:00
Robin Gareus
dcd79f3135
Debug Backend thread creation 2024-09-28 03:16:50 +02:00
Robin Gareus
aeb4f925c6
PBD pthreads: allow unlimited stacksize 2024-09-28 03:16:45 +02:00
Robin Gareus
e8445d13ec
Require thread name to be passed to PBD::Thread and store thread 2024-09-28 03:16:30 +02:00
Robin Gareus
88a24ae8e5
Let PBD::Thread set thread-name 2024-09-28 03:16:07 +02:00
Robin Gareus
538a8cbccc
Consolidate calls to `pthread_create' (2/2) 2024-09-28 03:16:02 +02:00
Robin Gareus
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
Robin Gareus
c4fdd5356c
Enable debugging for stored threads 2024-09-28 03:14:16 +02:00
Robin Gareus
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
Robin Gareus
b50477e608
Exclude monitor gain from mixer scenes 2024-07-15 00:43:51 +02:00
Paul Davis
ac004eee70 avoid all potential charset conversion when displaying an error relating to filename errors 2024-05-22 15:59:49 -06:00
Robin Gareus
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
Robin Gareus
5b9e4fff63
Parallelize Disk I/O and RegionFx processing 2024-04-30 03:46:39 +02:00
Robin Gareus
44610c7877
Fix RCU race condition (see source for details) 2024-04-12 00:26:51 +02:00
Robin Gareus
2fe22eeab5
Fix header include, potential fix for #9649 2024-02-29 03:09:00 +01:00
Robin Gareus
a8c26dbfa4
Fix localtime_r check (#9554) 2023-11-28 17:05:03 +01:00
Nils Philippsen
e995daa375 Fix failure to build with libxml2 version 2.12
This declared some xmlError pointers const, which probably was always
assumed, but not made explicit.

Signed-off-by: Nils Philippsen <nils@tiptoe.de>
2023-11-25 00:30:04 +01:00
Mads Kiilerich
88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
Mads Kiilerich
1c686f4d63 wscript: drop additional configure statements already present in the top level wscript
Missed in 8bb91099c5.
2023-10-15 10:47:16 -06:00
John Emmas
ea8742b030 #include <sys/utime.h> when building with MSVC 2023-09-27 09:36:26 +01:00
Robin Gareus
6494214622
Add option to prefer file timestamps with recursive copy 2023-09-27 02:22:22 +02:00
Mads Kiilerich
c5e7e5c4df pbd: clarify int62_t comments 2023-09-20 12:51:52 -06:00
Mads Kiilerich
f1bb18ae53 wscript: drop unused path_prefix
It is not referenced anywhere, and also not set consistently.
2023-09-17 07:34:55 -06:00
Mads Kiilerich
d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00