1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-14 00:14:18 +00:00
Commit graph

120 commits

Author SHA1 Message Date
reuk
39a731de46
ScopedMessageBox: Replace old AlertWindow uses with new API 2023-02-22 21:00:17 +00:00
reuk
543b001e9c FileSearchPath: Allow working with paths that are not necessarily absolute
This allows paths that are prefixed with environment variables to behave
as expected. This is useful when scanning the default LV2 locations in
the AudioPluginHost on Windows.
2023-02-01 23:05:51 +00:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
093dbc7df1
Plugin Scanning: Fix thread sanitizer issues in the AudioPluginHost 2022-01-27 18:43:22 +00:00
reuk
7da8b73a96
AudioPluginHost: Add subprocess plugin scanning feature 2021-10-14 16:56:20 +01:00
reuk
d59230aecc
AudioPluginFormat: Remove canScanOnBackgroundThread(), as it is not generally useful 2021-10-14 12:40:25 +01:00
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.
2021-10-07 14:31:26 +01:00
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.
2021-09-29 16:14:00 +01:00
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
2021-07-21 16:34:12 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
reuk
3baaad8b5b
XmlElement: Update loops to use new iterators 2021-01-28 20:14:11 +00:00
reuk
d236964410 PluginList: Fix revealing plugins 2020-10-29 15:53:33 +00:00
reuk
394c4fd475 Clang: Fix warnings when building with clang 10 2020-07-01 10:00:43 +01:00
ed
009d685179 Updated all license headers 2020-06-29 08:30:22 +01:00
Tom Poole
894e7d2bd2 Updated all license headers 2020-04-23 17:30:39 +01:00
reuk
327f817b9b Copyrights: Update commercial/gpl headers to be gpl-only 2020-04-09 15:22:56 +01:00
ed
59a058fdc6 Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough 2020-03-09 17:39:28 +00:00
ed
a54da0b832 Fixed some more typos 2020-01-07 08:53:23 +00:00
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 2019-07-18 12:33:10 +01:00
jules
4599496a42 Added some flexibility to PluginListComponent to make it easier to customise, and added some right-click popup menu options for the items 2019-07-16 17:09:18 +01:00
jules
cd4aba9e43 PopupMenu modernisation: Improved the PopupMenu::Item class to make it easy to build items by chaining calls together. 2019-06-20 13:55:18 +01:00
ed
c88611e5c8 Made KnownPluginList::addToMenu() and ::getIndexChosenByMenu() operate on a copy of the PluginDescription array so they are in sync 2019-06-19 15:30:29 +01:00
ed
08501a3705 Fixed an issue when adding plug-ins with empty paths on macOS in KnownPluginList::createTree() with sortByFileSystemLocation 2019-06-18 16:51:39 +01:00
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) 2019-06-08 09:18:15 +01:00
ed
b745ed9bd9 Fixed a potential crash in KnownPluginList::removeType() 2019-05-31 10:00:27 +01:00
Tom Poole
a9a0f6b92f Enforced more comprehensive const-correctness in the JUCE container classes 2019-05-29 08:52:16 +01:00
ed
92a9c37bac Deprecated some thread unsafe methods in KnownPluginList and modernised the interface a bit 2019-05-23 14:22:56 +01:00
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! 2019-05-15 11:02:03 +01:00
jules
6463529371 Another batch of conversion of methods which returned bare XmlElement* to return unique_ptrs 2019-05-15 11:02:03 +01:00
jules
b6f0b2d0aa Tweaked the re-entrancy check on the PluginListComponent scan 2019-03-15 12:42:04 +00:00
ed
a234721110 Added various clang-tidy modernize-* fixes 2019-01-31 15:15:31 +00:00
jules
cdb55f70c2 Changes to avoid some clang warnings 2019-01-18 08:59:28 +00:00
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 2018-12-20 17:13:17 +00:00
jules
7ab4d1708b Some misc cleanups, mainly around WeakReference usage and rectangles 2018-07-09 16:00:45 +01:00
jules
974b4a8351 Removed some legacy friend class declarations that are no longer needed with modern compilers 2018-06-13 17:11:37 +01:00
Tom Poole
ab863a6dc2 Replaced all usage of ScopedPointer with std::unique_ptr 2018-04-19 20:27:47 +01:00
ed
cdbc28c18b Add documentation tags 2018-03-15 12:10:32 +00:00
jules
bb5bbf32a9 Added options to PluginListComponent and PluginDirectoryScanner to allow scanning of a specific set of files 2018-01-31 15:12:37 +00:00
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! 2018-01-17 11:23:12 +00:00
jules
1a60fa9765 More ScopedPointer/unique_ptr compatibility work 2018-01-10 17:35:08 +00:00
jules
4fcedf7be5 Standardised some lambda syntax 2018-01-08 10:28:41 +00:00
jules
ce8b2d865a Used Button::onClick to simplify a bunch of library classes and demo code 2018-01-03 11:06:04 +00:00
Tom Poole
510fa0c22b Made the sorting of plug-ins in KnownPluginList case-insensitive 2017-12-20 15:02:26 +00:00
Tom Poole
e174bb26bd A minor code tidyup 2017-12-19 16:12:31 +00:00
Tom Poole
cff37f5b6a Fixed some const violation errors 2017-12-19 12:44:24 +00:00
jules
d4a7afa73f Replaced some old juce-style sort operations with std::sort and lambdas 2017-11-03 16:35:11 +00:00
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) 2017-11-01 17:41:06 +00:00
jules
3d7c777238 Some light modernisation of a bunch of old code 2017-10-04 12:47:43 +01:00
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 2017-09-08 08:59:55 +01:00