reuk
7da8b73a96
AudioPluginHost: Add subprocess plugin scanning feature
3 years ago
reuk
d59230aecc
AudioPluginFormat: Remove canScanOnBackgroundThread(), as it is not generally useful
3 years ago
reuk
d286e690b2
PluginListComponent: Disallow scanning VST3 plugins on background threads
Native Instrument VST3s (I tested Kontakt and Supercharger) crash when
the bundleEntry function is called from a background thread on macOS.
This change disables scanning for VST3 plugins on a background thread
using the PluginListComponent, to allow loading these plugins in the
AudioPluginHost.
I can't find any "official" word on whether the bundleEntry and
bundleExit functions should be guaranteed to be made from the main
thread. However, the VST3PluginTestHost app seems to call these
functions exclusively from the main thread.
3 years ago
ed
b9542ccc4c
Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
3 years ago
ed
551d7b9c5b
Add MessageBoxOptions class for specifying a set of AlertWindow and NativeMessageBox options
- Add AlertWindow::show() and showAsync() methods that take a MessageBoxOptions argument
- Add NativeMessageBox::show() and showAsync() methods that take a MessageBoxOptions argument
- Update the DialogsDemo to demonstrate the new methods
- Deprecate AlertWindow::showNativeDialogBox() in favour of the NativeMessageBox methods
- Pass button strings specified in MesssageBoxOptions to native dialog boxes correctly
- Use modern TaskDialog on Windows for the native dialog box where available
3 years ago
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
4 years ago
reuk
3baaad8b5b
XmlElement: Update loops to use new iterators
4 years ago
reuk
d236964410
PluginList: Fix revealing plugins
4 years ago
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
4 years ago
ed
009d685179
Updated all license headers
4 years ago
Tom Poole
894e7d2bd2
Updated all license headers
5 years ago
Tom Poole
2d16374b14
Updated all license headers
5 years ago
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
5 years ago
ed
59a058fdc6
Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough
5 years ago
ed
a54da0b832
Fixed some more typos
5 years ago
jules
6ba85cb46c
Added some static methods to all the AudioPluginFormat classes to allow their type names to be retrieved without an instance being created. Also added a method AudioPluginFormatManager::getFormats() for easier iteration of formats
5 years ago
jules
4599496a42
Added some flexibility to PluginListComponent to make it easier to customise, and added some right-click popup menu options for the items
5 years ago
jules
cd4aba9e43
PopupMenu modernisation: Improved the PopupMenu::Item class to make it easy to build items by chaining calls together.
5 years ago
ed
c88611e5c8
Made KnownPluginList::addToMenu() and ::getIndexChosenByMenu() operate on a copy of the PluginDescription array so they are in sync
5 years ago
ed
08501a3705
Fixed an issue when adding plug-ins with empty paths on macOS in KnownPluginList::createTree() with sortByFileSystemLocation
5 years ago
jules
9d120bf481
Modified PluginListComponent so that if all paths to scan are deleted, it reverts to the default set of paths for the given format (otherwise there was no way to make it reset to default)
6 years ago
ed
b745ed9bd9
Fixed a potential crash in KnownPluginList::removeType()
6 years ago
Tom Poole
a9a0f6b92f
Enforced more comprehensive const-correctness in the JUCE container classes
6 years ago
ed
92a9c37bac
Deprecated some thread unsafe methods in KnownPluginList and modernised the interface a bit
6 years ago
jules
62ead7dc7d
Added some overloads to OwnedArray to let items be added from std::unique_ptrs. Also removed OwnedArray::addIfNotAlreadyThere because it's ambiguous about whether the object should be deleted if it fails to be added!
6 years ago
jules
6463529371
Another batch of conversion of methods which returned bare XmlElement* to return unique_ptrs
6 years ago
jules
b6f0b2d0aa
Tweaked the re-entrancy check on the PluginListComponent scan
6 years ago
ed
a234721110
Added various clang-tidy modernize-* fixes
6 years ago
jules
cdb55f70c2
Changes to avoid some clang warnings
6 years ago
jules
19513f5725
Added a re-entrancy check to the plugin scanner, so that if plugins pump the message thread it'll avoid triggering nested scans
6 years ago
jules
7ab4d1708b
Some misc cleanups, mainly around WeakReference usage and rectangles
6 years ago
jules
974b4a8351
Removed some legacy friend class declarations that are no longer needed with modern compilers
7 years ago
Tom Poole
ab863a6dc2
Replaced all usage of ScopedPointer with std::unique_ptr
7 years ago
ed
cdbc28c18b
Add documentation tags
7 years ago
jules
bb5bbf32a9
Added options to PluginListComponent and PluginDirectoryScanner to allow scanning of a specific set of files
7 years ago
jules
415f0e4c90
Added an alternative version of File::findChildFiles that returns the results array rather than it being an out-parameter. In almost all cases using this new version will make your code smaller and cleaner, as you can see from all the changes in this commit!
7 years ago
jules
1a60fa9765
More ScopedPointer/unique_ptr compatibility work
7 years ago
jules
4fcedf7be5
Standardised some lambda syntax
7 years ago
jules
ce8b2d865a
Used Button::onClick to simplify a bunch of library classes and demo code
7 years ago
Tom Poole
510fa0c22b
Made the sorting of plug-ins in KnownPluginList case-insensitive
7 years ago
Tom Poole
e174bb26bd
A minor code tidyup
7 years ago
Tom Poole
cff37f5b6a
Fixed some const violation errors
7 years ago
jules
d4a7afa73f
Replaced some old juce-style sort operations with std::sort and lambdas
7 years ago
jules
2dc9316420
Misc ScopedPointer changes to start using reset() and get() rather than assignments and casts (part of an ongoing drift towards more std::unique_ptr compatibility)
7 years ago
jules
3d7c777238
Some light modernisation of a bunch of old code
7 years ago
jules
eda613c6db
Moved all "namespace juce" declarations from module headers to the individual .h and .cpp source files. This makes life a lot easier for Intellisense and other IDE autocompletion tools
7 years ago
jules
357dd2c9c9
Removed some old compiler bug workarounds
7 years ago
jules
ebe5916c49
Misc code cleanups
8 years ago
hogliux
b5afccc37c
Updated file headers and the README with the JUCE 5 license
8 years ago
hogliux
ef2c63e4e3
Added a new LookAndFeel (V4) and re-skinned the JUCE Demo and examples. Improved the JUCE Demo on mobile devices.
8 years ago