reuk
67396435e5
DynamicObject: Add virtual functions that are called to indicate a property change
2024-10-20 22:59:39 +01:00
Anthony Nicholls
1e5c88899e
JSON: Use UTF8 encoding by default
2024-09-06 15:40:39 +00:00
attila
95e71b10b0
FixedSizeFunction: Replace std::aligned_storage_t to avoid C++23 warning
...
We are ignoring warning 4324, which warns us that a FixedSizeFunction<4>
will have it's size increased to 8 bytes, due to the minimum alignment
requirement of 8 bytes.
2024-08-15 11:15:15 +02:00
Anthony Nicholls
2e6ee49cfa
ListenerList: Add a LightweightListenerList class
...
When extra guarantees were added to ListenerList to guard against mutations of
the list from callbacks, it also resulted in removing a previously observable
guarantee that calls to the listeners could be made concurrently as long as
those listeners were themselves thread safe. This commit adds a new class that
restores that behaviour for anybody who needs it.
2024-08-01 16:10:09 +00:00
reuk
ef31cbb620
DynamicObject: Make virtual functions non-virtual
2024-07-29 16:09:53 +01:00
Anthony Nicholls
0d8f2c63ec
ListenerList: Assert if initialisation could throw for any reason other than a bad allocation
2024-06-27 14:17:37 +01:00
Anthony Nicholls
06fb8f4ea2
ListenerList: Fix a bug where removing a listener during a callback in which it had also been added prevents other listeners from being called
2024-06-27 14:14:25 +01:00
Anthony Nicholls
43762c7575
ListenerList: Move unit tests into separate file
2024-06-27 14:14:25 +01:00
Anthony Nicholls
29cb346db2
ListenerList: Prevent a data race while clearing the list
2024-06-13 11:22:04 +01:00
Anthony Nicholls
c4d5ffa7ab
ListenerList: Add a thread safe ListenerList type
2024-06-07 20:25:39 +01:00
Anthony Nicholls
0dfff1454c
ListenerList: Optimise empty listener list
2024-06-07 20:25:39 +01:00
Tom Poole
94d98a2b10
Update licensing information
2024-04-16 11:39:35 +01:00
Anthony Nicholls
fe00442335
Copyright: Fix incorrect or inconsistent copyright notices
2024-03-25 10:22:58 +00:00
Tom Poole
a028f277c1
Docs: Fix a typo
2024-01-31 12:43:33 +00:00
reuk
047448fbce
Warnings: Add missing overrides
2024-01-30 11:37:30 +00:00
Anthony Nicholls
67570d34c4
ListenerList: Prevent calling any listeners that are added during a callback
...
This fixes an edge case in which if listeners are both removed and added during a callback the added listener(s) may be called during the same iteration
2024-01-15 17:17:58 +00:00
Anthony Nicholls
b05b73fb49
ListenerList: Fix some edge cases when iterating the listeners
...
- Prevent out of scope access of the listeners lock
- Allow clearing the listener list from a callback
2024-01-12 11:22:03 +00:00
reuk
224c4f706b
JSON: Add new JSON::Formatter for configuring JSON output
...
This also fixes an issue where MIDI CI header data could contain spaces,
which is not allowed according to the spec.
2023-12-06 20:25:22 +00:00
Tom Poole
2c7043319b
Doxygen updates
2023-11-20 13:14:20 +00:00
reuk
387ab88c13
Span: Add missing move constructors
2023-10-31 10:58:06 +00:00
reuk
cb44d72b78
EnumerateIterator: Add utility for concisely enumerating ranges
2023-10-30 14:45:24 +00:00
Tom Poole
6bf9bb9a2e
Add final specifiers in implementation files
2023-10-10 16:12:38 +01:00
Anthony Nicholls
158220ddfa
Formatting: Use nested namespace definitions
2023-10-09 14:49:18 +01:00
Nathan Blair
65f55e17ac
Docs: abstract FIFO example
2023-10-02 16:43:15 +01:00
Tom Poole
4153d59e39
Formatting
2023-10-02 15:42:20 +01:00
reuk
dd30569b3e
Formatting: Add missing newlines
2023-09-27 15:22:11 +01:00
reuk
d8b71b4eef
VariantConverter: Use FromVar and ToVar as a fallback
2023-09-26 11:21:45 +01:00
reuk
1bc90055b9
DynamicObject: Add const overload for getProperties
2023-09-26 11:05:56 +01:00
reuk
a4dfd8d6c6
FixedSizeFunction: Allow sinking of rvalue arguments for functions returning void
2023-09-20 18:40:53 +01:00
Tom Poole
9b041f3d74
Add a base clang-tidy configuration
2023-09-18 11:24:19 +01:00
Oliver James
7d9cdd3016
Audio: Add AudioWorkgroup support
...
This allows real-time threads to join an audio workgroup on Apple platforms.
2023-08-30 12:03:47 +01:00
reuk
6420ab31b6
DynamicObject: Update signature of clone to return unique_ptr
2023-08-23 20:31:54 +01:00
reuk
679a33d657
ScopeGuard: Add new heavyweight ErasedScopeGuard type
2023-08-23 20:31:54 +01:00
Tom Poole
ff835be2ac
Doxygen: Fix some Doxygen issues
2023-07-17 18:24:01 +01:00
reuk
c93ac07202
Array: Add missing floating point equality warning suppression
2023-04-11 12:36:19 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible
2023-04-04 19:55:11 +01:00
reuk
f1f68007c6
Containers: Add simple Span implementation
2023-02-14 22:29:01 +00:00
Tom Poole
a28597c3c9
Fix GCC 12 compiler warnings
2023-01-31 12:54:56 +00:00
reuk
b46edc31ce
Optional: Make operator bool() explicit
2023-01-04 15:00:33 +00:00
reuk
2dc90bd6e6
Variant: Remove unnecessary definitions of static constexpr data members
2022-12-07 13:12:01 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]]
2022-12-01 11:41:50 +00:00
reuk
7c14c1fcd7
Use more concise stdlib type aliases
2022-09-26 18:03:47 +01:00
reuk
7391d18b8e
Optional: Implement in terms of std::optional
2022-09-12 16:14:57 +01:00
Tom Poole
784f82ffec
Fix some Doxygen issues
2022-06-16 16:19:10 +01:00
reuk
891daf1332
Optional: Update implementation to improve debugging experience
...
This patch also makes Optional public to end users.
2022-06-16 16:17:53 +01:00
Tom Poole
2ec861d99e
Update licensing banners to JUCE 7
2022-05-16 17:55:48 +01:00
attila
e6cf6ab064
ListenerList: Modify iterator during removals to guarantee callback
2022-05-11 16:06:18 +02:00
reuk
5705a83065
ListenerList: Remove deprecation warning
2022-04-22 14:18:49 +01:00
reuk
5d096b46d7
Add simple Optional type
2022-04-22 14:18:48 +01:00
Tom Poole
dea3fe60e4
Update copyright banners
2022-04-04 12:36:32 +01:00