| @@ -9,6 +9,7 @@ include ../Makefile.mk | |||
| # -------------------------------------------------------------- | |||
| BUILD_CXX_FLAGS += -I../backend -I../includes -I../utils -isystem ../modules | |||
| BUILD_CXX_FLAGS += -I../includes/ladspa -I../includes/vst -I../includes/vst3 | |||
| #-Wno-multichar | |||
| ifeq ($(MACOS),true) | |||
| @@ -1,37 +0,0 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library. | |||
| Copyright (c) 2013 - Raw Material Software Ltd. | |||
| Permission is granted to use this software under the terms of either: | |||
| a) the GPL v2 (or any later version) | |||
| b) the Affero GPL v3 | |||
| Details of these licenses can be found at: www.gnu.org/licenses | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.juce.com for more information. | |||
| ============================================================================== | |||
| */ | |||
| FileFilter::FileFilter (const String& filterDescription) | |||
| : description (filterDescription) | |||
| { | |||
| } | |||
| FileFilter::~FileFilter() | |||
| { | |||
| } | |||
| const String& FileFilter::getDescription() const noexcept | |||
| { | |||
| return description; | |||
| } | |||
| @@ -1,73 +0,0 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library. | |||
| Copyright (c) 2013 - Raw Material Software Ltd. | |||
| Permission is granted to use this software under the terms of either: | |||
| a) the GPL v2 (or any later version) | |||
| b) the Affero GPL v3 | |||
| Details of these licenses can be found at: www.gnu.org/licenses | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.juce.com for more information. | |||
| ============================================================================== | |||
| */ | |||
| #ifndef JUCE_FILEFILTER_H_INCLUDED | |||
| #define JUCE_FILEFILTER_H_INCLUDED | |||
| //============================================================================== | |||
| /** | |||
| Interface for deciding which files are suitable for something. | |||
| For example, this is used by DirectoryContentsList to select which files | |||
| go into the list. | |||
| @see WildcardFileFilter, DirectoryContentsList, FileListComponent, FileBrowserComponent | |||
| */ | |||
| class JUCE_API FileFilter | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| /** Creates a filter with the given description. | |||
| The description can be returned later with the getDescription() method. | |||
| */ | |||
| FileFilter (const String& filterDescription); | |||
| /** Destructor. */ | |||
| virtual ~FileFilter(); | |||
| //============================================================================== | |||
| /** Returns the description that the filter was created with. */ | |||
| const String& getDescription() const noexcept; | |||
| //============================================================================== | |||
| /** Should return true if this file is suitable for inclusion in whatever context | |||
| the object is being used. | |||
| */ | |||
| virtual bool isFileSuitable (const File& file) const = 0; | |||
| /** Should return true if this directory is suitable for inclusion in whatever context | |||
| the object is being used. | |||
| */ | |||
| virtual bool isDirectorySuitable (const File& file) const = 0; | |||
| protected: | |||
| //============================================================================== | |||
| String description; | |||
| }; | |||
| #endif // JUCE_FILEFILTER_H_INCLUDED | |||
| @@ -1,73 +0,0 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library. | |||
| Copyright (c) 2013 - Raw Material Software Ltd. | |||
| Permission is granted to use this software under the terms of either: | |||
| a) the GPL v2 (or any later version) | |||
| b) the Affero GPL v3 | |||
| Details of these licenses can be found at: www.gnu.org/licenses | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.juce.com for more information. | |||
| ============================================================================== | |||
| */ | |||
| WildcardFileFilter::WildcardFileFilter (const String& fileWildcardPatterns, | |||
| const String& directoryWildcardPatterns, | |||
| const String& desc) | |||
| : FileFilter (desc.isEmpty() ? fileWildcardPatterns | |||
| : (desc + " (" + fileWildcardPatterns + ")")) | |||
| { | |||
| parse (fileWildcardPatterns, fileWildcards); | |||
| parse (directoryWildcardPatterns, directoryWildcards); | |||
| } | |||
| WildcardFileFilter::~WildcardFileFilter() | |||
| { | |||
| } | |||
| bool WildcardFileFilter::isFileSuitable (const File& file) const | |||
| { | |||
| return match (file, fileWildcards); | |||
| } | |||
| bool WildcardFileFilter::isDirectorySuitable (const File& file) const | |||
| { | |||
| return match (file, directoryWildcards); | |||
| } | |||
| //============================================================================== | |||
| void WildcardFileFilter::parse (const String& pattern, StringArray& result) | |||
| { | |||
| result.addTokens (pattern.toLowerCase(), ";,", "\"'"); | |||
| result.trim(); | |||
| result.removeEmptyStrings(); | |||
| // special case for *.*, because people use it to mean "any file", but it | |||
| // would actually ignore files with no extension. | |||
| for (int i = result.size(); --i >= 0;) | |||
| if (result[i] == "*.*") | |||
| result.set (i, "*"); | |||
| } | |||
| bool WildcardFileFilter::match (const File& file, const StringArray& wildcards) | |||
| { | |||
| const String filename (file.getFileName()); | |||
| for (int i = wildcards.size(); --i >= 0;) | |||
| if (filename.matchesWildcard (wildcards[i], true)) | |||
| return true; | |||
| return false; | |||
| } | |||
| @@ -1,82 +0,0 @@ | |||
| /* | |||
| ============================================================================== | |||
| This file is part of the JUCE library. | |||
| Copyright (c) 2013 - Raw Material Software Ltd. | |||
| Permission is granted to use this software under the terms of either: | |||
| a) the GPL v2 (or any later version) | |||
| b) the Affero GPL v3 | |||
| Details of these licenses can be found at: www.gnu.org/licenses | |||
| JUCE is distributed in the hope that it will be useful, but WITHOUT ANY | |||
| WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||
| A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||
| ------------------------------------------------------------------------------ | |||
| To release a closed-source product which uses JUCE, commercial licenses are | |||
| available: visit www.juce.com for more information. | |||
| ============================================================================== | |||
| */ | |||
| #ifndef JUCE_WILDCARDFILEFILTER_H_INCLUDED | |||
| #define JUCE_WILDCARDFILEFILTER_H_INCLUDED | |||
| //============================================================================== | |||
| /** | |||
| A type of FileFilter that works by wildcard pattern matching. | |||
| This filter only allows files that match one of the specified patterns, but | |||
| allows all directories through. | |||
| @see FileFilter, DirectoryContentsList, FileListComponent, FileBrowserComponent | |||
| */ | |||
| class JUCE_API WildcardFileFilter : public FileFilter | |||
| { | |||
| public: | |||
| //============================================================================== | |||
| /** | |||
| Creates a wildcard filter for one or more patterns. | |||
| The wildcardPatterns parameter is a comma or semicolon-delimited set of | |||
| patterns, e.g. "*.wav;*.aiff" would look for files ending in either .wav | |||
| or .aiff. | |||
| Passing an empty string as a pattern will fail to match anything, so by leaving | |||
| either the file or directory pattern parameter empty means you can control | |||
| whether files or directories are found. | |||
| The description is a name to show the user in a list of possible patterns, so | |||
| for the wav/aiff example, your description might be "audio files". | |||
| */ | |||
| WildcardFileFilter (const String& fileWildcardPatterns, | |||
| const String& directoryWildcardPatterns, | |||
| const String& description); | |||
| /** Destructor. */ | |||
| ~WildcardFileFilter(); | |||
| //============================================================================== | |||
| /** Returns true if the filename matches one of the patterns specified. */ | |||
| bool isFileSuitable (const File& file) const; | |||
| /** This always returns true. */ | |||
| bool isDirectorySuitable (const File& file) const; | |||
| private: | |||
| //============================================================================== | |||
| StringArray fileWildcards, directoryWildcards; | |||
| static void parse (const String& pattern, StringArray& result); | |||
| static bool match (const File& file, const StringArray& wildcards); | |||
| JUCE_LEAK_DETECTOR (WildcardFileFilter) | |||
| }; | |||
| #endif // JUCE_WILDCARDFILEFILTER_H_INCLUDED | |||