diff --git a/extras/Introjucer/Builds/MacOSX/Info.plist b/extras/Introjucer/Builds/MacOSX/Info.plist
index ad4f68de13..bdaf123c30 100644
--- a/extras/Introjucer/Builds/MacOSX/Info.plist
+++ b/extras/Introjucer/Builds/MacOSX/Info.plist
@@ -19,6 +19,8 @@
3.0.0
CFBundleVersion
3.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
CFBundleDocumentTypes
diff --git a/extras/Introjucer/Builds/VisualStudio2005/resources.rc b/extras/Introjucer/Builds/VisualStudio2005/resources.rc
index b20115c096..5123b6b162 100644
--- a/extras/Introjucer/Builds/VisualStudio2005/resources.rc
+++ b/extras/Introjucer/Builds/VisualStudio2005/resources.rc
@@ -1 +1,26 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 3,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "The Introjucer\0"
+ VALUE "FileVersion", "3.0.0\0"
+ VALUE "ProductName", "The Introjucer\0"
+ VALUE "ProductVersion", "3.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/Introjucer/Builds/VisualStudio2008/resources.rc b/extras/Introjucer/Builds/VisualStudio2008/resources.rc
index b20115c096..5123b6b162 100644
--- a/extras/Introjucer/Builds/VisualStudio2008/resources.rc
+++ b/extras/Introjucer/Builds/VisualStudio2008/resources.rc
@@ -1 +1,26 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 3,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "The Introjucer\0"
+ VALUE "FileVersion", "3.0.0\0"
+ VALUE "ProductName", "The Introjucer\0"
+ VALUE "ProductVersion", "3.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/Introjucer/Builds/VisualStudio2010/resources.rc b/extras/Introjucer/Builds/VisualStudio2010/resources.rc
index b20115c096..5123b6b162 100644
--- a/extras/Introjucer/Builds/VisualStudio2010/resources.rc
+++ b/extras/Introjucer/Builds/VisualStudio2010/resources.rc
@@ -1 +1,26 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 3,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "The Introjucer\0"
+ VALUE "FileVersion", "3.0.0\0"
+ VALUE "ProductName", "The Introjucer\0"
+ VALUE "ProductVersion", "3.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/Introjucer/Introjucer.jucer b/extras/Introjucer/Introjucer.jucer
index f3655fc78a..c2412d3371 100644
--- a/extras/Introjucer/Introjucer.jucer
+++ b/extras/Introjucer/Introjucer.jucer
@@ -10,7 +10,8 @@
pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0"
pluginSilenceInIsSilenceOut="0" pluginTailLength="0" pluginEditorRequiresKeys="0"
pluginAUExportPrefix="TheIntrojucerAU" pluginAUViewClass="TheIntrojucerAU_V1"
- pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.introjucer">
+ pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.introjucer"
+ companyName="Raw Material Software Ltd.">
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/extras/Introjucer/Source/Application/jucer_Application.h b/extras/Introjucer/Source/Application/jucer_Application.h
index 1c131b606e..b6ebea7380 100644
--- a/extras/Introjucer/Source/Application/jucer_Application.h
+++ b/extras/Introjucer/Source/Application/jucer_Application.h
@@ -555,17 +555,6 @@ private:
}
//==============================================================================
- static bool cancelAnyModalComponents()
- {
- const int numModal = ModalComponentManager::getInstance()->getNumModalComponents();
-
- for (int i = numModal; --i >= 0;)
- if (ModalComponentManager::getInstance()->getModalComponent(i) != nullptr)
- ModalComponentManager::getInstance()->getModalComponent(i)->exitModalState (0);
-
- return numModal > 0;
- }
-
class AsyncQuitRetrier : public Timer
{
public:
diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h
index f9e59f2d59..782831525a 100644
--- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h
+++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_Android.h
@@ -61,10 +61,10 @@ public:
getSDKPath() = "${user.home}/SDKs/android-sdk-macosx";
if (getNDKPath().toString().isEmpty())
- getNDKPath() = "${user.home}/SDKs/android-ndk-r7";
+ getNDKPath() = "${user.home}/SDKs/android-ndk-r7b";
if (getMinimumSDKVersion().toString().isEmpty())
- getMinimumSDKVersion() = 7;
+ getMinimumSDKVersion() = 8;
if (getInternetNeeded().toString().isEmpty())
getInternetNeeded() = true;
@@ -101,6 +101,9 @@ public:
props.add (new TextPropertyComponent (getNDKPath(), "Android NDK Path", 1024, false),
"The path to the Android NDK folder on the target build machine");
+ props.add (new TextPropertyComponent (getMinimumSDKVersion(), "Minimum SDK version", 32, false),
+ "The number of the minimum version of the Android SDK that the app requires");
+
props.add (new BooleanPropertyComponent (getInternetNeeded(), "Internet Access", "Specify internet access permission in the manifest"),
"If enabled, this will set the android.permission.INTERNET flag in the manifest.");
@@ -354,7 +357,7 @@ private:
<< newLine
<< "APP_STL := gnustl_static" << newLine
<< "APP_CPPFLAGS += -fsigned-char -fexceptions -frtti" << newLine
- << "APP_PLATFORM := android-7" << newLine;
+ << "APP_PLATFORM := android-8" << newLine;
overwriteFileIfDifferentOrThrow (file, mo);
}
@@ -522,7 +525,7 @@ private:
mo << "# This file is used to override default values used by the Ant build system." << newLine
<< "# It is automatically generated - DO NOT EDIT IT or your changes will be lost!." << newLine
<< newLine
- << "target=Google Inc.:Google APIs:7" << newLine
+ << "target=Google Inc.:Google APIs:8" << newLine
<< newLine;
overwriteFileIfDifferentOrThrow (file, mo);
diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h
index 920dad3c82..cf43a32e91 100644
--- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h
+++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_MSVC.h
@@ -34,7 +34,7 @@ class MSVCProjectExporterBase : public ProjectExporter
{
public:
MSVCProjectExporterBase (Project& project_, const ValueTree& settings_, const char* const folderName)
- : ProjectExporter (project_, settings_), hasIcon (false)
+ : ProjectExporter (project_, settings_)
{
if (getTargetLocation().toString().isEmpty())
getTargetLocation() = getDefaultBuildsRootFolder() + folderName;
@@ -69,7 +69,6 @@ public:
protected:
String projectGUID;
File rcFile, iconFile;
- bool hasIcon;
File getProjectFile (const String& extension) const { return getTargetFolder().getChildFile (project.getProjectFilenameRoot()).withFileExtension (extension); }
@@ -274,13 +273,6 @@ protected:
}
//==============================================================================
- static bool writeRCFile (const File& file, const File& iconFile)
- {
- return file.deleteFile()
- && file.appendText ("IDI_ICON1 ICON DISCARDABLE "
- + iconFile.getFileName().quoted(), false, false);
- }
-
static void writeBMPImage (const Image& image, const int w, const int h, MemoryOutputStream& out)
{
const int maskStride = (w / 8 + 3) & ~3;
@@ -392,31 +384,97 @@ protected:
out << dataBlock;
}
- bool createIconFile()
+ bool hasResourceFile() const
{
- Array images;
-
- const int sizes[] = { 16, 32, 48, 256 };
+ return ! projectType.isLibrary();
+ }
- for (int i = 0; i < numElementsInArray (sizes); ++i)
+ void createResourcesAndIcon()
+ {
+ if (hasResourceFile())
{
- Image im (getBestIconForSize (sizes[i], true));
- if (im.isValid())
- images.add (im);
+ Array images;
+ const int sizes[] = { 16, 32, 48, 256 };
+
+ for (int i = 0; i < numElementsInArray (sizes); ++i)
+ {
+ Image im (getBestIconForSize (sizes[i], true));
+ if (im.isValid())
+ images.add (im);
+ }
+
+ if (images.size() > 0)
+ {
+ iconFile = getTargetFolder().getChildFile ("icon.ico");
+
+ MemoryOutputStream mo;
+ writeIconFile (images, mo);
+ overwriteFileIfDifferentOrThrow (iconFile, mo);
+ }
+
+ createRCFile();
}
+ }
- if (images.size() == 0)
- return true;
+ void createRCFile()
+ {
+ rcFile = getTargetFolder().getChildFile ("resources.rc");
+
+ const String version (project.getVersion().toString());
MemoryOutputStream mo;
- writeIconFile (images, mo);
- iconFile = getTargetFolder().getChildFile ("icon.ico");
- rcFile = getTargetFolder().getChildFile ("resources.rc");
+ mo << "#undef WIN32_LEAN_AND_MEAN" << newLine
+ << "#define WIN32_LEAN_AND_MEAN" << newLine
+ << "#include " << newLine
+ << newLine
+ << "VS_VERSION_INFO VERSIONINFO" << newLine
+ << "FILEVERSION " << getCommaSeparatedVersionNumber (version) << newLine
+ << "BEGIN" << newLine
+ << " BLOCK \"StringFileInfo\"" << newLine
+ << " BEGIN" << newLine
+ << " BLOCK \"040904E4\"" << newLine
+ << " BEGIN" << newLine;
+
+ writeRCValue (mo, "CompanyName", project.getCompanyName().toString());
+ writeRCValue (mo, "FileDescription", project.getProjectName().toString());
+ writeRCValue (mo, "FileVersion", version);
+ writeRCValue (mo, "ProductName", project.getProjectName().toString());
+ writeRCValue (mo, "ProductVersion", version);
+
+ mo << " END" << newLine
+ << " END" << newLine
+ << newLine
+ << " BLOCK \"VarFileInfo\"" << newLine
+ << " BEGIN" << newLine
+ << " VALUE \"Translation\", 0x409, 65001" << newLine
+ << " END" << newLine
+ << "END" << newLine;
+
+ if (iconFile != File::nonexistent)
+ mo << newLine
+ << "IDI_ICON1 ICON DISCARDABLE " << iconFile.getFileName().quoted();
+
+ overwriteFileIfDifferentOrThrow (rcFile, mo);
+ }
- hasIcon = FileHelpers::overwriteFileWithNewDataIfDifferent (iconFile, mo)
- && writeRCFile (rcFile, iconFile);
- return hasIcon;
+ static void writeRCValue (MemoryOutputStream& mo, const String& name, const String& value)
+ {
+ if (value.isNotEmpty())
+ mo << " VALUE \"" << name << "\", \""
+ << CodeHelpers::addEscapeChars (value) << "\\0\"" << newLine;
+ }
+
+ static String getCommaSeparatedVersionNumber (const String& version)
+ {
+ StringArray versionParts;
+ versionParts.addTokens (version, ",.", "");
+ versionParts.trim();
+ versionParts.removeEmptyStrings();
+ while (versionParts.size() < 4)
+ versionParts.add ("0");
+
+ return versionParts.joinIntoString (",");
}
JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterBase);
@@ -459,9 +517,9 @@ public:
//==============================================================================
void create (const OwnedArray&)
{
- createIconFile();
+ createResourcesAndIcon();
- if (hasIcon)
+ if (hasResourceFile())
{
for (int i = 0; i < groups.size(); ++i)
{
@@ -469,11 +527,15 @@ public:
if (group.getID() == ProjectSaver::getGeneratedGroupID())
{
- group.addFile (iconFile, -1, true);
- group.addFile (rcFile, -1, true);
+ if (iconFile != File::nonexistent)
+ {
+ group.addFile (iconFile, -1, true);
+ group.findItemForFile (iconFile).getShouldAddToResourceValue() = false;
+ }
- group.findItemForFile (iconFile).getShouldAddToResourceValue() = false;
+ group.addFile (rcFile, -1, true);
group.findItemForFile (rcFile).getShouldAddToResourceValue() = false;
+
break;
}
}
@@ -847,7 +909,7 @@ public:
//==============================================================================
void create (const OwnedArray&)
{
- createIconFile();
+ createResourcesAndIcon();
{
XmlElement projectXml ("Project");
@@ -1148,19 +1210,18 @@ protected:
addFilesToCompile (groups.getReference(i), *cppFiles, *headerFiles, false);
}
- if (hasIcon)
+ if (iconFile != File::nonexistent)
{
- {
- XmlElement* iconGroup = projectXml.createNewChildElement ("ItemGroup");
- XmlElement* e = iconGroup->createNewChildElement ("None");
- e->setAttribute ("Include", ".\\" + iconFile.getFileName());
- }
+ XmlElement* iconGroup = projectXml.createNewChildElement ("ItemGroup");
+ XmlElement* e = iconGroup->createNewChildElement ("None");
+ e->setAttribute ("Include", ".\\" + iconFile.getFileName());
+ }
- {
- XmlElement* rcGroup = projectXml.createNewChildElement ("ItemGroup");
- XmlElement* e = rcGroup->createNewChildElement ("ResourceCompile");
- e->setAttribute ("Include", ".\\" + rcFile.getFileName());
- }
+ if (hasResourceFile())
+ {
+ XmlElement* rcGroup = projectXml.createNewChildElement ("ItemGroup");
+ XmlElement* e = rcGroup->createNewChildElement ("ResourceCompile");
+ e->setAttribute ("Include", ".\\" + rcFile.getFileName());
}
{
@@ -1302,19 +1363,18 @@ protected:
if (iconFile.exists())
{
- {
- XmlElement* iconGroup = filterXml.createNewChildElement ("ItemGroup");
- XmlElement* e = iconGroup->createNewChildElement ("None");
- e->setAttribute ("Include", ".\\" + iconFile.getFileName());
- e->createNewChildElement ("Filter")->addTextElement (ProjectSaver::getJuceCodeGroupName());
- }
+ XmlElement* iconGroup = filterXml.createNewChildElement ("ItemGroup");
+ XmlElement* e = iconGroup->createNewChildElement ("None");
+ e->setAttribute ("Include", ".\\" + iconFile.getFileName());
+ e->createNewChildElement ("Filter")->addTextElement (ProjectSaver::getJuceCodeGroupName());
+ }
- {
- XmlElement* rcGroup = filterXml.createNewChildElement ("ItemGroup");
- XmlElement* e = rcGroup->createNewChildElement ("ResourceCompile");
- e->setAttribute ("Include", ".\\" + rcFile.getFileName());
- e->createNewChildElement ("Filter")->addTextElement (ProjectSaver::getJuceCodeGroupName());
- }
+ if (hasResourceFile())
+ {
+ XmlElement* rcGroup = filterXml.createNewChildElement ("ItemGroup");
+ XmlElement* e = rcGroup->createNewChildElement ("ResourceCompile");
+ e->setAttribute ("Include", ".\\" + rcFile.getFileName());
+ e->createNewChildElement ("Filter")->addTextElement (ProjectSaver::getJuceCodeGroupName());
}
}
diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h
index 7699b26d0a..bb3b4c7b36 100644
--- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h
+++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExport_XCode.h
@@ -443,6 +443,7 @@ private:
addPlistDictionaryKey (dict, "CFBundleSignature", xcodeBundleSignature);
addPlistDictionaryKey (dict, "CFBundleShortVersionString", project.getVersion().toString());
addPlistDictionaryKey (dict, "CFBundleVersion", project.getVersion().toString());
+ addPlistDictionaryKey (dict, "NSHumanReadableCopyright", project.getCompanyName().toString());
StringArray documentExtensions;
documentExtensions.addTokens (replacePreprocessorDefs (getAllPreprocessorDefs(), getSetting ("documentExtensions").toString()),
diff --git a/extras/Introjucer/Source/Project/jucer_Project.cpp b/extras/Introjucer/Source/Project/jucer_Project.cpp
index 654f1ea23a..8fad704f57 100644
--- a/extras/Introjucer/Source/Project/jucer_Project.cpp
+++ b/extras/Introjucer/Source/Project/jucer_Project.cpp
@@ -348,6 +348,9 @@ void Project::createPropertyEditors (PropertyListBuilder& props)
props.add (new TextPropertyComponent (getVersion(), "Project Version", 16, false),
"The project's version number, This should be in the format major.minor.point");
+ props.add (new TextPropertyComponent (getCompanyName(), "Company Name", 256, false),
+ "Your company name, which will be added to the properties of the binary where possible");
+
{
StringArray projectTypeNames;
Array projectTypeCodes;
diff --git a/extras/Introjucer/Source/Project/jucer_Project.h b/extras/Introjucer/Source/Project/jucer_Project.h
index 04329339b5..cf45c539c9 100644
--- a/extras/Introjucer/Source/Project/jucer_Project.h
+++ b/extras/Introjucer/Source/Project/jucer_Project.h
@@ -74,13 +74,16 @@ public:
//==============================================================================
// project types
const ProjectType& getProjectType() const;
- Value getProjectTypeValue() const { return getProjectValue ("projectType"); }
+ Value getProjectTypeValue() const { return getProjectValue (Ids::projectType); }
- Value getVersion() const { return getProjectValue ("version"); }
+ Value getVersion() const { return getProjectValue (Ids::version); }
String getVersionAsHex() const;
+
Value getBundleIdentifier() const { return getProjectValue (Ids::bundleIdentifier); }
void setBundleIdentifierToDefault() { getBundleIdentifier() = "com.yourcompany." + CodeHelpers::makeValidIdentifier (getProjectName().toString(), false, true, false); }
+ Value getCompanyName() const { return getProjectValue (Ids::companyName); }
+
//==============================================================================
Value getProjectValue (const Identifier& name) const { return projectRoot.getPropertyAsValue (name, getUndoManagerFor (projectRoot)); }
diff --git a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp
index 295a2f5c56..66486c0f2f 100644
--- a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp
+++ b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp
@@ -300,13 +300,19 @@ bool ProjectContentComponent::perform (const InvocationInfo& info)
{
case CommandIDs::saveProject:
if (project != nullptr)
- project->save (true, true);
+ {
+ if (! reinvokeCommandAfterClosingPropertyEditors (info))
+ project->save (true, true);
+ }
break;
case CommandIDs::saveProjectAs:
if (project != nullptr)
- project->saveAsInteractive (true);
+ {
+ if (! reinvokeCommandAfterClosingPropertyEditors (info))
+ project->saveAsInteractive (true);
+ }
break;
@@ -315,7 +321,10 @@ bool ProjectContentComponent::perform (const InvocationInfo& info)
MainWindow* mw = Component::findParentComponentOfClass ((MainWindow*) 0);
if (mw != nullptr)
- mw->closeCurrentProject();
+ {
+ if (! reinvokeCommandAfterClosingPropertyEditors (info))
+ mw->closeCurrentProject();
+ }
}
break;
@@ -331,12 +340,18 @@ bool ProjectContentComponent::perform (const InvocationInfo& info)
break;
case CommandIDs::saveAndOpenInIDE:
- if (project != nullptr && project->save (true, true) == FileBasedDocument::savedOk)
+ if (project != nullptr)
{
- ScopedPointer exporter (ProjectExporter::createPlatformDefaultExporter (*project));
-
- if (exporter != nullptr)
- exporter->launchProject();
+ if (! reinvokeCommandAfterClosingPropertyEditors (info))
+ {
+ if (project->save (true, true) == FileBasedDocument::savedOk)
+ {
+ ScopedPointer exporter (ProjectExporter::createPlatformDefaultExporter (*project));
+
+ if (exporter != nullptr)
+ exporter->launchProject();
+ }
+ }
}
break;
@@ -362,3 +377,14 @@ bool ProjectContentComponent::perform (const InvocationInfo& info)
return true;
}
+
+bool ProjectContentComponent::reinvokeCommandAfterClosingPropertyEditors (const InvocationInfo& info)
+{
+ if (reinvokeCommandAfterCancellingModalComps (info))
+ {
+ grabKeyboardFocus(); // to force any open labels to close their text editors
+ return true;
+ }
+
+ return false;
+}
diff --git a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h
index 98cca0af4c..301851a8a1 100644
--- a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h
+++ b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.h
@@ -74,6 +74,7 @@ private:
ComponentBoundsConstrainer treeSizeConstrainer;
void updateMainWindowTitle();
+ bool reinvokeCommandAfterClosingPropertyEditors (const InvocationInfo&);
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ProjectContentComponent);
};
diff --git a/extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp b/extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp
index c890f41ff5..7b56721e42 100644
--- a/extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp
+++ b/extras/Introjucer/Source/Utility/jucer_MiscUtilities.cpp
@@ -415,6 +415,51 @@ void showUTF8ToolWindow()
nullptr, Colours::white, true, true);
}
+bool cancelAnyModalComponents()
+{
+ const int numModal = ModalComponentManager::getInstance()->getNumModalComponents();
+
+ for (int i = numModal; --i >= 0;)
+ if (ModalComponentManager::getInstance()->getModalComponent(i) != nullptr)
+ ModalComponentManager::getInstance()->getModalComponent(i)->exitModalState (0);
+
+ return numModal > 0;
+}
+
+//==============================================================================
+class AsyncCommandRetrier : public Timer
+{
+public:
+ AsyncCommandRetrier (const ApplicationCommandTarget::InvocationInfo& info_)
+ : info (info_)
+ {
+ info.originatingComponent = nullptr;
+ startTimer (500);
+ }
+
+ void timerCallback()
+ {
+ stopTimer();
+ commandManager->invoke (info, true);
+ delete this;
+ }
+
+ ApplicationCommandTarget::InvocationInfo info;
+
+ JUCE_DECLARE_NON_COPYABLE (AsyncCommandRetrier);
+};
+
+bool reinvokeCommandAfterCancellingModalComps (const ApplicationCommandTarget::InvocationInfo& info)
+{
+ if (cancelAnyModalComponents())
+ {
+ new AsyncCommandRetrier (info);
+ return true;
+ }
+
+ return false;
+}
+
//==============================================================================
class CallOutBoxCallback : public ModalComponentManager::Callback
{
diff --git a/extras/Introjucer/Source/Utility/jucer_MiscUtilities.h b/extras/Introjucer/Source/Utility/jucer_MiscUtilities.h
index 5867d9e7a6..49238ee226 100644
--- a/extras/Introjucer/Source/Utility/jucer_MiscUtilities.h
+++ b/extras/Introjucer/Source/Utility/jucer_MiscUtilities.h
@@ -50,6 +50,8 @@ void showUTF8ToolWindow();
// Start a callout modally, which will delete the content comp when it's dismissed.
void launchAsyncCallOutBox (Component& attachTo, Component* content);
+bool cancelAnyModalComponents();
+bool reinvokeCommandAfterCancellingModalComps (const ApplicationCommandTarget::InvocationInfo&);
//==============================================================================
class RolloverHelpComp : public Component,
diff --git a/extras/Introjucer/Source/Utility/jucer_PresetIDs.h b/extras/Introjucer/Source/Utility/jucer_PresetIDs.h
index 168fe3ff72..3cea7cb55c 100644
--- a/extras/Introjucer/Source/Utility/jucer_PresetIDs.h
+++ b/extras/Introjucer/Source/Utility/jucer_PresetIDs.h
@@ -35,6 +35,7 @@ namespace Ids
DECLARE_ID (name);
DECLARE_ID (file);
DECLARE_ID (version);
+ DECLARE_ID (companyName);
DECLARE_ID (position);
DECLARE_ID (source);
DECLARE_ID (width);
@@ -49,6 +50,7 @@ namespace Ids
DECLARE_ID (extraCompilerFlags);
DECLARE_ID (extraLinkerFlags);
DECLARE_ID (extraDefs);
+ DECLARE_ID (projectType);
DECLARE_ID (libraryType);
DECLARE_ID (isDebug);
DECLARE_ID (targetName);
@@ -67,7 +69,6 @@ namespace Ids
DECLARE_ID (bigIcon);
DECLARE_ID (smallIcon);
DECLARE_ID (jucerVersion);
- DECLARE_ID (projectType);
DECLARE_ID (prebuildCommand);
DECLARE_ID (postbuildCommand);
DECLARE_ID (generateManifest);
diff --git a/extras/JuceDemo/Builds/Android/AndroidManifest.xml b/extras/JuceDemo/Builds/Android/AndroidManifest.xml
index 67fba1b9fe..5aa57ea37e 100644
--- a/extras/JuceDemo/Builds/Android/AndroidManifest.xml
+++ b/extras/JuceDemo/Builds/Android/AndroidManifest.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/extras/JuceDemo/Builds/Android/jni/Application.mk b/extras/JuceDemo/Builds/Android/jni/Application.mk
index ae028cd907..ad77de6037 100644
--- a/extras/JuceDemo/Builds/Android/jni/Application.mk
+++ b/extras/JuceDemo/Builds/Android/jni/Application.mk
@@ -3,4 +3,4 @@
APP_STL := gnustl_static
APP_CPPFLAGS += -fsigned-char -fexceptions -frtti
-APP_PLATFORM := android-7
+APP_PLATFORM := android-8
diff --git a/extras/JuceDemo/Builds/Android/project.properties b/extras/JuceDemo/Builds/Android/project.properties
index 9b259c744c..287e74f0c4 100644
--- a/extras/JuceDemo/Builds/Android/project.properties
+++ b/extras/JuceDemo/Builds/Android/project.properties
@@ -1,5 +1,5 @@
# This file is used to override default values used by the Ant build system.
# It is automatically generated - DO NOT EDIT IT or your changes will be lost!.
-target=Google Inc.:Google APIs:7
+target=Google Inc.:Google APIs:8
diff --git a/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java b/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java
index 5bae77fa5c..144c4c525e 100644
--- a/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java
+++ b/extras/JuceDemo/Builds/Android/src/com/juce/JuceDemo.java
@@ -32,6 +32,7 @@ import android.content.Context;
import android.os.Bundle;
import android.view.*;
import android.graphics.*;
+import android.opengl.*;
import android.text.ClipboardManager;
import java.io.BufferedInputStream;
import java.io.IOException;
@@ -39,6 +40,8 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.HttpURLConnection;
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.opengles.GL10;
//==============================================================================
public final class JuceDemo extends Activity
@@ -72,9 +75,9 @@ public final class JuceDemo extends Activity
}
//==============================================================================
- public native void launchApp (String appFile, String appDataDir);
- public native void quitApp();
- public native void setScreenSize (int screenWidth, int screenHeight);
+ private native void launchApp (String appFile, String appDataDir);
+ private native void quitApp();
+ private native void setScreenSize (int screenWidth, int screenHeight);
//==============================================================================
public static final void printToConsole (String s)
@@ -237,8 +240,8 @@ public final class JuceDemo extends Activity
public native void alertDismissed (long callback, int id);
//==============================================================================
- public class ComponentPeerView extends View
- implements View.OnFocusChangeListener
+ public final class ComponentPeerView extends ViewGroup
+ implements View.OnFocusChangeListener
{
public ComponentPeerView (Context context, boolean opaque_)
{
@@ -320,6 +323,42 @@ public final class JuceDemo extends Activity
}
}
+ //==============================================================================
+ public final class OpenGLView extends GLSurfaceView
+ implements GLSurfaceView.Renderer
+ {
+ public OpenGLView (ComponentPeerView parent)
+ {
+ super (parent.getContext());
+
+ setEGLContextClientVersion (2);
+ setRenderer (this);
+
+ parent.addView (this);
+ }
+
+ public void onSurfaceCreated (GL10 unused, EGLConfig config)
+ {
+ contextCreated();
+ }
+
+ public void onDrawFrame (GL10 unused)
+ {
+ GLES20.glClearColor (1.0f, 0.5f, 0.0f, 1.0f);
+ GLES20.glClear (GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
+
+ render();
+ }
+
+ public void onSurfaceChanged (GL10 unused, int width, int height)
+ {
+ GLES20.glViewport (0, 0, width, height);
+ }
+
+ private native void contextCreated();
+ private native void render();
+ }
+
//==============================================================================
public final int[] renderGlyph (char glyph, Paint paint, android.graphics.Matrix matrix, Rect bounds)
{
@@ -344,7 +383,7 @@ public final class JuceDemo extends Activity
c.setMatrix (matrix);
c.drawPath (p, paint);
- int sizeNeeded = w * h;
+ final int sizeNeeded = w * h;
if (cachedRenderArray.length < sizeNeeded)
cachedRenderArray = new int [sizeNeeded];
@@ -393,25 +432,10 @@ public final class JuceDemo extends Activity
return num;
}
- public final long getPosition()
- {
- return position;
- }
-
- public final long getTotalLength()
- {
- return -1;
- }
-
- public final boolean isExhausted()
- {
- return false;
- }
-
- public final boolean setPosition (long newPos)
- {
- return false;
- }
+ public final long getPosition() { return position; }
+ public final long getTotalLength() { return -1; }
+ public final boolean isExhausted() { return false; }
+ public final boolean setPosition (long newPos) { return false; }
private HttpURLConnection connection;
private InputStream inputStream;
@@ -419,7 +443,8 @@ public final class JuceDemo extends Activity
}
public static final HTTPStream createHTTPStream (String address, boolean isPost, byte[] postData,
- String headers, int timeOutMs, java.lang.StringBuffer responseHeaders)
+ String headers, int timeOutMs,
+ java.lang.StringBuffer responseHeaders)
{
try
{
diff --git a/extras/JuceDemo/Builds/MacOSX/Info.plist b/extras/JuceDemo/Builds/MacOSX/Info.plist
index 328d0a0fd8..2832044a4e 100644
--- a/extras/JuceDemo/Builds/MacOSX/Info.plist
+++ b/extras/JuceDemo/Builds/MacOSX/Info.plist
@@ -16,8 +16,10 @@
CFBundleSignature
????
CFBundleShortVersionString
- 1.0.0
+ 2.0.0
CFBundleVersion
- 1.0.0
+ 2.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
diff --git a/extras/JuceDemo/Builds/VisualStudio2005/resources.rc b/extras/JuceDemo/Builds/VisualStudio2005/resources.rc
index b20115c096..5cecb53e0f 100644
--- a/extras/JuceDemo/Builds/VisualStudio2005/resources.rc
+++ b/extras/JuceDemo/Builds/VisualStudio2005/resources.rc
@@ -1 +1,26 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "Juce Demo\0"
+ VALUE "FileVersion", "2.0.0\0"
+ VALUE "ProductName", "Juce Demo\0"
+ VALUE "ProductVersion", "2.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/JuceDemo/Builds/VisualStudio2008/resources.rc b/extras/JuceDemo/Builds/VisualStudio2008/resources.rc
index b20115c096..5cecb53e0f 100644
--- a/extras/JuceDemo/Builds/VisualStudio2008/resources.rc
+++ b/extras/JuceDemo/Builds/VisualStudio2008/resources.rc
@@ -1 +1,26 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "Juce Demo\0"
+ VALUE "FileVersion", "2.0.0\0"
+ VALUE "ProductName", "Juce Demo\0"
+ VALUE "ProductVersion", "2.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/JuceDemo/Builds/VisualStudio2010/resources.rc b/extras/JuceDemo/Builds/VisualStudio2010/resources.rc
index b20115c096..5cecb53e0f 100644
--- a/extras/JuceDemo/Builds/VisualStudio2010/resources.rc
+++ b/extras/JuceDemo/Builds/VisualStudio2010/resources.rc
@@ -1 +1,26 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 2,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "Juce Demo\0"
+ VALUE "FileVersion", "2.0.0\0"
+ VALUE "ProductName", "Juce Demo\0"
+ VALUE "ProductVersion", "2.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/JuceDemo/Builds/iOS/Info.plist b/extras/JuceDemo/Builds/iOS/Info.plist
index 1684fd9839..63ae65bf85 100644
--- a/extras/JuceDemo/Builds/iOS/Info.plist
+++ b/extras/JuceDemo/Builds/iOS/Info.plist
@@ -18,8 +18,10 @@
CFBundleSignature
????
CFBundleShortVersionString
- 1.0.0
+ 2.0.0
CFBundleVersion
- 1.0.0
+ 2.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
diff --git a/extras/JuceDemo/Juce Demo.jucer b/extras/JuceDemo/Juce Demo.jucer
index 8634b6baf5..734b13674e 100644
--- a/extras/JuceDemo/Juce Demo.jucer
+++ b/extras/JuceDemo/Juce Demo.jucer
@@ -1,13 +1,14 @@
+ pluginAUViewClass="JuceDemoAU_V1" pluginRTASCategory="" icon="Duj062Top"
+ companyName="Raw Material Software Ltd.">
@@ -75,7 +76,7 @@
+ androidMinimumSDK="8" androidMicNeeded="1">
diff --git a/extras/JuceDemo/JuceLibraryCode/JuceHeader.h b/extras/JuceDemo/JuceLibraryCode/JuceHeader.h
index e432129d83..8610ea1fff 100644
--- a/extras/JuceDemo/JuceLibraryCode/JuceHeader.h
+++ b/extras/JuceDemo/JuceLibraryCode/JuceHeader.h
@@ -39,8 +39,8 @@
namespace ProjectInfo
{
const char* const projectName = "Juce Demo";
- const char* const versionString = "1.0.0";
- const int versionNumber = 0x10000;
+ const char* const versionString = "2.0.0";
+ const int versionNumber = 0x20000;
}
#endif // __APPHEADERFILE_SLVVV6J__
diff --git a/extras/audio plugin demo/Builds/Linux/Makefile b/extras/audio plugin demo/Builds/Linux/Makefile
index 122d184f69..119e35f9a7 100644
--- a/extras/audio plugin demo/Builds/Linux/Makefile
+++ b/extras/audio plugin demo/Builds/Linux/Makefile
@@ -55,6 +55,7 @@ OBJECTS := \
$(OBJDIR)/juce_events_584896b4.o \
$(OBJDIR)/juce_graphics_f9afc18.o \
$(OBJDIR)/juce_gui_basics_90929794.o \
+ $(OBJDIR)/juce_gui_extra_b81d9e1c.o \
$(OBJDIR)/juce_RTAS_DigiCode1_6dea9489.o \
$(OBJDIR)/juce_RTAS_DigiCode2_6df8ac0a.o \
$(OBJDIR)/juce_RTAS_DigiCode3_6e06c38b.o \
@@ -136,6 +137,11 @@ $(OBJDIR)/juce_gui_basics_90929794.o: ../../../../modules/juce_gui_basics/juce_g
@echo "Compiling juce_gui_basics.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+$(OBJDIR)/juce_gui_extra_b81d9e1c.o: ../../../../modules/juce_gui_extra/juce_gui_extra.cpp
+ -@mkdir -p $(OBJDIR)
+ @echo "Compiling juce_gui_extra.cpp"
+ @$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
+
$(OBJDIR)/juce_RTAS_DigiCode1_6dea9489.o: ../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_RTAS_DigiCode1.cpp"
diff --git a/extras/audio plugin demo/Builds/MacOSX/Info.plist b/extras/audio plugin demo/Builds/MacOSX/Info.plist
index 3e5ff281ac..321c1c77a4 100644
--- a/extras/audio plugin demo/Builds/MacOSX/Info.plist
+++ b/extras/audio plugin demo/Builds/MacOSX/Info.plist
@@ -19,5 +19,7 @@
1.0.0
CFBundleVersion
1.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
diff --git a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
index b034299a7c..61abb4c3a6 100644
--- a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
+++ b/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj
@@ -16,6 +16,7 @@
ECF60C3CF6D180AAFF43C822 = { isa = PBXBuildFile; fileRef = 28F65EEAFB3B971E8EDB10F3; };
CC4D3A6F1EF2934059AA9FEB = { isa = PBXBuildFile; fileRef = 61848A238C57C54BF83884C3; };
221F46E90C0A8651AB76A0E5 = { isa = PBXBuildFile; fileRef = 58E978708BAA8613A40F61E3; };
+ B46C12D99498E9FA8F1D083A = { isa = PBXBuildFile; fileRef = A59A08DCC76EE0FC7EBE1203; };
8265E59547F2C5DDD10F58BF = { isa = PBXBuildFile; fileRef = 682D51082D9FE9859F364A10; };
E32999B782F688D3746FEB08 = { isa = PBXBuildFile; fileRef = 9EC0C4C02099C656EEF39DA9; };
F04FAA69AC50147EA624EC1F = { isa = PBXBuildFile; fileRef = 2B2D54521D69CF4407471A56; settings = {COMPILER_FLAGS = "-w"; }; };
@@ -51,6 +52,7 @@
EA073FBAAC7AC3040B1422D1 = { isa = PBXBuildFile; fileRef = DA325C1329DD36C198920558; };
FA531AB0CE4F5AA5C7073CE8 = { isa = PBXBuildFile; fileRef = 87755AF25BF68EE19666A135; };
3288574B40AF43AA1AA5FAD0 = { isa = PBXBuildFile; fileRef = 443C241B66AD431E05D3A2AD; };
+ C2E42AA4FA74BE14DDE5573B = { isa = PBXBuildFile; fileRef = B2067C8614967BECF8B198D1; };
E01E4438B2F0F3C3CE4F5240 = { isa = PBXBuildFile; fileRef = 9C9DEB7FB75C42C4F47AF999; settings = {COMPILER_FLAGS = "-w"; }; };
7732BED2285AE6572CC2BF11 = { isa = PBXBuildFile; fileRef = F7454AD16EE05969CCF5FD7C; settings = {COMPILER_FLAGS = "-w"; }; };
C99CF7958D391CB2F97CC5F8 = { isa = PBXBuildFile; fileRef = 2D4B766DA1C66FA2857D80F7; settings = {COMPILER_FLAGS = "-w"; }; };
@@ -63,6 +65,7 @@
0045658D26F88B490908C99B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
00A45583A3FEF005232FE1BE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; };
00E703C0911F94E5763C536B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0148FA619D1F0E5A597356FD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
014D028CBF01E01B77B47189 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
0179C530BA4B4B8215461D5B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; };
01E96C5EAA85305BFA560A57 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
@@ -95,6 +98,7 @@
07552B6714E651587D8E0CB8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
077868026EE8ADEC275EF534 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
077E39BD4365098B13F2F29B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 07C4AC0C62F94DDFA1FA0E31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
07FBBCECF4C212D67AD71FFD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
080D19E24AE4FDC135F58B86 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
0906F59C839873ADC151A188 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIEffectBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.cpp; sourceTree = "DEVELOPER_DIR"; };
@@ -134,6 +138,7 @@
13EACB731E5573BC68744B5E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
141FD2E7828F2F2BE0EE9506 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUInputElement.h; sourceTree = "DEVELOPER_DIR"; };
1460DF86692852CBB0840F87 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 14A221649E68BA8FD0EADAE7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
1519F1DAEF1445EEBC1D75DD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1588973F0A055D4CF5D44823 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
15A4CCD9171AC94932E836D2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
@@ -150,6 +155,8 @@
19BB8AB57760488EECE94D5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
19D63B88BE3B2620D7EB8489 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; };
19F3E1F0B144D48016FDF6C0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 19FE75EF12C18CF52D11D37E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1A487CF48178F86FFF3E0EE9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OldSchoolLookAndFeel.cpp"; path = "../../../../modules/juce_gui_extra/lookandfeel/juce_OldSchoolLookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
1A842FCA201F57BF276F5F19 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
1AA472D8429FFDFBE7CD01BD = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
1B2CE3B669D290A88A797C1A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
@@ -169,6 +176,7 @@
1E496F7BF3B3C59E5ECACCDE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
1E4CD6428BE6C12C54575EC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
1EC0F9F4EC617BA4C2217C2C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1EFE70BA92D9C9771384F6EB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OldSchoolLookAndFeel.h"; path = "../../../../modules/juce_gui_extra/lookandfeel/juce_OldSchoolLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
1F60FF59922FECB5CD789D48 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
1FBFF2D9043296E1E09DE156 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; };
201F62BBDF90DC3F1C9684C3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -176,7 +184,9 @@
20881BC337B715DEC96E7976 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
20E3F95E25915E7F53F37113 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
210FC90993B49F9206A62F02 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2168ED9FD91B4475612D7785 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
21764164C5B41690F1BC3861 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 219FBFE9990AA2ACA2F15FC1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
21D337F16EF17A19AAEBF0C1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; };
2420BA1657C0FC81F6AF803D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
246055D9D81E3DDFEFD910F0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
@@ -190,6 +200,7 @@
28C68586E6A2C95B2BC007DA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
28F65EEAFB3B971E8EDB10F3 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
291947B7C7CCCF7029BA0C78 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2956FA046400383FC705C1CE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
29917AAA580F21BF2798D071 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; };
29BA2BABEFBB624A9EEE83F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
2AA4939A70E1E1D6B907DA87 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; };
@@ -241,6 +252,7 @@
383CCB4FB4F70FDE749AFEA0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
38B25B83DCEAC8BCDFD527E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
38CAA3A693AE6206F083F175 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 39AD51EB5E59758E6FC4F313 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
39D0873583E797FEA1F40BBD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
3A6A7BBEB5E04AE75D24BAF6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
3AA84EBD59A4CBE7E32FB0F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; };
@@ -250,6 +262,7 @@
3B14E2CE58630F14CB9964A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
3B22E720E83CBDCC315A038F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
3B6F2FAF5ADD1BE0014C7952 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B9EA2905AC4A9924B9AC3FF = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
3C003D01B67D75E4D745A9B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = Extras/CoreAudio/PublicUtility/CAMutex.cpp; sourceTree = "DEVELOPER_DIR"; };
3C00BD826FCACC11EC9CF6D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
3C3B97E53D481B74892572D5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -296,6 +309,8 @@
4999A3C6B9B1FCE2FA75E26B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
4A6A465D7BC825BB91F562C3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUOutputBase.cpp; sourceTree = "DEVELOPER_DIR"; };
4AB9AA07703E3BAE99B586C3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4B01C1EF1219C6405CD9A061 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4B13AFACB5B6B81347E6652D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
4B7CE8D596B3F3901B2A7826 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
4BDFDEDCF05F480BB99EE8A2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
4C4DA110B4ABCD9A9CBE93E1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUViewBase/AUViewLocalizedStringKeys.h; sourceTree = "DEVELOPER_DIR"; };
@@ -339,6 +354,7 @@
58CEDDC16E6A5293A4F81E84 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
58E978708BAA8613A40F61E3 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
58FD5A3294F6D4F415B9CA60 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 598E9C9D95393B4E4699CF0B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
59968E95CF78A0E8A03B1DA1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
5A15B77FF78B76ADDF1EB203 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; };
5A7DAE7A1350D62B224EE51B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
@@ -360,10 +376,12 @@
5EA72D1F22006B0CC17B081E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; };
5EB55A7484EFAF1FE8C5BADD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; };
5EE4BB25075E3ACDCFCE14D2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 5F36266F9ABD981DF9EE035D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
5F47E3BCF3552B114668A2EC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; };
5F682655C41C68A533D15D5C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
5F828B7BE8D9B860182A6606 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
5FEC8A1452DE9DDC428552DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FF425ECF12EC3A8D942CDCB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
61848A238C57C54BF83884C3 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
620F05F325A2E12F7D5671C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; };
62421FC040737EACE584486E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
@@ -377,6 +395,7 @@
6501BB1AAFD5B3DC4A783F85 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
657E623AEF2E10271FE918B3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
65E005154EAE1F3348AD94F7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6615AA3C51D65AA6586812C4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
66224023D1551D0B1D24669C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
66655117FFCCE11F3AE46791 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
67C28D93FE8831496493B095 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
@@ -400,6 +419,7 @@
6EA0F6E82CE987903D0C7B13 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
6EC7B55CE9A1E68A89CED63D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
6EDD3878142839D368B64F31 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUEffectBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUEffectBase.h; sourceTree = "DEVELOPER_DIR"; };
+ 6F381D0C54E869B237830DC7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
6F80E669C5CD62B01B4047A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
6FFE3D9DADC166B95D739887 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
704A1428992F4CA4A606E2B2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
@@ -420,6 +440,7 @@
7351C5BCC28D3841605EEBEC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
736524AA87397E0C2C9C8817 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
7368195ADDFA8909053F98D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 7368B0046A2F265498F9DD5E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
745D6A06B95F8E9CAFBB0CC8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
74BB4F18BE439D41BFBA36A7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
74BD335259545B5C8FAE3942 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
@@ -440,15 +461,18 @@
7842B474F3C7C353DED282A6 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
78502B6120887CE35DB67B02 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
78959840E3EF9DC06998BB42 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7997E4EB2706B00B44880412 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; };
79B3B7E2DD82AB16C411D9E0 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
79B958A028493E0DB0133E2B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = Extras/CoreAudio/PublicUtility/CAVectorUnit.cpp; sourceTree = "DEVELOPER_DIR"; };
7AC8B40A09251FDC9D75053A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
7B2A0D30289D548DCF3AC985 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
7B491514CCDB29EBB9674F9E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = Extras/CoreAudio/PublicUtility/CADebugMacros.h; sourceTree = "DEVELOPER_DIR"; };
+ 7B7DC20A834735F004A8A0C0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
7B870EE6D43B984CADE69C28 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; };
7C6A0C6C2914BD052CB4702A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
7C7362C71D396DA95BBE38B8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
7C8781DF19D1E9F5F4383C8B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CAABF65B56BE6A4529B2513 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
7CBA5F2277845FDC3AABFEAD = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
7D2452DC43894CAD497C0FA4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
7D5CFA5B4C64986B875C71DC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -466,10 +490,12 @@
802E244849C0AE5DACD3FCCB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
80D58EDB557D5702F6D8749F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
815230D20705ECC2BC4FF93A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; };
+ 81766EF7DB6CE1CB01017097 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
81A4BA17CF9F30766B054879 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
81AC7FA7234FD8DD6D4F647C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
82C8DD36FD45CF3CC8BC2819 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
82D8099FDD46339EF81ADC57 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 837035EBD15D2565B4DB677A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
837FCD576EB86FDB2FB63DAF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
841B6783475386C5471CA039 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; };
843BE235C212ED17429DE2D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
@@ -491,6 +517,7 @@
87BE12FCBC4C554059FA344F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
88336AF4E2605BF6518D758B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
890AA995A158C4D9E7738A40 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 8916485BFFBA840EF46760CC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
894982322611830C62233292 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
89520054769FD08A7E2C2D4C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
8983E39490E8EF99EB09C783 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -503,6 +530,7 @@
8C1A068D665727680931F85C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
8D9F2E08F3381BE4A60F28C4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
8E215890DCA3641D4B8FCE6A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8E40EB375F5C4AE1651F3E49 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
8E6F287CAEE4C6BA50E8E390 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
8E815C1193352E861B9C48BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; };
8E8EF7A3035A5F657E18814C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
@@ -527,11 +555,13 @@
9130EEFD3EE155D9A7167AF7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
913EA37AAC8362F293985F26 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
91424D2B814B064805B2080E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 91B2EAD28E322C2F365FF975 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
91EF9501D2E0094B3012D978 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
9292C6F143141B2B8E55FFD3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
92A42EEE90DC70E7D922E9C1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
92C13B9CFD6F4A5C8B38664D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; };
92E01BD6F9DD874F968F3CB7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 92EC4C0A72F7312F1FE85B2D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
932A5DF40DA3D1F382EEA349 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; };
93F82D964A8C329766946277 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
94AA9AF4939F914AD00CEE1F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; };
@@ -566,6 +596,7 @@
9F9AC54CF90FDB770E5FCA03 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
A0AB27A8CE89B12B37EF8FA4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
A10B7B85424CB38AE344D7DC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = Extras/CoreAudio/PublicUtility/CAVectorUnitTypes.h; sourceTree = "DEVELOPER_DIR"; };
+ A11F51909BE2463C28099C0B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
A122A2AB08B82B5AF1FF4D0A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; };
A1A74C33F871DF7D5E3C4B65 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; };
A206765795252391D3F60EA4 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
@@ -573,7 +604,9 @@
A2605C2C8D583851AD65025E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
A2BAB9DD00DF8E30A6DF756E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIBase.h; sourceTree = "DEVELOPER_DIR"; };
A2F1B4E1DE5CAA9FB76C01B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
+ A31CE7177BF947DB60F72D94 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
A5985F8B03893AA7EFD0273A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = Extras/CoreAudio/PublicUtility/CAAUParameter.cpp; sourceTree = "DEVELOPER_DIR"; };
+ A59A08DCC76EE0FC7EBE1203 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
A62DF2CD31D7890E1B54B18C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUScopeElement.h; sourceTree = "DEVELOPER_DIR"; };
A722B041FD2540D1380C4D02 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A7A527D783D3B38F455964D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
@@ -581,14 +614,14 @@
A7FD436305E19DF69A7AF446 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
A8F3FC233163016FE3B23543 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
A90A45FB8790A91DF1A78BE7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ A90E41C0C52BDF0CC82161C9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
A9133BF4A4E9DF3268BE0A5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A935F7A0CA0C3A7FE2607D0A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
A9B46A5FF98D7B9DF8598C12 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
A9C466FBA4FCF6484BCF86A2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; };
AA29B047C1A1904618B410D5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
AAA122282581E6425F5D9405 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
- AB0E8347C9AC7E4A861C0252 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
AB7726FF34DB2E7FA75ECC19 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- AB7BCFBC4B2CB784F57A0FBC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUInputFormatConverter.h; sourceTree = "DEVELOPER_DIR"; };
AB87317D90A518C8A886EE9D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; };
ABC394D5E03B690404E80E1E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
ABCB715245090A15092108D5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
@@ -607,11 +640,12 @@
95BE074C6E26D6E329D0DA5D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
97B6D6C6FABF547674BD0F19 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
A7055681554844E4708E27A0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
- A935F7A0CA0C3A7FE2607D0A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
A9801DABE20B0BC1A3405EA0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
AA012A21BE3049C205D4A44A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
AAEC41BFA57E45EBF94ED3C1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB0E8347C9AC7E4A861C0252 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
AB10327C69AAE4AACCFC81EB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB7BCFBC4B2CB784F57A0FBC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUInputFormatConverter.h; sourceTree = "DEVELOPER_DIR"; };
AB9AD07EF899B75AC4CF01DA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = Extras/CoreAudio/PublicUtility/CAMutex.h; sourceTree = "DEVELOPER_DIR"; };
AC5452F5122E3A4B670B5185 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; };
ACC4E765AD4BF1D025FB4E83 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -624,6 +658,7 @@
AF14FDB3693F569F275C1A8C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
B0381BEAE259ABDDE18A64B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
B1426528BB892D5736D80404 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
+ B2067C8614967BECF8B198D1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
B23CBCBBD05E21AEA76FB9E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; };
B287E8FA86ED37F618F0ABC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
B2B54E113A80EC53D5D71A38 = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
@@ -631,9 +666,11 @@
B34E109560D77640B7648C4D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
B45645B3B2E19FB1D72B91B6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
B532D9954FB106B6095AE0C8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B5406E636D4CF8285721DCF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B57C430D154C1C86350F246A = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
B57D00796D30ECB2DE58035F = { isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; };
B5FF7C5554FC26100CB08626 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
+ B6938F0B102875B8B0BEBC44 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
B72762B6ACA5F73EF9F0A220 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
B829B4BAE71C6F09169542B8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
B8B25605AB1A04A8AE545227 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
@@ -647,6 +684,7 @@
BBECA9EB9DD3C9B6CB04B10A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
BBF88983012D33EFEF11EA81 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
BC369095BAEED8707D12F63B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = Extras/CoreAudio/PublicUtility/CAStreamBasicDescription.cpp; sourceTree = "DEVELOPER_DIR"; };
+ BCB54D2E4C0C3357DACFD29B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
BCE8039887ABB9343A257AFC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; };
BD1EC91E61ECEAB657C78D5C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
BDB897B2503C29D7ABDDB656 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -662,6 +700,7 @@
C0BC3E52B08C2805E9509E7E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
C10968CE398AF92E9A5D68C4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
C1FB96F272AD4E2F6616A8AD = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectXPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_DirectXPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ C2C92FCE31284C0292F55427 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
C3053B347C5516757CE76653 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; };
C3077A9A84263C3B2B230B0D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; };
C30ACBCDB9F3BFA962B1D467 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -669,6 +708,7 @@
C3A57D29C59006AF39034062 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
C46535B208CC33B10D010E3F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
C49525A5A8FD7ECFD3292315 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
+ C4BC9568B31F3E7EC4C3C7E6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
C4CA0BF69BD074C55F7BD871 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginProcessor.h; path = ../../Source/PluginProcessor.h; sourceTree = "SOURCE_ROOT"; };
C4E99D3E7C558C9F14AFBB8E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
C5334A5D1AB867C5C4631D37 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
@@ -719,6 +759,7 @@
D61536C96044EF9D6AC724F7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
D6274E461525C6F6FB84B336 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
D6C649F04F03DA0744EA0456 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D6EB2F9DDC938830D6CA84CB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
D722F49E225A9A47AA348628 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
D79B9A384D018B252B6C4D6B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
D7A2C53BADFE9FFDED204B6E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -787,6 +828,7 @@
E95E53ABEA2884BA27EF0545 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
E9B20812DF15AC01D00FAFF5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
E9E8E69C63535541E37F44FC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA339FA929EF8AE42A8CE5BF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
EA6921266422F00734EF49B9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
EA906B8480C7585912B627B1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
EB3444A4CFC3864FF3F7E4FC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -838,13 +880,16 @@
F7AF91E09A9EB00EA5438730 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/CarbonEventHandler.cpp; sourceTree = "DEVELOPER_DIR"; };
F7E2FB533BCB2C8831276D22 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
F7EC22087BE9304F03690131 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F80CC5FB6425D6B5DD1BBC59 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
F838E6717B0378A7AA5A8DAA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
F8DD79AAF71228DAF2A1DFCC = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
F982D82AE9DADA0E6714C15D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
F9920CC0D2EFA33B2684DB7A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
F9FDBE9AC006011B600C0456 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; };
FA3E17F26069CEE1F5C1DBF3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
+ FABC846A7451773CA5FEDA13 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
FAC7CCF2EF58D03CB59F673C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FB2B8B95607A8B79BA7627E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; };
FB467808D080ECD1FB32E440 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; };
FB4DDE79084ACB2CDF371625 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
FB59A9B2D3147F5073F48CC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -857,6 +902,8 @@
FE0B9D0C5E9B31DF6B7E3616 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
FE3BB21C1A01E682BE4157F8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
FE7BF03E997B68345D812C18 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
+ FF25FC2D49382DCBDB76BC48 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FF443F140558EBF4EE8819F9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
FFB44C10D77D4B9DCA431C69 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
F4E255C7FF120419035C8CBE = { isa = PBXGroup; children = (
682D51082D9FE9859F364A10,
@@ -1743,6 +1790,62 @@
F4E4654939C415ABF59293B1,
B2B54E113A80EC53D5D71A38,
80164398F844C51A6F8532F5 ); name = "juce_gui_basics"; sourceTree = ""; };
+ B2B055337E596E2DAA7D427C = { isa = PBXGroup; children = (
+ 6F381D0C54E869B237830DC7,
+ 8916485BFFBA840EF46760CC,
+ FF443F140558EBF4EE8819F9,
+ 5FF425ECF12EC3A8D942CDCB,
+ 92EC4C0A72F7312F1FE85B2D,
+ EA339FA929EF8AE42A8CE5BF,
+ 39AD51EB5E59758E6FC4F313 ); name = "code_editor"; sourceTree = ""; };
+ F430D956469E7E4528571CD8 = { isa = PBXGroup; children = (
+ D6EB2F9DDC938830D6CA84CB,
+ 2168ED9FD91B4475612D7785 ); name = documents; sourceTree = ""; };
+ 303B6B606A73D0F37EB9C4F0 = { isa = PBXGroup; children = (
+ A11F51909BE2463C28099C0B,
+ BCB54D2E4C0C3357DACFD29B,
+ FABC846A7451773CA5FEDA13 ); name = embedding; sourceTree = ""; };
+ 35BF6F4F89C85C16173ACB32 = { isa = PBXGroup; children = (
+ 1A487CF48178F86FFF3E0EE9,
+ 1EFE70BA92D9C9771384F6EB ); name = lookandfeel; sourceTree = ""; };
+ 15F185E0F6AB1F1B887AEB5D = { isa = PBXGroup; children = (
+ 7CAABF65B56BE6A4529B2513,
+ A31CE7177BF947DB60F72D94,
+ 598E9C9D95393B4E4699CF0B,
+ 7B7DC20A834735F004A8A0C0,
+ 6615AA3C51D65AA6586812C4,
+ 0148FA619D1F0E5A597356FD,
+ 7368B0046A2F265498F9DD5E,
+ B6938F0B102875B8B0BEBC44,
+ 8E40EB375F5C4AE1651F3E49,
+ 4B13AFACB5B6B81347E6652D,
+ 3B9EA2905AC4A9924B9AC3FF,
+ FB2B8B95607A8B79BA7627E5,
+ 14A221649E68BA8FD0EADAE7,
+ 81766EF7DB6CE1CB01017097,
+ FF25FC2D49382DCBDB76BC48,
+ C4BC9568B31F3E7EC4C3C7E6 ); name = misc; sourceTree = ""; };
+ 236EF0A98CB51A9FDF1CE5E8 = { isa = PBXGroup; children = (
+ F80CC5FB6425D6B5DD1BBC59,
+ 219FBFE9990AA2ACA2F15FC1,
+ C2C92FCE31284C0292F55427,
+ 4B01C1EF1219C6405CD9A061,
+ A90E41C0C52BDF0CC82161C9,
+ 07C4AC0C62F94DDFA1FA0E31,
+ 19FE75EF12C18CF52D11D37E,
+ 2956FA046400383FC705C1CE,
+ B5406E636D4CF8285721DCF3,
+ 837035EBD15D2565B4DB677A,
+ 5F36266F9ABD981DF9EE035D ); name = native; sourceTree = ""; };
+ 777B3EE5ECE5A0B4799E842E = { isa = PBXGroup; children = (
+ B2B055337E596E2DAA7D427C,
+ F430D956469E7E4528571CD8,
+ 303B6B606A73D0F37EB9C4F0,
+ 35BF6F4F89C85C16173ACB32,
+ 15F185E0F6AB1F1B887AEB5D,
+ 236EF0A98CB51A9FDF1CE5E8,
+ 91B2EAD28E322C2F365FF975,
+ 7997E4EB2706B00B44880412 ); name = "juce_gui_extra"; sourceTree = ""; };
C6C3D10F6A56842C3125D633 = { isa = PBXGroup; children = (
645F82CEE72820AB4A2DCFCB,
562492315D562AD0AE406168,
@@ -1754,7 +1857,8 @@
E2967416E31A5CACFF51084A,
CFBF4D0CCCCAC57232361ABE,
F0F89564A3784EB052CEE01B,
- 3B12C460FF1466EAEDD258A8 ); name = "Juce Modules"; sourceTree = ""; };
+ 3B12C460FF1466EAEDD258A8,
+ 777B3EE5ECE5A0B4799E842E ); name = "Juce Modules"; sourceTree = ""; };
A8A516552AE9B51F35B89B2C = { isa = PBXGroup; children = (
2B2D54521D69CF4407471A56,
8B184C08A51AA14F56E42152,
@@ -1819,6 +1923,7 @@
DA325C1329DD36C198920558,
87755AF25BF68EE19666A135,
443C241B66AD431E05D3A2AD,
+ B2067C8614967BECF8B198D1,
9C9DEB7FB75C42C4F47AF999,
F7454AD16EE05969CCF5FD7C,
2D4B766DA1C66FA2857D80F7,
@@ -1840,7 +1945,8 @@
BA98346EFD1037285E245CC9,
28F65EEAFB3B971E8EDB10F3,
61848A238C57C54BF83884C3,
- 58E978708BAA8613A40F61E3 ); name = Frameworks; sourceTree = ""; };
+ 58E978708BAA8613A40F61E3,
+ A59A08DCC76EE0FC7EBE1203 ); name = Frameworks; sourceTree = ""; };
227AE5B2ACBB7881D9552404 = { isa = PBXGroup; children = (
63F8022F081E22DFFFCAC998 ); name = Products; sourceTree = ""; };
4074359E1E7C4D54E87C3461 = { isa = PBXGroup; children = (
@@ -1972,6 +2078,7 @@
EA073FBAAC7AC3040B1422D1,
FA531AB0CE4F5AA5C7073CE8,
3288574B40AF43AA1AA5FAD0,
+ C2E42AA4FA74BE14DDE5573B,
E01E4438B2F0F3C3CE4F5240,
7732BED2285AE6572CC2BF11,
C99CF7958D391CB2F97CC5F8,
@@ -1989,7 +2096,8 @@
27E7A851C1C94C16A74C6D07,
ECF60C3CF6D180AAFF43C822,
CC4D3A6F1EF2934059AA9FEB,
- 221F46E90C0A8651AB76A0E5 ); runOnlyForDeploymentPostprocessing = 0; };
+ 221F46E90C0A8651AB76A0E5,
+ B46C12D99498E9FA8F1D083A ); runOnlyForDeploymentPostprocessing = 0; };
E277BCF6E051A6008DD74155 = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Copy to the different plugin folders"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, and RTAS folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTAS=/Library/Application\\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\nfi\n"; };
27A65CD0B053616E226D4547 = { isa = PBXNativeTarget; buildConfigurationList = 92D1022F6276146FC92B4442; buildPhases = (
0D832C784AB07BFDE57BCB92,
diff --git a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj b/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj
index 2ee18e7592..c427159e2e 100644
--- a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj
+++ b/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj
@@ -3900,6 +3900,234 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3913,6 +4141,7 @@
+
+
diff --git a/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc b/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc
new file mode 100644
index 0000000000..281e9b7b7e
--- /dev/null
+++ b/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc
@@ -0,0 +1,24 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "JuceDemoPlugin\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "JuceDemoPlugin\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj b/extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
index 0ee4cfc423..60c88ee417 100644
--- a/extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
+++ b/extras/audio plugin demo/Builds/VisualStudio2008/JuceDemoPlugin.vcproj
@@ -3900,6 +3900,234 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3913,6 +4141,7 @@
+
+
diff --git a/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc b/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc
new file mode 100644
index 0000000000..281e9b7b7e
--- /dev/null
+++ b/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc
@@ -0,0 +1,24 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "JuceDemoPlugin\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "JuceDemoPlugin\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/audio plugin demo/JuceDemoPlugin.jucer b/extras/audio plugin demo/JuceDemoPlugin.jucer
index a1f8a681af..7d02e556c8 100644
--- a/extras/audio plugin demo/JuceDemoPlugin.jucer
+++ b/extras/audio plugin demo/JuceDemoPlugin.jucer
@@ -8,7 +8,8 @@
pluginWantsMidiIn="1" pluginProducesMidiOut="1" pluginSilenceInIsSilenceOut="0"
pluginTailLength="0" pluginEditorRequiresKeys="1" pluginAUExportPrefix="JuceDemoProjectAU"
pluginAUViewClass="JuceDemoProjectAU_V1" pluginRTASCategory=""
- bundleIdentifier="com.rawmaterialsoftware.JuceDemoPlugin" jucerVersion="3.0.0">
+ bundleIdentifier="com.rawmaterialsoftware.JuceDemoPlugin" jucerVersion="3.0.0"
+ companyName="Raw Material Software Ltd.">
@@ -22,22 +23,28 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -67,5 +74,6 @@
+
diff --git a/extras/audio plugin demo/JuceLibraryCode/AppConfig.h b/extras/audio plugin demo/JuceLibraryCode/AppConfig.h
index c28b6ce8ae..1cb845c5be 100644
--- a/extras/audio plugin demo/JuceLibraryCode/AppConfig.h
+++ b/extras/audio plugin demo/JuceLibraryCode/AppConfig.h
@@ -25,6 +25,7 @@
#define JUCE_MODULE_AVAILABLE_juce_events 1
#define JUCE_MODULE_AVAILABLE_juce_graphics 1
#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1
+#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1
//==============================================================================
// juce_audio_devices flags:
@@ -132,6 +133,13 @@
//#define JUCE_USE_XCURSOR
#endif
+//==============================================================================
+// juce_gui_extra flags:
+
+#ifndef JUCE_WEB_BROWSER
+ //#define JUCE_WEB_BROWSER
+#endif
+
//==============================================================================
// Audio plugin settings..
diff --git a/extras/audio plugin demo/JuceLibraryCode/JuceHeader.h b/extras/audio plugin demo/JuceLibraryCode/JuceHeader.h
index 62a6a1dc91..5d15b01fcf 100644
--- a/extras/audio plugin demo/JuceLibraryCode/JuceHeader.h
+++ b/extras/audio plugin demo/JuceLibraryCode/JuceHeader.h
@@ -25,6 +25,7 @@
#include "modules/juce_events/juce_events.h"
#include "modules/juce_graphics/juce_graphics.h"
#include "modules/juce_gui_basics/juce_gui_basics.h"
+#include "modules/juce_gui_extra/juce_gui_extra.h"
#if ! DONT_SET_USING_JUCE_NAMESPACE
// If your code uses a lot of JUCE classes, then this will obviously save you
diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h
new file mode 100644
index 0000000000..7efee1d103
--- /dev/null
+++ b/extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h
@@ -0,0 +1,5 @@
+// This is an auto-generated file to redirect any included
+// module headers to the correct external folder.
+
+#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h"
+
diff --git a/extras/audio plugin host/Builds/MacOSX/Info.plist b/extras/audio plugin host/Builds/MacOSX/Info.plist
index 8f3a957414..ecb9f717ee 100644
--- a/extras/audio plugin host/Builds/MacOSX/Info.plist
+++ b/extras/audio plugin host/Builds/MacOSX/Info.plist
@@ -19,5 +19,7 @@
1.0.0
CFBundleVersion
1.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
diff --git a/extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj b/extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj
index 19e8f4b62d..77805550af 100644
--- a/extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj
+++ b/extras/audio plugin host/Builds/VisualStudio2005/Plugin Host.vcproj
@@ -4400,6 +4400,7 @@
+
diff --git a/extras/audio plugin host/Builds/VisualStudio2005/resources.rc b/extras/audio plugin host/Builds/VisualStudio2005/resources.rc
new file mode 100644
index 0000000000..062d857963
--- /dev/null
+++ b/extras/audio plugin host/Builds/VisualStudio2005/resources.rc
@@ -0,0 +1,24 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "Plugin Host\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "Plugin Host\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj b/extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj
index 789adbf417..2b03f24db5 100644
--- a/extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj
+++ b/extras/audio plugin host/Builds/VisualStudio2008/Plugin Host.vcproj
@@ -4400,6 +4400,7 @@
+
diff --git a/extras/audio plugin host/Builds/VisualStudio2008/resources.rc b/extras/audio plugin host/Builds/VisualStudio2008/resources.rc
new file mode 100644
index 0000000000..062d857963
--- /dev/null
+++ b/extras/audio plugin host/Builds/VisualStudio2008/resources.rc
@@ -0,0 +1,24 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "Plugin Host\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "Plugin Host\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/audio plugin host/Plugin Host.jucer b/extras/audio plugin host/Plugin Host.jucer
index 4e7e456bff..dc9939c573 100644
--- a/extras/audio plugin host/Plugin Host.jucer
+++ b/extras/audio plugin host/Plugin Host.jucer
@@ -10,13 +10,13 @@
pluginSilenceInIsSilenceOut="0" pluginTailLength="0" pluginEditorRequiresKeys="0"
pluginAUExportPrefix="JuceProjectAU" pluginAUViewClass="JuceProjectAU_V1"
pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.pluginhost"
- jucerVersion="3.0.0">
+ jucerVersion="3.0.0" companyName="Raw Material Software Ltd.">
+ osxSDK="default" osxCompatibility="default" osxArchitecture="default"/>
@@ -24,21 +24,27 @@
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/extras/binarybuilder/Builds/VisualStudio2008/BinaryBuilder.vcproj b/extras/binarybuilder/Builds/VisualStudio2008/BinaryBuilder.vcproj
index fce70eb36f..f5ccdbb40b 100644
--- a/extras/binarybuilder/Builds/VisualStudio2008/BinaryBuilder.vcproj
+++ b/extras/binarybuilder/Builds/VisualStudio2008/BinaryBuilder.vcproj
@@ -973,6 +973,7 @@
+
diff --git a/extras/binarybuilder/Builds/VisualStudio2008/resources.rc b/extras/binarybuilder/Builds/VisualStudio2008/resources.rc
new file mode 100644
index 0000000000..656bc7b3b6
--- /dev/null
+++ b/extras/binarybuilder/Builds/VisualStudio2008/resources.rc
@@ -0,0 +1,23 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "FileDescription", "BinaryBuilder\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "BinaryBuilder\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/example projects/Builds/MacOSX/Info.plist b/extras/example projects/Builds/MacOSX/Info.plist
index ec4f6fd627..f28d79d388 100644
--- a/extras/example projects/Builds/MacOSX/Info.plist
+++ b/extras/example projects/Builds/MacOSX/Info.plist
@@ -19,5 +19,7 @@
1.0.0
CFBundleVersion
1.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
diff --git a/extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj b/extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj
index 970cde6405..85f6204273 100644
--- a/extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj
+++ b/extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj
@@ -3233,6 +3233,7 @@
+
diff --git a/extras/example projects/Builds/VisualStudio2005/resources.rc b/extras/example projects/Builds/VisualStudio2005/resources.rc
new file mode 100644
index 0000000000..ec2189b1fb
--- /dev/null
+++ b/extras/example projects/Builds/VisualStudio2005/resources.rc
@@ -0,0 +1,24 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "HelloWorld\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "HelloWorld\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/example projects/Builds/VisualStudio2008/HelloWorld.vcproj b/extras/example projects/Builds/VisualStudio2008/HelloWorld.vcproj
index 56c4344e93..9da8fe0ada 100644
--- a/extras/example projects/Builds/VisualStudio2008/HelloWorld.vcproj
+++ b/extras/example projects/Builds/VisualStudio2008/HelloWorld.vcproj
@@ -3233,6 +3233,7 @@
+
diff --git a/extras/example projects/Builds/VisualStudio2008/resources.rc b/extras/example projects/Builds/VisualStudio2008/resources.rc
new file mode 100644
index 0000000000..ec2189b1fb
--- /dev/null
+++ b/extras/example projects/Builds/VisualStudio2008/resources.rc
@@ -0,0 +1,24 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "CompanyName", "Raw Material Software Ltd.\0"
+ VALUE "FileDescription", "HelloWorld\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "HelloWorld\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
diff --git a/extras/example projects/Builds/iOS/Info.plist b/extras/example projects/Builds/iOS/Info.plist
index 7d2e93cd27..b1c34124ee 100644
--- a/extras/example projects/Builds/iOS/Info.plist
+++ b/extras/example projects/Builds/iOS/Info.plist
@@ -21,5 +21,7 @@
1.0.0
CFBundleVersion
1.0.0
+ NSHumanReadableCopyright
+ Raw Material Software Ltd.
diff --git a/extras/example projects/HelloWorld.jucer b/extras/example projects/HelloWorld.jucer
index dd5c3672a8..d28f3f1ab6 100644
--- a/extras/example projects/HelloWorld.jucer
+++ b/extras/example projects/HelloWorld.jucer
@@ -9,44 +9,51 @@
pluginCode="Abcd" pluginChannelConfigs="{1, 1}, {2, 2}" pluginIsSynth="0"
pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="0"
pluginTailLength="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="HelloWorldAU"
- pluginAUViewClass="HelloWorldAU_V1" pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.jucehelloworld">
+ pluginAUViewClass="HelloWorldAU_V1" pluginRTASCategory="" bundleIdentifier="com.rawmaterialsoftware.jucehelloworld"
+ companyName="Raw Material Software Ltd.">
+ osxSDK="1" osxCompatibility="1" osxArchitecture="default"/>
+ osxSDK="1" osxCompatibility="1" osxArchitecture="default"/>
+ osxSDK="1" osxCompatibility="1" osxArchitecture="default"/>
+ osxSDK="1" osxCompatibility="1" osxArchitecture="default"/>
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/extras/the jucer/Builds/MacOSX/Info.plist b/extras/the jucer/Builds/MacOSX/Info.plist
index c213887d7b..fcd51df4f7 100644
--- a/extras/the jucer/Builds/MacOSX/Info.plist
+++ b/extras/the jucer/Builds/MacOSX/Info.plist
@@ -19,5 +19,7 @@
1.0.0
CFBundleVersion
1.0.0
+ NSHumanReadableCopyright
+
diff --git a/extras/the jucer/Builds/VisualStudio2008/resources.rc b/extras/the jucer/Builds/VisualStudio2008/resources.rc
index b20115c096..a842a965d6 100644
--- a/extras/the jucer/Builds/VisualStudio2008/resources.rc
+++ b/extras/the jucer/Builds/VisualStudio2008/resources.rc
@@ -1 +1,25 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "FileDescription", "Jucer\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "Jucer\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/extras/the jucer/Builds/VisualStudio2010/resources.rc b/extras/the jucer/Builds/VisualStudio2010/resources.rc
index b20115c096..a842a965d6 100644
--- a/extras/the jucer/Builds/VisualStudio2010/resources.rc
+++ b/extras/the jucer/Builds/VisualStudio2010/resources.rc
@@ -1 +1,25 @@
+#undef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#include
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION 1,0,0,0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4"
+ BEGIN
+ VALUE "FileDescription", "Jucer\0"
+ VALUE "FileVersion", "1.0.0\0"
+ VALUE "ProductName", "Jucer\0"
+ VALUE "ProductVersion", "1.0.0\0"
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 65001
+ END
+END
+
IDI_ICON1 ICON DISCARDABLE "icon.ico"
\ No newline at end of file
diff --git a/modules/juce_audio_basics/midi/juce_MidiMessage.cpp b/modules/juce_audio_basics/midi/juce_MidiMessage.cpp
index 354563062a..93e7cfe248 100644
--- a/modules/juce_audio_basics/midi/juce_MidiMessage.cpp
+++ b/modules/juce_audio_basics/midi/juce_MidiMessage.cpp
@@ -557,7 +557,7 @@ MidiMessage MidiMessage::controllerEvent (const int channel, const int controlle
MidiMessage MidiMessage::noteOn (const int channel, const int noteNumber, const float velocity) noexcept
{
- return noteOn (channel, noteNumber, (uint8) (velocity * 127.0f));
+ return noteOn (channel, noteNumber, (uint8) (velocity * 127.0f + 0.5f));
}
MidiMessage MidiMessage::noteOn (const int channel, const int noteNumber, const uint8 velocity) noexcept
diff --git a/modules/juce_core/native/juce_android_SystemStats.cpp b/modules/juce_core/native/juce_android_SystemStats.cpp
index 7516858d0b..7d70e6b753 100644
--- a/modules/juce_core/native/juce_android_SystemStats.cpp
+++ b/modules/juce_core/native/juce_android_SystemStats.cpp
@@ -178,7 +178,7 @@ int SystemStats::getCpuSpeedInMegaherz()
int SystemStats::getMemorySizeInMegabytes()
{
- #if __ANDROID_API__ > 7
+ #if __ANDROID_API__ >= 9
struct sysinfo sysi;
if (sysinfo (&sysi) == 0)
diff --git a/modules/juce_opengl/juce_opengl.cpp b/modules/juce_opengl/juce_opengl.cpp
index 1e53c7a1ce..ad1e04cac0 100644
--- a/modules/juce_opengl/juce_opengl.cpp
+++ b/modules/juce_opengl/juce_opengl.cpp
@@ -193,6 +193,7 @@ namespace juce
#include "native/juce_linux_OpenGLComponent.cpp"
#elif JUCE_ANDROID
+ #include "../juce_core/native/juce_android_JNIHelpers.h"
#include "native/juce_android_OpenGLComponent.cpp"
#endif
diff --git a/modules/juce_opengl/opengl/juce_OpenGLComponent.cpp b/modules/juce_opengl/opengl/juce_OpenGLComponent.cpp
index e2a6a3c4e7..3becef108b 100644
--- a/modules/juce_opengl/opengl/juce_OpenGLComponent.cpp
+++ b/modules/juce_opengl/opengl/juce_OpenGLComponent.cpp
@@ -330,6 +330,7 @@ void OpenGLComponent::updateContext()
void OpenGLComponent::deleteContext()
{
const ScopedLock sl (contextLock);
+
if (context != nullptr)
{
if (context->makeActive())
@@ -346,6 +347,14 @@ void OpenGLComponent::deleteContext()
needToDeleteContext = false;
}
+bool OpenGLComponent::rebuildContext()
+{
+ needToDeleteContext = true;
+ updateContext();
+
+ return context != nullptr && context->makeActive();
+}
+
void OpenGLComponent::updateContextPosition()
{
needToUpdateViewport = true;
diff --git a/modules/juce_opengl/opengl/juce_OpenGLComponent.h b/modules/juce_opengl/opengl/juce_OpenGLComponent.h
index 45694d5a09..d083081e4e 100644
--- a/modules/juce_opengl/opengl/juce_OpenGLComponent.h
+++ b/modules/juce_opengl/opengl/juce_OpenGLComponent.h
@@ -229,6 +229,17 @@ public:
*/
void deleteContext();
+ /** Tries to synchronously delete and re-create the context.
+ If the context doesn't exist already, this will try to create one.
+ If it exists, it'll first delete the existing one, and create a new one.
+ You may need to call this if you require a temporary context for some reason
+ before the normal call to newOpenGLContextCreated() is made.
+
+ @returns true if a new context has been successfully created - this may not be
+ possible on all platforms.
+ */
+ bool rebuildContext();
+
/** If this component is backed by a frame buffer, this returns its ID number, or
0 if the component has no accessible framebuffer.
*/