mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough
This commit is contained in:
parent
f9961e9938
commit
59a058fdc6
69 changed files with 518 additions and 409 deletions
|
|
@ -166,6 +166,9 @@ public:
|
||||||
m_body->ApplyTorque(-50.0f);
|
m_body->ApplyTorque(-50.0f);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,11 @@ public:
|
||||||
return { static_cast<float> (port.index), static_cast<float> (block->getHeight()) };
|
return { static_cast<float> (port.index), static_cast<float> (block->getHeight()) };
|
||||||
case e::west:
|
case e::west:
|
||||||
return { 0.0f, static_cast<float> (port.index) };
|
return { 0.0f, static_cast<float> (port.index) };
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case 90:
|
case 90:
|
||||||
{
|
{
|
||||||
|
|
@ -189,7 +193,11 @@ public:
|
||||||
return { static_cast<float> (0.0f - block->getHeight()), static_cast<float> (port.index) };
|
return { static_cast<float> (0.0f - block->getHeight()), static_cast<float> (port.index) };
|
||||||
case e::west:
|
case e::west:
|
||||||
return { static_cast<float> (-1.0f - port.index), 0.0f };
|
return { static_cast<float> (-1.0f - port.index), 0.0f };
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case 180:
|
case 180:
|
||||||
{
|
{
|
||||||
|
|
@ -203,7 +211,11 @@ public:
|
||||||
return { static_cast<float> (-1.0f - port.index), static_cast<float> (0.0f - block->getHeight()) };
|
return { static_cast<float> (-1.0f - port.index), static_cast<float> (0.0f - block->getHeight()) };
|
||||||
case e::west:
|
case e::west:
|
||||||
return { 0.0f, static_cast<float> (-1.0f - port.index) };
|
return { 0.0f, static_cast<float> (-1.0f - port.index) };
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case 270:
|
case 270:
|
||||||
{
|
{
|
||||||
|
|
@ -217,8 +229,15 @@ public:
|
||||||
return { static_cast<float> (block->getHeight()), static_cast<float> (-1.0f - port.index) };
|
return { static_cast<float> (block->getHeight()), static_cast<float> (-1.0f - port.index) };
|
||||||
case e::west:
|
case e::west:
|
||||||
return { static_cast<float> (port.index), 0.0f };
|
return { static_cast<float> (port.index), 0.0f };
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
|
@ -921,7 +940,11 @@ private:
|
||||||
return 90;
|
return 90;
|
||||||
case edge::west:
|
case edge::west:
|
||||||
return 270;
|
return 270;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case edge::south:
|
case edge::south:
|
||||||
{
|
{
|
||||||
|
|
@ -935,7 +958,11 @@ private:
|
||||||
return 270;
|
return 270;
|
||||||
case edge::west:
|
case edge::west:
|
||||||
return 90;
|
return 90;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
case edge::east:
|
case edge::east:
|
||||||
{
|
{
|
||||||
|
|
@ -949,7 +976,11 @@ private:
|
||||||
return 180;
|
return 180;
|
||||||
case edge::west:
|
case edge::west:
|
||||||
return 0;
|
return 0;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case edge::west:
|
case edge::west:
|
||||||
|
|
@ -964,8 +995,15 @@ private:
|
||||||
return 0;
|
return 0;
|
||||||
case edge::west:
|
case edge::west:
|
||||||
return 180;
|
return 180;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -219,13 +219,9 @@ private:
|
||||||
{
|
{
|
||||||
AlertWindow::AlertIconType icon = AlertWindow::NoIcon;
|
AlertWindow::AlertIconType icon = AlertWindow::NoIcon;
|
||||||
|
|
||||||
switch (type)
|
if (type == warningAlertWindow) icon = AlertWindow::WarningIcon;
|
||||||
{
|
if (type == infoAlertWindow) icon = AlertWindow::InfoIcon;
|
||||||
case warningAlertWindow: icon = AlertWindow::WarningIcon; break;
|
if (type == questionAlertWindow) icon = AlertWindow::QuestionIcon;
|
||||||
case infoAlertWindow: icon = AlertWindow::InfoIcon; break;
|
|
||||||
case questionAlertWindow: icon = AlertWindow::QuestionIcon; break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
AlertWindow::showMessageBoxAsync (icon, "This is an AlertWindow",
|
AlertWindow::showMessageBoxAsync (icon, "This is an AlertWindow",
|
||||||
"And this is the AlertWindow's message. Blah blah blah blah blah blah blah blah blah blah blah blah blah.",
|
"And this is the AlertWindow's message. Blah blah blah blah blah blah blah blah blah blah blah blah blah.",
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,7 @@ struct DemoFlexPanel : public juce::Component
|
||||||
case 3: flexItem.alignSelf = FlexItem::AlignSelf::flexEnd; break;
|
case 3: flexItem.alignSelf = FlexItem::AlignSelf::flexEnd; break;
|
||||||
case 4: flexItem.alignSelf = FlexItem::AlignSelf::center; break;
|
case 4: flexItem.alignSelf = FlexItem::AlignSelf::center; break;
|
||||||
case 5: flexItem.alignSelf = FlexItem::AlignSelf::stretch; break;
|
case 5: flexItem.alignSelf = FlexItem::AlignSelf::stretch; break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshLayout();
|
refreshLayout();
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,7 @@ static const char* getDisplayOrientation()
|
||||||
case Desktop::upsideDown: return "Upside-down";
|
case Desktop::upsideDown: return "Upside-down";
|
||||||
case Desktop::rotatedClockwise: return "Rotated Clockwise";
|
case Desktop::rotatedClockwise: return "Rotated Clockwise";
|
||||||
case Desktop::rotatedAntiClockwise: return "Rotated Anti-clockwise";
|
case Desktop::rotatedAntiClockwise: return "Rotated Anti-clockwise";
|
||||||
|
case Desktop::allOrientations: return "All";
|
||||||
default: jassertfalse; break;
|
default: jassertfalse; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -227,6 +227,7 @@ private:
|
||||||
case Type::programs: return "Programs";
|
case Type::programs: return "Programs";
|
||||||
case Type::audioIO: return "IO";
|
case Type::audioIO: return "IO";
|
||||||
case Type::debug: return "Debug";
|
case Type::debug: return "Debug";
|
||||||
|
case Type::numTypes:
|
||||||
default: return {};
|
default: return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,8 @@ static const char* getLicenseStateValue (LicenseState::Type type)
|
||||||
case LicenseState::Type::edu: return "edu";
|
case LicenseState::Type::edu: return "edu";
|
||||||
case LicenseState::Type::indie: return "indie";
|
case LicenseState::Type::indie: return "indie";
|
||||||
case LicenseState::Type::pro: return "pro";
|
case LicenseState::Type::pro: return "pro";
|
||||||
|
case LicenseState::Type::notLoggedIn:
|
||||||
|
case LicenseState::Type::noLicenseChosenYet:
|
||||||
default: return nullptr;
|
default: return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -77,9 +79,10 @@ static const char* getApplicationUsageDataStateValue (LicenseState::ApplicationU
|
||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case LicenseState::ApplicationUsageData::enabled: return "enabled";
|
case LicenseState::ApplicationUsageData::enabled: return "enabled";
|
||||||
case LicenseState::ApplicationUsageData::disabled: return "disabled";
|
case LicenseState::ApplicationUsageData::disabled: return "disabled";
|
||||||
default: return "notChosen";
|
case LicenseState::ApplicationUsageData::notChosenYet:
|
||||||
|
default: return "notChosen";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,7 @@ struct DiagnosticMessage
|
||||||
case error: res << "error: "; break;
|
case error: res << "error: "; break;
|
||||||
case warning: res << "warning: "; break;
|
case warning: res << "warning: "; break;
|
||||||
case note: res << "note: "; break;
|
case note: res << "note: "; break;
|
||||||
|
default: break;
|
||||||
};
|
};
|
||||||
|
|
||||||
res << mainFile << ": ";
|
res << mainFile << ": ";
|
||||||
|
|
|
||||||
|
|
@ -855,6 +855,10 @@ bool Project::shouldBuildTargetType (ProjectType::Target::Type targetType) const
|
||||||
return projectType.isAudioPlugin();
|
return projectType.isAudioPlugin();
|
||||||
case ProjectType::Target::unspecified:
|
case ProjectType::Target::unspecified:
|
||||||
return false;
|
return false;
|
||||||
|
case ProjectType::Target::GUIApp:
|
||||||
|
case ProjectType::Target::ConsoleApp:
|
||||||
|
case ProjectType::Target::StaticLibrary:
|
||||||
|
case ProjectType::Target::DynamicLibrary:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -894,6 +898,7 @@ const char* ProjectType::Target::getName() const noexcept
|
||||||
case UnityPlugIn: return "Unity Plugin";
|
case UnityPlugIn: return "Unity Plugin";
|
||||||
case SharedCodeTarget: return "Shared Code";
|
case SharedCodeTarget: return "Shared Code";
|
||||||
case AggregateTarget: return "All";
|
case AggregateTarget: return "All";
|
||||||
|
case unspecified:
|
||||||
default: return "undefined";
|
default: return "undefined";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -915,6 +920,8 @@ ProjectType::Target::TargetFileType ProjectType::Target::getTargetFileType() con
|
||||||
case RTASPlugIn: return pluginBundle;
|
case RTASPlugIn: return pluginBundle;
|
||||||
case UnityPlugIn: return pluginBundle;
|
case UnityPlugIn: return pluginBundle;
|
||||||
case SharedCodeTarget: return staticLibrary;
|
case SharedCodeTarget: return staticLibrary;
|
||||||
|
case AggregateTarget:
|
||||||
|
case unspecified:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,11 @@ struct ProjectType_AudioPlugin : public ProjectType
|
||||||
case Target::SharedCodeTarget:
|
case Target::SharedCodeTarget:
|
||||||
case Target::AggregateTarget:
|
case Target::AggregateTarget:
|
||||||
return true;
|
return true;
|
||||||
|
case Target::GUIApp:
|
||||||
|
case Target::ConsoleApp:
|
||||||
|
case Target::StaticLibrary:
|
||||||
|
case Target::DynamicLibrary:
|
||||||
|
case Target::unspecified:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,18 +51,8 @@ public:
|
||||||
|
|
||||||
bool supportsTargetType (ProjectType::Target::Type type) const override
|
bool supportsTargetType (ProjectType::Target::Type type) const override
|
||||||
{
|
{
|
||||||
switch (type)
|
return type == ProjectType::Target::GUIApp || type == ProjectType::Target::StaticLibrary
|
||||||
{
|
|| type == ProjectType::Target::DynamicLibrary || type == ProjectType::Target::StandalonePlugIn;
|
||||||
case ProjectType::Target::GUIApp:
|
|
||||||
case ProjectType::Target::StaticLibrary:
|
|
||||||
case ProjectType::Target::DynamicLibrary:
|
|
||||||
case ProjectType::Target::StandalonePlugIn:
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
|
||||||
|
|
@ -356,6 +356,8 @@ private:
|
||||||
properties.add ("MODULE");
|
properties.add ("MODULE");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case ProjectType::Target::TargetFileType::macOSAppex:
|
||||||
|
case ProjectType::Target::TargetFileType::unknown:
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,13 @@ public:
|
||||||
case ProjectType::Target::VSTPlugIn:
|
case ProjectType::Target::VSTPlugIn:
|
||||||
case ProjectType::Target::DynamicLibrary:
|
case ProjectType::Target::DynamicLibrary:
|
||||||
return true;
|
return true;
|
||||||
|
case ProjectType::Target::AAXPlugIn:
|
||||||
|
case ProjectType::Target::RTASPlugIn:
|
||||||
|
case ProjectType::Target::UnityPlugIn:
|
||||||
|
case ProjectType::Target::VST3PlugIn:
|
||||||
|
case ProjectType::Target::AudioUnitPlugIn:
|
||||||
|
case ProjectType::Target::AudioUnitv3PlugIn:
|
||||||
|
case ProjectType::Target::unspecified:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -274,6 +281,8 @@ private:
|
||||||
case staticLibrary: return ".lib";
|
case staticLibrary: return ".lib";
|
||||||
case sharedLibraryOrDLL:
|
case sharedLibraryOrDLL:
|
||||||
case pluginBundle: return ".dll";
|
case pluginBundle: return ".dll";
|
||||||
|
case macOSAppex:
|
||||||
|
case unknown:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -284,17 +293,10 @@ private:
|
||||||
{
|
{
|
||||||
case executable: return {};
|
case executable: return {};
|
||||||
case staticLibrary: return ".a";
|
case staticLibrary: return ".a";
|
||||||
case sharedLibraryOrDLL: return ".so";
|
|
||||||
|
|
||||||
case pluginBundle:
|
case pluginBundle:
|
||||||
switch (type)
|
case sharedLibraryOrDLL: return ".so";
|
||||||
{
|
case macOSAppex:
|
||||||
case VSTPlugIn: return ".so";
|
case unknown:
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ".so";
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -523,22 +525,10 @@ private:
|
||||||
|
|
||||||
static int getTypeIndex (const ProjectType::Target::Type& type)
|
static int getTypeIndex (const ProjectType::Target::Type& type)
|
||||||
{
|
{
|
||||||
switch (type)
|
if (type == ProjectType::Target::GUIApp || type == ProjectType::Target::StandalonePlugIn) return 0;
|
||||||
{
|
if (type == ProjectType::Target::ConsoleApp) return 1;
|
||||||
case ProjectType::Target::GUIApp:
|
if (type == ProjectType::Target::StaticLibrary || type == ProjectType::Target::SharedCodeTarget) return 2;
|
||||||
case ProjectType::Target::StandalonePlugIn:
|
if (type == ProjectType::Target::DynamicLibrary || type == ProjectType::Target::VSTPlugIn) return 3;
|
||||||
return 0;
|
|
||||||
case ProjectType::Target::ConsoleApp:
|
|
||||||
return 1;
|
|
||||||
case ProjectType::Target::StaticLibrary:
|
|
||||||
case ProjectType::Target::SharedCodeTarget:
|
|
||||||
return 2;
|
|
||||||
case ProjectType::Target::DynamicLibrary:
|
|
||||||
case ProjectType::Target::VSTPlugIn:
|
|
||||||
return 3;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -726,15 +726,10 @@ public:
|
||||||
|
|
||||||
String getProjectType() const
|
String getProjectType() const
|
||||||
{
|
{
|
||||||
switch (getTargetFileType())
|
auto targetFileType = getTargetFileType();
|
||||||
{
|
|
||||||
case executable:
|
if (targetFileType == executable) return "Application";
|
||||||
return "Application";
|
if (targetFileType == staticLibrary) return "StaticLibrary";
|
||||||
case staticLibrary:
|
|
||||||
return "StaticLibrary";
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return "DynamicLibrary";
|
return "DynamicLibrary";
|
||||||
}
|
}
|
||||||
|
|
@ -977,25 +972,17 @@ public:
|
||||||
{
|
{
|
||||||
auto fileType = getTargetFileType();
|
auto fileType = getTargetFileType();
|
||||||
|
|
||||||
switch (fileType)
|
if (fileType == executable) return ".exe";
|
||||||
|
if (fileType == staticLibrary) return ".lib";
|
||||||
|
if (fileType == sharedLibraryOrDLL) return ".dll";
|
||||||
|
|
||||||
|
if (fileType == pluginBundle)
|
||||||
{
|
{
|
||||||
case executable: return ".exe";
|
if (type == VST3PlugIn) return ".vst3";
|
||||||
case staticLibrary: return ".lib";
|
if (type == AAXPlugIn) return ".aaxdll";
|
||||||
case sharedLibraryOrDLL: return ".dll";
|
if (type == RTASPlugIn) return ".dpm";
|
||||||
|
|
||||||
case pluginBundle:
|
return ".dll";
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case VST3PlugIn: return ".vst3";
|
|
||||||
case AAXPlugIn: return ".aaxdll";
|
|
||||||
case RTASPlugIn: return ".dpm";
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ".dll";
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
|
@ -1150,22 +1137,15 @@ public:
|
||||||
|
|
||||||
void addExtraPreprocessorDefines (StringPairArray& defines) const
|
void addExtraPreprocessorDefines (StringPairArray& defines) const
|
||||||
{
|
{
|
||||||
switch (type)
|
if (type == AAXPlugIn)
|
||||||
{
|
{
|
||||||
case AAXPlugIn:
|
auto aaxLibsFolder = RelativePath (owner.getAAXPathString(), RelativePath::projectFolder).getChildFile ("Libs");
|
||||||
{
|
defines.set ("JucePlugin_AAXLibs_path", createRebasedPath (aaxLibsFolder));
|
||||||
auto aaxLibsFolder = RelativePath (owner.getAAXPathString(), RelativePath::projectFolder).getChildFile ("Libs");
|
}
|
||||||
defines.set ("JucePlugin_AAXLibs_path", createRebasedPath (aaxLibsFolder));
|
else if (type == RTASPlugIn)
|
||||||
}
|
{
|
||||||
break;
|
RelativePath rtasFolder (owner.getRTASPathString(), RelativePath::projectFolder);
|
||||||
case RTASPlugIn:
|
defines.set ("JucePlugin_WinBag_path", createRebasedPath (rtasFolder.getChildFile ("WinBag")));
|
||||||
{
|
|
||||||
RelativePath rtasFolder (owner.getRTASPathString(), RelativePath::projectFolder);
|
|
||||||
defines.set ("JucePlugin_WinBag_path", createRebasedPath (rtasFolder.getChildFile ("WinBag")));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1353,6 +1333,9 @@ public:
|
||||||
case ProjectType::Target::UnityPlugIn:
|
case ProjectType::Target::UnityPlugIn:
|
||||||
case ProjectType::Target::DynamicLibrary:
|
case ProjectType::Target::DynamicLibrary:
|
||||||
return true;
|
return true;
|
||||||
|
case ProjectType::Target::AudioUnitPlugIn:
|
||||||
|
case ProjectType::Target::AudioUnitv3PlugIn:
|
||||||
|
case ProjectType::Target::unspecified:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -175,15 +175,11 @@ public:
|
||||||
|
|
||||||
String getTargetFileSuffix() const
|
String getTargetFileSuffix() const
|
||||||
{
|
{
|
||||||
switch (type)
|
if (type == VSTPlugIn || type == UnityPlugIn || type == DynamicLibrary)
|
||||||
{
|
return ".so";
|
||||||
case VSTPlugIn:
|
|
||||||
case UnityPlugIn:
|
if (type == SharedCodeTarget || type == StaticLibrary)
|
||||||
case DynamicLibrary: return ".so";
|
return ".a";
|
||||||
case SharedCodeTarget:
|
|
||||||
case StaticLibrary: return ".a";
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
@ -357,6 +353,12 @@ public:
|
||||||
case ProjectType::Target::DynamicLibrary:
|
case ProjectType::Target::DynamicLibrary:
|
||||||
case ProjectType::Target::UnityPlugIn:
|
case ProjectType::Target::UnityPlugIn:
|
||||||
return true;
|
return true;
|
||||||
|
case ProjectType::Target::VST3PlugIn:
|
||||||
|
case ProjectType::Target::AAXPlugIn:
|
||||||
|
case ProjectType::Target::RTASPlugIn:
|
||||||
|
case ProjectType::Target::AudioUnitPlugIn:
|
||||||
|
case ProjectType::Target::AudioUnitv3PlugIn:
|
||||||
|
case ProjectType::Target::unspecified:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -247,6 +247,7 @@ public:
|
||||||
case ProjectType::Target::AudioUnitPlugIn:
|
case ProjectType::Target::AudioUnitPlugIn:
|
||||||
case ProjectType::Target::UnityPlugIn:
|
case ProjectType::Target::UnityPlugIn:
|
||||||
return ! iOS;
|
return ! iOS;
|
||||||
|
case ProjectType::Target::unspecified:
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -978,6 +979,7 @@ public:
|
||||||
xcodeCopyToProductInstallPathAfterBuild = false;
|
xcodeCopyToProductInstallPathAfterBuild = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ProjectType::Target::unspecified:
|
||||||
default:
|
default:
|
||||||
// unknown target type!
|
// unknown target type!
|
||||||
jassertfalse;
|
jassertfalse;
|
||||||
|
|
@ -1493,6 +1495,12 @@ public:
|
||||||
case AAXPlugIn: return config.isPluginBinaryCopyStepEnabled() ? config.getAAXBinaryLocationString() : String();
|
case AAXPlugIn: return config.isPluginBinaryCopyStepEnabled() ? config.getAAXBinaryLocationString() : String();
|
||||||
case UnityPlugIn: return config.isPluginBinaryCopyStepEnabled() ? config.getUnityPluginBinaryLocationString() : String();
|
case UnityPlugIn: return config.isPluginBinaryCopyStepEnabled() ? config.getUnityPluginBinaryLocationString() : String();
|
||||||
case SharedCodeTarget: return owner.isiOS() ? "@executable_path/Frameworks" : "@executable_path/../Frameworks";
|
case SharedCodeTarget: return owner.isiOS() ? "@executable_path/Frameworks" : "@executable_path/../Frameworks";
|
||||||
|
case StaticLibrary:
|
||||||
|
case DynamicLibrary:
|
||||||
|
case AudioUnitv3PlugIn:
|
||||||
|
case StandalonePlugIn:
|
||||||
|
case AggregateTarget:
|
||||||
|
case unspecified:
|
||||||
default: return {};
|
default: return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ ProjectExporter* ProjectExporter::createNewExporter (Project& project, const int
|
||||||
case 7: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::windowsTarget)), CodeBlocksProjectExporter::windowsTarget); break;
|
case 7: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::windowsTarget)), CodeBlocksProjectExporter::windowsTarget); break;
|
||||||
case 8: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::linuxTarget)), CodeBlocksProjectExporter::linuxTarget); break;
|
case 8: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter ::getValueTreeTypeName (CodeBlocksProjectExporter::linuxTarget)), CodeBlocksProjectExporter::linuxTarget); break;
|
||||||
case 9: exp = new CLionProjectExporter (project, ValueTree (CLionProjectExporter ::getValueTreeTypeName())); break;
|
case 9: exp = new CLionProjectExporter (project, ValueTree (CLionProjectExporter ::getValueTreeTypeName())); break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
exp->createDefaultConfigs();
|
exp->createDefaultConfigs();
|
||||||
|
|
|
||||||
|
|
@ -200,10 +200,14 @@ private:
|
||||||
case '{':
|
case '{':
|
||||||
++braceDepth;
|
++braceDepth;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '}':
|
case '}':
|
||||||
if (--braceDepth == 0)
|
if (--braceDepth == 0)
|
||||||
return content.substr ((size_t) std::distance (content.begin(), start),
|
return content.substr ((size_t) std::distance (content.begin(), start),
|
||||||
(size_t) std::distance (start, ptr));
|
(size_t) std::distance (start, ptr));
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,15 +87,38 @@ String AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type)
|
||||||
case ambisonicACN13: return NEEDS_TRANS("Ambisonic 13");
|
case ambisonicACN13: return NEEDS_TRANS("Ambisonic 13");
|
||||||
case ambisonicACN14: return NEEDS_TRANS("Ambisonic 14");
|
case ambisonicACN14: return NEEDS_TRANS("Ambisonic 14");
|
||||||
case ambisonicACN15: return NEEDS_TRANS("Ambisonic 15");
|
case ambisonicACN15: return NEEDS_TRANS("Ambisonic 15");
|
||||||
|
case ambisonicACN16: return NEEDS_TRANS("Ambisonic 16");
|
||||||
|
case ambisonicACN17: return NEEDS_TRANS("Ambisonic 17");
|
||||||
|
case ambisonicACN18: return NEEDS_TRANS("Ambisonic 18");
|
||||||
|
case ambisonicACN19: return NEEDS_TRANS("Ambisonic 19");
|
||||||
|
case ambisonicACN20: return NEEDS_TRANS("Ambisonic 20");
|
||||||
|
case ambisonicACN21: return NEEDS_TRANS("Ambisonic 21");
|
||||||
|
case ambisonicACN22: return NEEDS_TRANS("Ambisonic 22");
|
||||||
|
case ambisonicACN23: return NEEDS_TRANS("Ambisonic 23");
|
||||||
|
case ambisonicACN24: return NEEDS_TRANS("Ambisonic 24");
|
||||||
|
case ambisonicACN25: return NEEDS_TRANS("Ambisonic 25");
|
||||||
|
case ambisonicACN26: return NEEDS_TRANS("Ambisonic 26");
|
||||||
|
case ambisonicACN27: return NEEDS_TRANS("Ambisonic 27");
|
||||||
|
case ambisonicACN28: return NEEDS_TRANS("Ambisonic 28");
|
||||||
|
case ambisonicACN29: return NEEDS_TRANS("Ambisonic 29");
|
||||||
|
case ambisonicACN30: return NEEDS_TRANS("Ambisonic 30");
|
||||||
|
case ambisonicACN31: return NEEDS_TRANS("Ambisonic 31");
|
||||||
|
case ambisonicACN32: return NEEDS_TRANS("Ambisonic 32");
|
||||||
|
case ambisonicACN33: return NEEDS_TRANS("Ambisonic 33");
|
||||||
|
case ambisonicACN34: return NEEDS_TRANS("Ambisonic 34");
|
||||||
|
case ambisonicACN35: return NEEDS_TRANS("Ambisonic 35");
|
||||||
case bottomFrontLeft: return NEEDS_TRANS("Bottom Front Left");
|
case bottomFrontLeft: return NEEDS_TRANS("Bottom Front Left");
|
||||||
case bottomFrontCentre: return NEEDS_TRANS("Bottom Front Centre");
|
case bottomFrontCentre: return NEEDS_TRANS("Bottom Front Centre");
|
||||||
case bottomFrontRight: return NEEDS_TRANS("Bottom Front Right");
|
case bottomFrontRight: return NEEDS_TRANS("Bottom Front Right");
|
||||||
|
case proxymityLeft: return NEEDS_TRANS("Proximity Left");
|
||||||
|
case proximityRight: return NEEDS_TRANS("Proximity Right");
|
||||||
case bottomSideLeft: return NEEDS_TRANS("Bottom Side Left");
|
case bottomSideLeft: return NEEDS_TRANS("Bottom Side Left");
|
||||||
case bottomSideRight: return NEEDS_TRANS("Bottom Side Right");
|
case bottomSideRight: return NEEDS_TRANS("Bottom Side Right");
|
||||||
case bottomRearLeft: return NEEDS_TRANS("Bottom Rear Left");
|
case bottomRearLeft: return NEEDS_TRANS("Bottom Rear Left");
|
||||||
case bottomRearCentre: return NEEDS_TRANS("Bottom Rear Centre");
|
case bottomRearCentre: return NEEDS_TRANS("Bottom Rear Centre");
|
||||||
case bottomRearRight: return NEEDS_TRANS("Bottom Rear Right");
|
case bottomRearRight: return NEEDS_TRANS("Bottom Rear Right");
|
||||||
case discreteChannel0: return NEEDS_TRANS("Discrete channel");
|
case discreteChannel0:
|
||||||
|
case unknown:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,16 +171,40 @@ String AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelT
|
||||||
case ambisonicACN13: return "ACN13";
|
case ambisonicACN13: return "ACN13";
|
||||||
case ambisonicACN14: return "ACN14";
|
case ambisonicACN14: return "ACN14";
|
||||||
case ambisonicACN15: return "ACN15";
|
case ambisonicACN15: return "ACN15";
|
||||||
|
case ambisonicACN16: return "ACN16";
|
||||||
|
case ambisonicACN17: return "ACN17";
|
||||||
|
case ambisonicACN18: return "ACN18";
|
||||||
|
case ambisonicACN19: return "ACN19";
|
||||||
|
case ambisonicACN20: return "ACN20";
|
||||||
|
case ambisonicACN21: return "ACN21";
|
||||||
|
case ambisonicACN22: return "ACN22";
|
||||||
|
case ambisonicACN23: return "ACN23";
|
||||||
|
case ambisonicACN24: return "ACN24";
|
||||||
|
case ambisonicACN25: return "ACN25";
|
||||||
|
case ambisonicACN26: return "ACN26";
|
||||||
|
case ambisonicACN27: return "ACN27";
|
||||||
|
case ambisonicACN28: return "ACN28";
|
||||||
|
case ambisonicACN29: return "ACN29";
|
||||||
|
case ambisonicACN30: return "ACN30";
|
||||||
|
case ambisonicACN31: return "ACN31";
|
||||||
|
case ambisonicACN32: return "ACN32";
|
||||||
|
case ambisonicACN33: return "ACN33";
|
||||||
|
case ambisonicACN34: return "ACN34";
|
||||||
|
case ambisonicACN35: return "ACN35";
|
||||||
case topSideLeft: return "Tsl";
|
case topSideLeft: return "Tsl";
|
||||||
case topSideRight: return "Tsr";
|
case topSideRight: return "Tsr";
|
||||||
case bottomFrontLeft: return "Bfl";
|
case bottomFrontLeft: return "Bfl";
|
||||||
case bottomFrontCentre: return "Bfc";
|
case bottomFrontCentre: return "Bfc";
|
||||||
case bottomFrontRight: return "Bfr";
|
case bottomFrontRight: return "Bfr";
|
||||||
|
case proxymityLeft: return "Pl";
|
||||||
|
case proximityRight: return "Pr";
|
||||||
case bottomSideLeft: return "Bsl";
|
case bottomSideLeft: return "Bsl";
|
||||||
case bottomSideRight: return "Bsr";
|
case bottomSideRight: return "Bsr";
|
||||||
case bottomRearLeft: return "Brl";
|
case bottomRearLeft: return "Brl";
|
||||||
case bottomRearCentre: return "Brc";
|
case bottomRearCentre: return "Brc";
|
||||||
case bottomRearRight: return "Brr";
|
case bottomRearRight: return "Brr";
|
||||||
|
case discreteChannel0:
|
||||||
|
case unknown:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -216,6 +263,26 @@ AudioChannelSet::ChannelType AudioChannelSet::getChannelTypeFromAbbreviation (co
|
||||||
if (abbr == "ACN13") return ambisonicACN13;
|
if (abbr == "ACN13") return ambisonicACN13;
|
||||||
if (abbr == "ACN14") return ambisonicACN14;
|
if (abbr == "ACN14") return ambisonicACN14;
|
||||||
if (abbr == "ACN15") return ambisonicACN15;
|
if (abbr == "ACN15") return ambisonicACN15;
|
||||||
|
if (abbr == "ACN16") return ambisonicACN16;
|
||||||
|
if (abbr == "ACN17") return ambisonicACN17;
|
||||||
|
if (abbr == "ACN18") return ambisonicACN18;
|
||||||
|
if (abbr == "ACN19") return ambisonicACN19;
|
||||||
|
if (abbr == "ACN20") return ambisonicACN20;
|
||||||
|
if (abbr == "ACN21") return ambisonicACN21;
|
||||||
|
if (abbr == "ACN22") return ambisonicACN22;
|
||||||
|
if (abbr == "ACN23") return ambisonicACN23;
|
||||||
|
if (abbr == "ACN24") return ambisonicACN24;
|
||||||
|
if (abbr == "ACN25") return ambisonicACN25;
|
||||||
|
if (abbr == "ACN26") return ambisonicACN26;
|
||||||
|
if (abbr == "ACN27") return ambisonicACN27;
|
||||||
|
if (abbr == "ACN28") return ambisonicACN28;
|
||||||
|
if (abbr == "ACN29") return ambisonicACN29;
|
||||||
|
if (abbr == "ACN30") return ambisonicACN30;
|
||||||
|
if (abbr == "ACN31") return ambisonicACN31;
|
||||||
|
if (abbr == "ACN32") return ambisonicACN32;
|
||||||
|
if (abbr == "ACN33") return ambisonicACN33;
|
||||||
|
if (abbr == "ACN34") return ambisonicACN34;
|
||||||
|
if (abbr == "ACN35") return ambisonicACN35;
|
||||||
if (abbr == "Tsl") return topSideLeft;
|
if (abbr == "Tsl") return topSideLeft;
|
||||||
if (abbr == "Tsr") return topSideRight;
|
if (abbr == "Tsr") return topSideRight;
|
||||||
if (abbr == "Bfl") return bottomFrontLeft;
|
if (abbr == "Bfl") return bottomFrontLeft;
|
||||||
|
|
|
||||||
|
|
@ -168,10 +168,11 @@ namespace AiffFileHelpers
|
||||||
|
|
||||||
switch (key)
|
switch (key)
|
||||||
{
|
{
|
||||||
case minor: keyString = "minor"; break;
|
case minor: keyString = "minor"; break;
|
||||||
case major: keyString = "major"; break;
|
case major: keyString = "major"; break;
|
||||||
case neither: keyString = "neither"; break;
|
case neither: keyString = "neither"; break;
|
||||||
case both: keyString = "both"; break;
|
case both: keyString = "both"; break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (keyString != nullptr)
|
if (keyString != nullptr)
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,10 @@ namespace FlacNamespace
|
||||||
#pragma clang diagnostic ignored "-Wconversion"
|
#pragma clang diagnostic ignored "-Wconversion"
|
||||||
#pragma clang diagnostic ignored "-Wshadow"
|
#pragma clang diagnostic ignored "-Wshadow"
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||||
|
#if __has_warning ("-Wimplicit-fallthrough")
|
||||||
|
#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#if __has_warning("-Wzero-as-null-pointer-constant")
|
#if __has_warning("-Wzero-as-null-pointer-constant")
|
||||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -127,6 +131,12 @@ namespace FlacNamespace
|
||||||
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#pragma GCC diagnostic ignored "-Wconversion"
|
#pragma GCC diagnostic ignored "-Wconversion"
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-enum"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-default"
|
||||||
|
#pragma GCC diagnostic ignored "-Wredundant-decls"
|
||||||
|
#if __GNUC__ >= 7
|
||||||
|
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if JUCE_INTEL
|
#if JUCE_INTEL
|
||||||
|
|
|
||||||
|
|
@ -1878,6 +1878,9 @@ private:
|
||||||
*in0++ = *in1++;
|
*in0++ = *in1++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ namespace OggVorbisNamespace
|
||||||
#pragma clang diagnostic ignored "-Wconversion"
|
#pragma clang diagnostic ignored "-Wconversion"
|
||||||
#pragma clang diagnostic ignored "-Wshadow"
|
#pragma clang diagnostic ignored "-Wshadow"
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||||
#if __has_warning("-Wzero-as-null-pointer-constant")
|
#if __has_warning("-Wzero-as-null-pointer-constant")
|
||||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -53,6 +54,9 @@ namespace OggVorbisNamespace
|
||||||
#pragma GCC diagnostic ignored "-Wshadow"
|
#pragma GCC diagnostic ignored "-Wshadow"
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
||||||
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-enum"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-default"
|
||||||
|
#pragma GCC diagnostic ignored "-Wredundant-decls"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "oggvorbis/vorbisenc.h"
|
#include "oggvorbis/vorbisenc.h"
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,6 @@
|
||||||
==============================================================================
|
==============================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client
|
|
||||||
extern juce::AudioProcessor* JUCE_API JUCE_CALLTYPE createPluginFilterOfType (juce::AudioProcessor::WrapperType type);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -124,7 +120,7 @@ public:
|
||||||
virtual void createPlugin()
|
virtual void createPlugin()
|
||||||
{
|
{
|
||||||
#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client
|
#if JUCE_MODULE_AVAILABLE_juce_audio_plugin_client
|
||||||
processor.reset (::createPluginFilterOfType (AudioProcessor::wrapperType_Standalone));
|
processor.reset (createPluginFilterOfType (AudioProcessor::wrapperType_Standalone));
|
||||||
#else
|
#else
|
||||||
AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Standalone);
|
AudioProcessor::setTypeOfNextNewPlugin (AudioProcessor::wrapperType_Standalone);
|
||||||
processor.reset (createPluginFilter());
|
processor.reset (createPluginFilter());
|
||||||
|
|
|
||||||
|
|
@ -901,210 +901,6 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
struct SpeakerMappings : private AudioChannelSet // (inheritance only to give easier access to items in the namespace)
|
|
||||||
{
|
|
||||||
struct Mapping
|
|
||||||
{
|
|
||||||
int32 vst2;
|
|
||||||
ChannelType channels[13];
|
|
||||||
|
|
||||||
bool matches (const Array<ChannelType>& chans) const noexcept
|
|
||||||
{
|
|
||||||
const int n = sizeof (channels) / sizeof (ChannelType);
|
|
||||||
|
|
||||||
for (int i = 0; i < n; ++i)
|
|
||||||
{
|
|
||||||
if (channels[i] == unknown) return (i == chans.size());
|
|
||||||
if (i == chans.size()) return (channels[i] == unknown);
|
|
||||||
|
|
||||||
if (channels[i] != chans.getUnchecked(i))
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static AudioChannelSet vstArrangementTypeToChannelSet (const Vst2::VstSpeakerArrangement& arr)
|
|
||||||
{
|
|
||||||
if (arr.type == Vst2::kSpeakerArrEmpty) return AudioChannelSet::disabled();
|
|
||||||
if (arr.type == Vst2::kSpeakerArrMono) return AudioChannelSet::mono();
|
|
||||||
if (arr.type == Vst2::kSpeakerArrStereo) return AudioChannelSet::stereo();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr30Cine) return AudioChannelSet::createLCR();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr30Music) return AudioChannelSet::createLRS();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr40Cine) return AudioChannelSet::createLCRS();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr50) return AudioChannelSet::create5point0();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr51) return AudioChannelSet::create5point1();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr60Cine) return AudioChannelSet::create6point0();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr61Cine) return AudioChannelSet::create6point1();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr60Music) return AudioChannelSet::create6point0Music();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr61Music) return AudioChannelSet::create6point1Music();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr70Music) return AudioChannelSet::create7point0();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr70Cine) return AudioChannelSet::create7point0SDDS();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr71Music) return AudioChannelSet::create7point1();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr71Cine) return AudioChannelSet::create7point1SDDS();
|
|
||||||
if (arr.type == Vst2::kSpeakerArr40Music) return AudioChannelSet::quadraphonic();
|
|
||||||
|
|
||||||
for (auto* m = getMappings(); m->vst2 != Vst2::kSpeakerArrEmpty; ++m)
|
|
||||||
{
|
|
||||||
if (m->vst2 == arr.type)
|
|
||||||
{
|
|
||||||
AudioChannelSet s;
|
|
||||||
|
|
||||||
for (int i = 0; m->channels[i] != 0; ++i)
|
|
||||||
s.addChannel (m->channels[i]);
|
|
||||||
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return AudioChannelSet::discreteChannels (arr.numChannels);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int32 channelSetToVstArrangementType (AudioChannelSet channels)
|
|
||||||
{
|
|
||||||
if (channels == AudioChannelSet::disabled()) return Vst2::kSpeakerArrEmpty;
|
|
||||||
if (channels == AudioChannelSet::mono()) return Vst2::kSpeakerArrMono;
|
|
||||||
if (channels == AudioChannelSet::stereo()) return Vst2::kSpeakerArrStereo;
|
|
||||||
if (channels == AudioChannelSet::createLCR()) return Vst2::kSpeakerArr30Cine;
|
|
||||||
if (channels == AudioChannelSet::createLRS()) return Vst2::kSpeakerArr30Music;
|
|
||||||
if (channels == AudioChannelSet::createLCRS()) return Vst2::kSpeakerArr40Cine;
|
|
||||||
if (channels == AudioChannelSet::create5point0()) return Vst2::kSpeakerArr50;
|
|
||||||
if (channels == AudioChannelSet::create5point1()) return Vst2::kSpeakerArr51;
|
|
||||||
if (channels == AudioChannelSet::create6point0()) return Vst2::kSpeakerArr60Cine;
|
|
||||||
if (channels == AudioChannelSet::create6point1()) return Vst2::kSpeakerArr61Cine;
|
|
||||||
if (channels == AudioChannelSet::create6point0Music()) return Vst2::kSpeakerArr60Music;
|
|
||||||
if (channels == AudioChannelSet::create6point1Music()) return Vst2::kSpeakerArr61Music;
|
|
||||||
if (channels == AudioChannelSet::create7point0()) return Vst2::kSpeakerArr70Music;
|
|
||||||
if (channels == AudioChannelSet::create7point0SDDS()) return Vst2::kSpeakerArr70Cine;
|
|
||||||
if (channels == AudioChannelSet::create7point1()) return Vst2::kSpeakerArr71Music;
|
|
||||||
if (channels == AudioChannelSet::create7point1SDDS()) return Vst2::kSpeakerArr71Cine;
|
|
||||||
if (channels == AudioChannelSet::quadraphonic()) return Vst2::kSpeakerArr40Music;
|
|
||||||
|
|
||||||
if (channels == AudioChannelSet::disabled())
|
|
||||||
return Vst2::kSpeakerArrEmpty;
|
|
||||||
|
|
||||||
auto chans = channels.getChannelTypes();
|
|
||||||
|
|
||||||
for (auto* m = getMappings(); m->vst2 != Vst2::kSpeakerArrEmpty; ++m)
|
|
||||||
if (m->matches (chans))
|
|
||||||
return m->vst2;
|
|
||||||
|
|
||||||
return Vst2::kSpeakerArrUserDefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void channelSetToVstArrangement (const AudioChannelSet& channels, Vst2::VstSpeakerArrangement& result)
|
|
||||||
{
|
|
||||||
result.type = channelSetToVstArrangementType (channels);
|
|
||||||
result.numChannels = channels.size();
|
|
||||||
|
|
||||||
for (int i = 0; i < result.numChannels; ++i)
|
|
||||||
{
|
|
||||||
auto& speaker = result.speakers[i];
|
|
||||||
|
|
||||||
zeromem (&speaker, sizeof (Vst2::VstSpeakerProperties));
|
|
||||||
speaker.type = getSpeakerType (channels.getTypeOfChannel (i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static const Mapping* getMappings() noexcept
|
|
||||||
{
|
|
||||||
static const Mapping mappings[] =
|
|
||||||
{
|
|
||||||
{ Vst2::kSpeakerArrMono, { centre, unknown } },
|
|
||||||
{ Vst2::kSpeakerArrStereo, { left, right, unknown } },
|
|
||||||
{ Vst2::kSpeakerArrStereoSurround, { leftSurround, rightSurround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArrStereoCenter, { leftCentre, rightCentre, unknown } },
|
|
||||||
{ Vst2::kSpeakerArrStereoSide, { leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArrStereoCLfe, { centre, LFE, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr30Cine, { left, right, centre, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr30Music, { left, right, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr31Cine, { left, right, centre, LFE, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr31Music, { left, right, LFE, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr40Cine, { left, right, centre, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr40Music, { left, right, leftSurround, rightSurround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr41Cine, { left, right, centre, LFE, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr41Music, { left, right, LFE, leftSurround, rightSurround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr50, { left, right, centre, leftSurround, rightSurround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr51, { left, right, centre, LFE, leftSurround, rightSurround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr60Cine, { left, right, centre, leftSurround, rightSurround, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr60Music, { left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr61Cine, { left, right, centre, LFE, leftSurround, rightSurround, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr61Music, { left, right, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr70Cine, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr70Music, { left, right, centre, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr71Cine, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr71Music, { left, right, centre, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr80Cine, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr80Music, { left, right, centre, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr81Cine, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr81Music, { left, right, centre, LFE, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },
|
|
||||||
{ Vst2::kSpeakerArr102, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, LFE2, unknown } },
|
|
||||||
{ Vst2::kSpeakerArrEmpty, { unknown } }
|
|
||||||
};
|
|
||||||
|
|
||||||
return mappings;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int32 getSpeakerType (AudioChannelSet::ChannelType type) noexcept
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case AudioChannelSet::left: return Vst2::kSpeakerL;
|
|
||||||
case AudioChannelSet::right: return Vst2::kSpeakerR;
|
|
||||||
case AudioChannelSet::centre: return Vst2::kSpeakerC;
|
|
||||||
case AudioChannelSet::LFE: return Vst2::kSpeakerLfe;
|
|
||||||
case AudioChannelSet::leftSurround: return Vst2::kSpeakerLs;
|
|
||||||
case AudioChannelSet::rightSurround: return Vst2::kSpeakerRs;
|
|
||||||
case AudioChannelSet::leftCentre: return Vst2::kSpeakerLc;
|
|
||||||
case AudioChannelSet::rightCentre: return Vst2::kSpeakerRc;
|
|
||||||
case AudioChannelSet::surround: return Vst2::kSpeakerS;
|
|
||||||
case AudioChannelSet::leftSurroundRear: return Vst2::kSpeakerSl;
|
|
||||||
case AudioChannelSet::rightSurroundRear: return Vst2::kSpeakerSr;
|
|
||||||
case AudioChannelSet::topMiddle: return Vst2::kSpeakerTm;
|
|
||||||
case AudioChannelSet::topFrontLeft: return Vst2::kSpeakerTfl;
|
|
||||||
case AudioChannelSet::topFrontCentre: return Vst2::kSpeakerTfc;
|
|
||||||
case AudioChannelSet::topFrontRight: return Vst2::kSpeakerTfr;
|
|
||||||
case AudioChannelSet::topRearLeft: return Vst2::kSpeakerTrl;
|
|
||||||
case AudioChannelSet::topRearCentre: return Vst2::kSpeakerTrc;
|
|
||||||
case AudioChannelSet::topRearRight: return Vst2::kSpeakerTrr;
|
|
||||||
case AudioChannelSet::LFE2: return Vst2::kSpeakerLfe2;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline AudioChannelSet::ChannelType getChannelType (int32 type) noexcept
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case Vst2::kSpeakerL: return AudioChannelSet::left;
|
|
||||||
case Vst2::kSpeakerR: return AudioChannelSet::right;
|
|
||||||
case Vst2::kSpeakerC: return AudioChannelSet::centre;
|
|
||||||
case Vst2::kSpeakerLfe: return AudioChannelSet::LFE;
|
|
||||||
case Vst2::kSpeakerLs: return AudioChannelSet::leftSurround;
|
|
||||||
case Vst2::kSpeakerRs: return AudioChannelSet::rightSurround;
|
|
||||||
case Vst2::kSpeakerLc: return AudioChannelSet::leftCentre;
|
|
||||||
case Vst2::kSpeakerRc: return AudioChannelSet::rightCentre;
|
|
||||||
case Vst2::kSpeakerS: return AudioChannelSet::surround;
|
|
||||||
case Vst2::kSpeakerSl: return AudioChannelSet::leftSurroundRear;
|
|
||||||
case Vst2::kSpeakerSr: return AudioChannelSet::rightSurroundRear;
|
|
||||||
case Vst2::kSpeakerTm: return AudioChannelSet::topMiddle;
|
|
||||||
case Vst2::kSpeakerTfl: return AudioChannelSet::topFrontLeft;
|
|
||||||
case Vst2::kSpeakerTfc: return AudioChannelSet::topFrontCentre;
|
|
||||||
case Vst2::kSpeakerTfr: return AudioChannelSet::topFrontRight;
|
|
||||||
case Vst2::kSpeakerTrl: return AudioChannelSet::topRearLeft;
|
|
||||||
case Vst2::kSpeakerTrc: return AudioChannelSet::topRearCentre;
|
|
||||||
case Vst2::kSpeakerTrr: return AudioChannelSet::topRearRight;
|
|
||||||
case Vst2::kSpeakerLfe2: return AudioChannelSet::LFE2;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return AudioChannelSet::unknown;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void timerCallback() override
|
void timerCallback() override
|
||||||
{
|
{
|
||||||
if (shouldDeleteEditor)
|
if (shouldDeleteEditor)
|
||||||
|
|
|
||||||
|
|
@ -260,6 +260,7 @@ public:
|
||||||
case VBVSTScanner: return "VBVSTScanner";
|
case VBVSTScanner: return "VBVSTScanner";
|
||||||
case ViennaEnsemblePro: return "Vienna Ensemble Pro";
|
case ViennaEnsemblePro: return "Vienna Ensemble Pro";
|
||||||
case WaveBurner: return "WaveBurner";
|
case WaveBurner: return "WaveBurner";
|
||||||
|
case UnknownHost:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,14 +49,14 @@ struct SpeakerMappings : private AudioChannelSet // (inheritance only to give e
|
||||||
|
|
||||||
bool matches (const Array<ChannelType>& chans) const noexcept
|
bool matches (const Array<ChannelType>& chans) const noexcept
|
||||||
{
|
{
|
||||||
const int n = sizeof (channels) / sizeof (ChannelType);
|
auto n = static_cast<int> (sizeof (channels) / sizeof (ChannelType));
|
||||||
|
|
||||||
for (int i = 0; i < n; ++i)
|
for (int i = 0; i < n; ++i)
|
||||||
{
|
{
|
||||||
if (channels[i] == unknown) return (i == chans.size());
|
if (channels[i] == unknown) return (i == chans.size());
|
||||||
if (i == chans.size()) return (channels[i] == unknown);
|
if (i == chans.size()) return (channels[i] == unknown);
|
||||||
|
|
||||||
if (channels[i] != chans.getUnchecked(i))
|
if (channels[i] != chans.getUnchecked (i))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -125,27 +125,56 @@ struct SpeakerMappings : private AudioChannelSet // (inheritance only to give e
|
||||||
else if (channels == AudioChannelSet::create7point1SDDS()) return Vst2::kSpeakerArr71Cine;
|
else if (channels == AudioChannelSet::create7point1SDDS()) return Vst2::kSpeakerArr71Cine;
|
||||||
else if (channels == AudioChannelSet::quadraphonic()) return Vst2::kSpeakerArr40Music;
|
else if (channels == AudioChannelSet::quadraphonic()) return Vst2::kSpeakerArr40Music;
|
||||||
|
|
||||||
Array<AudioChannelSet::ChannelType> chans (channels.getChannelTypes());
|
|
||||||
|
|
||||||
if (channels == AudioChannelSet::disabled())
|
if (channels == AudioChannelSet::disabled())
|
||||||
return Vst2::kSpeakerArrEmpty;
|
return Vst2::kSpeakerArrEmpty;
|
||||||
|
|
||||||
for (const Mapping* m = getMappings(); m->vst2 != Vst2::kSpeakerArrEmpty; ++m)
|
auto chans = channels.getChannelTypes();
|
||||||
|
|
||||||
|
for (auto* m = getMappings(); m->vst2 != Vst2::kSpeakerArrEmpty; ++m)
|
||||||
if (m->matches (chans))
|
if (m->matches (chans))
|
||||||
return m->vst2;
|
return m->vst2;
|
||||||
|
|
||||||
return Vst2::kSpeakerArrUserDefined;
|
return Vst2::kSpeakerArrUserDefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void channelSetToVstArrangement (const AudioChannelSet& channels, Vst2::VstSpeakerArrangement& result)
|
||||||
|
{
|
||||||
|
result.type = channelSetToVstArrangementType (channels);
|
||||||
|
result.numChannels = channels.size();
|
||||||
|
|
||||||
|
for (int i = 0; i < result.numChannels; ++i)
|
||||||
|
{
|
||||||
|
auto& speaker = result.speakers[i];
|
||||||
|
|
||||||
|
zeromem (&speaker, sizeof (Vst2::VstSpeakerProperties));
|
||||||
|
speaker.type = getSpeakerType (channels.getTypeOfChannel (i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Class to hold a speaker configuration */
|
/** Class to hold a speaker configuration */
|
||||||
class VstSpeakerConfigurationHolder
|
class VstSpeakerConfigurationHolder
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
VstSpeakerConfigurationHolder() { clear(); }
|
VstSpeakerConfigurationHolder()
|
||||||
VstSpeakerConfigurationHolder (const Vst2::VstSpeakerArrangement& vstConfig) { operator= (vstConfig); }
|
{
|
||||||
VstSpeakerConfigurationHolder (const VstSpeakerConfigurationHolder& other) { operator= (other.get()); }
|
clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
VstSpeakerConfigurationHolder (const Vst2::VstSpeakerArrangement& vstConfig)
|
||||||
|
{
|
||||||
|
operator= (vstConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
VstSpeakerConfigurationHolder (const VstSpeakerConfigurationHolder& other)
|
||||||
|
{
|
||||||
|
operator= (other.get());
|
||||||
|
}
|
||||||
|
|
||||||
VstSpeakerConfigurationHolder (VstSpeakerConfigurationHolder&& other)
|
VstSpeakerConfigurationHolder (VstSpeakerConfigurationHolder&& other)
|
||||||
: storage (std::move (other.storage)) { other.clear(); }
|
: storage (std::move (other.storage))
|
||||||
|
{
|
||||||
|
other.clear();
|
||||||
|
}
|
||||||
|
|
||||||
VstSpeakerConfigurationHolder (const AudioChannelSet& channels)
|
VstSpeakerConfigurationHolder (const AudioChannelSet& channels)
|
||||||
{
|
{
|
||||||
|
|
@ -241,9 +270,9 @@ struct SpeakerMappings : private AudioChannelSet // (inheritance only to give e
|
||||||
{ Vst2::kSpeakerArr71Music, { left, right, centre, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },
|
{ Vst2::kSpeakerArr71Music, { left, right, centre, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },
|
||||||
{ Vst2::kSpeakerArr80Cine, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },
|
{ Vst2::kSpeakerArr80Cine, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },
|
||||||
{ Vst2::kSpeakerArr80Music, { left, right, centre, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },
|
{ Vst2::kSpeakerArr80Music, { left, right, centre, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },
|
||||||
{ Vst2::kSpeakerArr81Cine, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },
|
{ Vst2::kSpeakerArr81Cine, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },
|
||||||
{ Vst2::kSpeakerArr81Music, { left, right, centre, LFE, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },
|
{ Vst2::kSpeakerArr81Music, { left, right, centre, LFE, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },
|
||||||
{ Vst2::kSpeakerArr102, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, LFE2, unknown } },
|
{ Vst2::kSpeakerArr102, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, LFE2, unknown } },
|
||||||
{ Vst2::kSpeakerArrEmpty, { unknown } }
|
{ Vst2::kSpeakerArrEmpty, { unknown } }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -252,31 +281,33 @@ struct SpeakerMappings : private AudioChannelSet // (inheritance only to give e
|
||||||
|
|
||||||
static inline int32 getSpeakerType (AudioChannelSet::ChannelType type) noexcept
|
static inline int32 getSpeakerType (AudioChannelSet::ChannelType type) noexcept
|
||||||
{
|
{
|
||||||
switch (type)
|
static const std::map<AudioChannelSet::ChannelType, int32> speakerTypeMap =
|
||||||
{
|
{
|
||||||
case AudioChannelSet::left: return Vst2::kSpeakerL;
|
{ AudioChannelSet::left, Vst2::kSpeakerL },
|
||||||
case AudioChannelSet::right: return Vst2::kSpeakerR;
|
{ AudioChannelSet::right, Vst2::kSpeakerR },
|
||||||
case AudioChannelSet::centre: return Vst2::kSpeakerC;
|
{ AudioChannelSet::centre, Vst2::kSpeakerC },
|
||||||
case AudioChannelSet::LFE: return Vst2::kSpeakerLfe;
|
{ AudioChannelSet::LFE, Vst2::kSpeakerLfe },
|
||||||
case AudioChannelSet::leftSurround: return Vst2::kSpeakerLs;
|
{ AudioChannelSet::leftSurround, Vst2::kSpeakerLs },
|
||||||
case AudioChannelSet::rightSurround: return Vst2::kSpeakerRs;
|
{ AudioChannelSet::rightSurround, Vst2::kSpeakerRs },
|
||||||
case AudioChannelSet::leftCentre: return Vst2::kSpeakerLc;
|
{ AudioChannelSet::leftCentre, Vst2::kSpeakerLc },
|
||||||
case AudioChannelSet::rightCentre: return Vst2::kSpeakerRc;
|
{ AudioChannelSet::rightCentre, Vst2::kSpeakerRc },
|
||||||
case AudioChannelSet::surround: return Vst2::kSpeakerS;
|
{ AudioChannelSet::surround, Vst2::kSpeakerS },
|
||||||
case AudioChannelSet::leftSurroundRear: return Vst2::kSpeakerSl;
|
{ AudioChannelSet::leftSurroundRear, Vst2::kSpeakerSl },
|
||||||
case AudioChannelSet::rightSurroundRear: return Vst2::kSpeakerSr;
|
{ AudioChannelSet::rightSurroundRear, Vst2::kSpeakerSr },
|
||||||
case AudioChannelSet::topMiddle: return Vst2::kSpeakerTm;
|
{ AudioChannelSet::topMiddle, Vst2::kSpeakerTm },
|
||||||
case AudioChannelSet::topFrontLeft: return Vst2::kSpeakerTfl;
|
{ AudioChannelSet::topFrontLeft, Vst2::kSpeakerTfl },
|
||||||
case AudioChannelSet::topFrontCentre: return Vst2::kSpeakerTfc;
|
{ AudioChannelSet::topFrontCentre, Vst2::kSpeakerTfc },
|
||||||
case AudioChannelSet::topFrontRight: return Vst2::kSpeakerTfr;
|
{ AudioChannelSet::topFrontRight, Vst2::kSpeakerTfr },
|
||||||
case AudioChannelSet::topRearLeft: return Vst2::kSpeakerTrl;
|
{ AudioChannelSet::topRearLeft, Vst2::kSpeakerTrl },
|
||||||
case AudioChannelSet::topRearCentre: return Vst2::kSpeakerTrc;
|
{ AudioChannelSet::topRearCentre, Vst2::kSpeakerTrc },
|
||||||
case AudioChannelSet::topRearRight: return Vst2::kSpeakerTrr;
|
{ AudioChannelSet::topRearRight, Vst2::kSpeakerTrr },
|
||||||
case AudioChannelSet::LFE2: return Vst2::kSpeakerLfe2;
|
{ AudioChannelSet::LFE2, Vst2::kSpeakerLfe2 }
|
||||||
default: break;
|
};
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
if (speakerTypeMap.find (type) == speakerTypeMap.end())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return speakerTypeMap.at (type);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline AudioChannelSet::ChannelType getChannelType (int32 type) noexcept
|
static inline AudioChannelSet::ChannelType getChannelType (int32 type) noexcept
|
||||||
|
|
|
||||||
|
|
@ -2392,11 +2392,12 @@ private:
|
||||||
case AudioPlayHead::fps30: setHostTimeFrameRate (Vst2::kVstSmpte30fps, 30.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps30: setHostTimeFrameRate (Vst2::kVstSmpte30fps, 30.0, position.timeInSeconds); break;
|
||||||
case AudioPlayHead::fps60: setHostTimeFrameRate (Vst2::kVstSmpte60fps, 60.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps60: setHostTimeFrameRate (Vst2::kVstSmpte60fps, 60.0, position.timeInSeconds); break;
|
||||||
|
|
||||||
case AudioPlayHead::fps23976: setHostTimeFrameRateDrop (Vst2::kVstSmpte239fps, 24.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps23976: setHostTimeFrameRateDrop (Vst2::kVstSmpte239fps, 24.0, position.timeInSeconds); break;
|
||||||
case AudioPlayHead::fps2997: setHostTimeFrameRateDrop (Vst2::kVstSmpte2997fps, 30.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps2997: setHostTimeFrameRateDrop (Vst2::kVstSmpte2997fps, 30.0, position.timeInSeconds); break;
|
||||||
case AudioPlayHead::fps2997drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte2997dfps, 30.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps2997drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte2997dfps, 30.0, position.timeInSeconds); break;
|
||||||
case AudioPlayHead::fps30drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte30dfps, 30.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps30drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte30dfps, 30.0, position.timeInSeconds); break;
|
||||||
case AudioPlayHead::fps60drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte599fps, 60.0, position.timeInSeconds); break;
|
case AudioPlayHead::fps60drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte599fps, 60.0, position.timeInSeconds); break;
|
||||||
|
case AudioPlayHead::fpsUnknown:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2715,16 +2716,20 @@ private:
|
||||||
{
|
{
|
||||||
switch (getVstCategory())
|
switch (getVstCategory())
|
||||||
{
|
{
|
||||||
case Vst2::kPlugCategEffect: return "Effect";
|
case Vst2::kPlugCategEffect: return "Effect";
|
||||||
case Vst2::kPlugCategSynth: return "Synth";
|
case Vst2::kPlugCategSynth: return "Synth";
|
||||||
case Vst2::kPlugCategAnalysis: return "Analysis";
|
case Vst2::kPlugCategAnalysis: return "Analysis";
|
||||||
case Vst2::kPlugCategMastering: return "Mastering";
|
case Vst2::kPlugCategMastering: return "Mastering";
|
||||||
case Vst2::kPlugCategSpacializer: return "Spacial";
|
case Vst2::kPlugCategSpacializer: return "Spacial";
|
||||||
case Vst2::kPlugCategRoomFx: return "Reverb";
|
case Vst2::kPlugCategRoomFx: return "Reverb";
|
||||||
case Vst2::kPlugSurroundFx: return "Surround";
|
case Vst2::kPlugSurroundFx: return "Surround";
|
||||||
case Vst2::kPlugCategRestoration: return "Restoration";
|
case Vst2::kPlugCategRestoration: return "Restoration";
|
||||||
case Vst2::kPlugCategGenerator: return "Tone generation";
|
case Vst2::kPlugCategGenerator: return "Tone generation";
|
||||||
default: break;
|
case Vst2::kPlugCategOfflineProcess: return "Offline Process";
|
||||||
|
case Vst2::kPlugCategShell: return "Shell";
|
||||||
|
case Vst2::kPlugCategUnknown: return "Unknown";
|
||||||
|
case Vst2::kPlugCategMaxCount:
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
||||||
|
|
@ -297,6 +297,8 @@ struct PluginSorter
|
||||||
case KnownPluginList::sortByFormat: diff = first.pluginFormatName.compare (second.pluginFormatName); break;
|
case KnownPluginList::sortByFormat: diff = first.pluginFormatName.compare (second.pluginFormatName); break;
|
||||||
case KnownPluginList::sortByFileSystemLocation: diff = lastPathPart (first.fileOrIdentifier).compare (lastPathPart (second.fileOrIdentifier)); break;
|
case KnownPluginList::sortByFileSystemLocation: diff = lastPathPart (first.fileOrIdentifier).compare (lastPathPart (second.fileOrIdentifier)); break;
|
||||||
case KnownPluginList::sortByInfoUpdateTime: diff = compare (first.lastInfoUpdateTime, second.lastInfoUpdateTime); break;
|
case KnownPluginList::sortByInfoUpdateTime: diff = compare (first.lastInfoUpdateTime, second.lastInfoUpdateTime); break;
|
||||||
|
case KnownPluginList::sortAlphabetically:
|
||||||
|
case KnownPluginList::defaultOrder:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -377,6 +377,7 @@ private:
|
||||||
case AndroidBluetoothMidiInterface::paired:
|
case AndroidBluetoothMidiInterface::paired:
|
||||||
status = AndroidBluetoothMidiDevice::connected;
|
status = AndroidBluetoothMidiDevice::connected;
|
||||||
break;
|
break;
|
||||||
|
case AndroidBluetoothMidiInterface::unpaired:
|
||||||
default:
|
default:
|
||||||
status = AndroidBluetoothMidiDevice::disconnected;
|
status = AndroidBluetoothMidiDevice::disconnected;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -336,7 +336,8 @@ struct Program
|
||||||
#undef LITTLEFOOT_OP_INT16
|
#undef LITTLEFOOT_OP_INT16
|
||||||
#undef LITTLEFOOT_OP_INT32
|
#undef LITTLEFOOT_OP_INT32
|
||||||
|
|
||||||
default: s << "???"; break;
|
case OpCode::endOfOpcodes:
|
||||||
|
default: s << "???"; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|
@ -370,8 +371,11 @@ struct Program
|
||||||
#undef LITTLEFOOT_OP_INT16
|
#undef LITTLEFOOT_OP_INT16
|
||||||
#undef LITTLEFOOT_OP_INT32
|
#undef LITTLEFOOT_OP_INT32
|
||||||
|
|
||||||
default: jassertfalse; return 0;
|
case OpCode::endOfOpcodes:
|
||||||
|
default: jassertfalse; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
@ -676,6 +680,7 @@ struct Runner
|
||||||
switch (op)
|
switch (op)
|
||||||
{
|
{
|
||||||
LITTLEFOOT_OPCODES (LITTLEFOOT_PERFORM_OP, LITTLEFOOT_PERFORM_OP_INT8, LITTLEFOOT_PERFORM_OP_INT16, LITTLEFOOT_PERFORM_OP_INT32)
|
LITTLEFOOT_OPCODES (LITTLEFOOT_PERFORM_OP, LITTLEFOOT_PERFORM_OP_INT8, LITTLEFOOT_PERFORM_OP_INT16, LITTLEFOOT_PERFORM_OP_INT32)
|
||||||
|
case OpCode::endOfOpcodes:
|
||||||
default: setError (ErrorCode::unknownInstruction); break;
|
default: setError (ErrorCode::unknownInstruction); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -345,14 +345,16 @@ static const char* getButtonNameForFunction (ControlButton::ButtonFunction fn) n
|
||||||
case BF::button6: return "6";
|
case BF::button6: return "6";
|
||||||
case BF::button7: return "7";
|
case BF::button7: return "7";
|
||||||
|
|
||||||
case BF::velocitySensitivity: return "Velocity Sensitivity";
|
case BF::velocitySensitivity: return "Velocity Sensitivity";
|
||||||
case BF::glideSensitivity: return "Glide Sensitivity";
|
case BF::glideSensitivity: return "Glide Sensitivity";
|
||||||
case BF::slideSensitivity: return "Slide Sensitivity";
|
case BF::slideSensitivity: return "Slide Sensitivity";
|
||||||
case BF::pressSensitivity: return "Press Sensitivity";
|
case BF::pressSensitivity: return "Press Sensitivity";
|
||||||
case BF::liftSensitivity: return "Lift Sensitivity";
|
case BF::liftSensitivity: return "Lift Sensitivity";
|
||||||
case BF::fixedVelocity: return "Fixed Velocity";
|
case BF::fixedVelocity: return "Fixed Velocity";
|
||||||
case BF::glideLock: return "Glide Lock";
|
case BF::glideLock: return "Glide Lock";
|
||||||
case BF::pianoMode: return "Piano Mode";
|
case BF::pianoMode: return "Piano Mode";
|
||||||
|
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
jassertfalse;
|
jassertfalse;
|
||||||
|
|
|
||||||
|
|
@ -571,6 +571,7 @@ private:
|
||||||
case Block::ConnectionPort::DeviceEdge::east: return 1;
|
case Block::ConnectionPort::DeviceEdge::east: return 1;
|
||||||
case Block::ConnectionPort::DeviceEdge::south: return 2;
|
case Block::ConnectionPort::DeviceEdge::south: return 2;
|
||||||
case Block::ConnectionPort::DeviceEdge::west: return 3;
|
case Block::ConnectionPort::DeviceEdge::west: return 3;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
jassertfalse;
|
jassertfalse;
|
||||||
|
|
@ -629,6 +630,8 @@ private:
|
||||||
case 3: // left of me
|
case 3: // left of me
|
||||||
delta = { -theirBounds.width, (myBounds.height - (myOffset + 1)) - theirOffset };
|
delta = { -theirBounds.width, (myBounds.height - (myOffset + 1)) - theirOffset };
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -671,6 +674,7 @@ private:
|
||||||
case Block::ConnectionPort::DeviceEdge::south: return "south";
|
case Block::ConnectionPort::DeviceEdge::south: return "south";
|
||||||
case Block::ConnectionPort::DeviceEdge::east: return "east";
|
case Block::ConnectionPort::DeviceEdge::east: return "east";
|
||||||
case Block::ConnectionPort::DeviceEdge::west: return "west";
|
case Block::ConnectionPort::DeviceEdge::west: return "west";
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@
|
||||||
#pragma clang diagnostic ignored "-Wsign-conversion"
|
#pragma clang diagnostic ignored "-Wsign-conversion"
|
||||||
#pragma clang diagnostic ignored "-Wfloat-conversion"
|
#pragma clang diagnostic ignored "-Wfloat-conversion"
|
||||||
#pragma clang diagnostic ignored "-Wcast-align"
|
#pragma clang diagnostic ignored "-Wcast-align"
|
||||||
|
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||||
#if __has_warning("-Wzero-as-null-pointer-constant")
|
#if __has_warning("-Wzero-as-null-pointer-constant")
|
||||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -48,6 +49,8 @@
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
||||||
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
||||||
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-enum"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-default"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cstdarg>
|
#include <cstdarg>
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,6 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
int64 juce_fileSetPosition (void* handle, int64 pos);
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
FileOutputStream::FileOutputStream (const File& f, const size_t bufferSizeToUse)
|
FileOutputStream::FileOutputStream (const File& f, const size_t bufferSizeToUse)
|
||||||
: file (f),
|
: file (f),
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,8 @@ struct JSONParser
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,12 @@
|
||||||
#define NSAlertStyleInformational NSInformationalAlertStyle
|
#define NSAlertStyleInformational NSInformationalAlertStyle
|
||||||
#define NSEventTypeTabletPoint NSTabletPoint
|
#define NSEventTypeTabletPoint NSTabletPoint
|
||||||
#define NSEventTypeTabletProximity NSTabletProximity
|
#define NSEventTypeTabletProximity NSTabletProximity
|
||||||
|
#define NSEventTypeFlagsChanged NSFlagsChanged
|
||||||
|
#define NSEventTypeAppKitDefined NSAppKitDefined
|
||||||
|
#define NSEventTypeSystemDefined NSSystemDefined
|
||||||
|
#define NSEventTypeApplicationDefined NSApplicationDefined
|
||||||
|
#define NSEventTypePeriodic NSPeriodic
|
||||||
|
#define NSEventTypeSmartMagnify NSEventTypeSmartMagnify
|
||||||
#endif
|
#endif
|
||||||
#import <CoreAudio/HostTime.h>
|
#import <CoreAudio/HostTime.h>
|
||||||
#include <sys/dir.h>
|
#include <sys/dir.h>
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ File File::getSpecialLocation (const SpecialLocationType type)
|
||||||
case invokedExecutableFile:
|
case invokedExecutableFile:
|
||||||
if (juce_argv != nullptr && juce_argc > 0)
|
if (juce_argv != nullptr && juce_argc > 0)
|
||||||
return File (CharPointer_UTF8 (juce_argv[0]));
|
return File (CharPointer_UTF8 (juce_argv[0]));
|
||||||
// deliberate fall-through...
|
// Falls through
|
||||||
|
|
||||||
case currentExecutableFile:
|
case currentExecutableFile:
|
||||||
case currentApplicationFile:
|
case currentApplicationFile:
|
||||||
|
|
@ -144,6 +144,7 @@ File File::getSpecialLocation (const SpecialLocationType type)
|
||||||
return juce_getExecutableFile();
|
return juce_getExecutableFile();
|
||||||
#endif
|
#endif
|
||||||
// deliberate fall-through if this is not a shared-library
|
// deliberate fall-through if this is not a shared-library
|
||||||
|
JUCE_FALLTHROUGH
|
||||||
|
|
||||||
case hostApplicationPath:
|
case hostApplicationPath:
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,7 @@ File File::getSpecialLocation (const SpecialLocationType type)
|
||||||
if (juce_argv != nullptr && juce_argc > 0)
|
if (juce_argv != nullptr && juce_argc > 0)
|
||||||
return File::getCurrentWorkingDirectory().getChildFile (String (juce_argv[0]));
|
return File::getCurrentWorkingDirectory().getChildFile (String (juce_argv[0]));
|
||||||
// deliberate fall-through...
|
// deliberate fall-through...
|
||||||
|
JUCE_FALLTHROUGH
|
||||||
|
|
||||||
case currentExecutableFile:
|
case currentExecutableFile:
|
||||||
return juce_getExecutableFile();
|
return juce_getExecutableFile();
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,26 @@ namespace juce
|
||||||
#define JUCE_ANALYZER_NORETURN
|
#define JUCE_ANALYZER_NORETURN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** Used to silence Wimplicit-fallthrough on Clang and GCC where available
|
||||||
|
as there are a few places in the codebase where we need to do this
|
||||||
|
deliberately and want to ignore the warning.
|
||||||
|
*/
|
||||||
|
#if JUCE_CLANG
|
||||||
|
#if __has_cpp_attribute(clang::fallthrough)
|
||||||
|
#define JUCE_FALLTHROUGH [[clang::fallthrough]];
|
||||||
|
#else
|
||||||
|
#define JUCE_FALLTHROUGH
|
||||||
|
#endif
|
||||||
|
#elif JUCE_GCC
|
||||||
|
#if __GNUC__ >= 7
|
||||||
|
#define JUCE_FALLTHROUGH [[gnu::fallthrough]];
|
||||||
|
#else
|
||||||
|
#define JUCE_FALLTHROUGH
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define JUCE_FALLTHROUGH
|
||||||
|
#endif
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
#if JUCE_MSVC && ! DOXYGEN
|
#if JUCE_MSVC && ! DOXYGEN
|
||||||
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) \
|
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) \
|
||||||
|
|
|
||||||
|
|
@ -166,9 +166,12 @@ public:
|
||||||
#else
|
#else
|
||||||
*currentCharacter++ = '-';
|
*currentCharacter++ = '-';
|
||||||
#endif
|
#endif
|
||||||
// Fall-through..
|
JUCE_FALLTHROUGH
|
||||||
case '+':
|
case '+':
|
||||||
c = *++text;
|
c = *++text;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (c)
|
switch (c)
|
||||||
|
|
@ -184,6 +187,9 @@ public:
|
||||||
if ((text[1] == 'n' || text[1] == 'N') && (text[2] == 'f' || text[2] == 'F'))
|
if ((text[1] == 'n' || text[1] == 'N') && (text[2] == 'f' || text[2] == 'F'))
|
||||||
return std::numeric_limits<double>::infinity();
|
return std::numeric_limits<double>::infinity();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if JUCE_MINGW
|
#if JUCE_MINGW
|
||||||
|
|
@ -274,7 +280,7 @@ public:
|
||||||
|
|
||||||
switch (*++text)
|
switch (*++text)
|
||||||
{
|
{
|
||||||
case '-': negativeExponent = true; // fall-through..
|
case '-': negativeExponent = true; JUCE_FALLTHROUGH
|
||||||
case '+': ++text;
|
case '+': ++text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -359,8 +365,9 @@ public:
|
||||||
|
|
||||||
switch (*++text)
|
switch (*++text)
|
||||||
{
|
{
|
||||||
case '-': parsedExponentIsPositive = false; // Fall-through..
|
case '-': parsedExponentIsPositive = false; JUCE_FALLTHROUGH
|
||||||
case '+': ++text;
|
case '+': ++text; break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
int exponent = 0;
|
int exponent = 0;
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@ namespace XmlOutputFunctions
|
||||||
outputStream << (char) character;
|
outputStream << (char) character;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// Note: Deliberate fall-through here!
|
JUCE_FALLTHROUGH
|
||||||
default:
|
default:
|
||||||
outputStream << "&#" << ((int) character) << ';';
|
outputStream << "&#" << ((int) character) << ';';
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ private:
|
||||||
{
|
{
|
||||||
case Z_STREAM_END:
|
case Z_STREAM_END:
|
||||||
finished = true;
|
finished = true;
|
||||||
// Deliberate fall-through..
|
JUCE_FALLTHROUGH
|
||||||
case Z_OK:
|
case Z_OK:
|
||||||
{
|
{
|
||||||
data += dataSize - stream.avail_in;
|
data += dataSize - stream.avail_in;
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,10 @@ namespace zlibNamespace
|
||||||
#pragma clang diagnostic ignored "-Wconversion"
|
#pragma clang diagnostic ignored "-Wconversion"
|
||||||
#pragma clang diagnostic ignored "-Wshadow"
|
#pragma clang diagnostic ignored "-Wshadow"
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
|
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||||
|
#if __has_warning ("-Wimplicit-fallthrough")
|
||||||
|
#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#if __has_warning("-Wzero-as-null-pointer-constant")
|
#if __has_warning("-Wzero-as-null-pointer-constant")
|
||||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -50,6 +54,12 @@ namespace zlibNamespace
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
||||||
#pragma GCC diagnostic ignored "-Wshadow"
|
#pragma GCC diagnostic ignored "-Wshadow"
|
||||||
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-enum"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-default"
|
||||||
|
#pragma GCC diagnostic ignored "-Wredundant-decls"
|
||||||
|
#if __GNUC__ >= 7
|
||||||
|
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef OS_CODE
|
#undef OS_CODE
|
||||||
|
|
@ -151,7 +161,7 @@ public:
|
||||||
{
|
{
|
||||||
case Z_STREAM_END:
|
case Z_STREAM_END:
|
||||||
finished = true;
|
finished = true;
|
||||||
// deliberate fall-through
|
JUCE_FALLTHROUGH
|
||||||
case Z_OK:
|
case Z_OK:
|
||||||
data += dataSize - stream.avail_in;
|
data += dataSize - stream.avail_in;
|
||||||
dataSize = (z_uInt) stream.avail_in;
|
dataSize = (z_uInt) stream.avail_in;
|
||||||
|
|
@ -166,7 +176,7 @@ public:
|
||||||
case Z_DATA_ERROR:
|
case Z_DATA_ERROR:
|
||||||
case Z_MEM_ERROR:
|
case Z_MEM_ERROR:
|
||||||
error = true;
|
error = true;
|
||||||
|
JUCE_FALLTHROUGH
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -229,6 +229,9 @@ bool ValueTreeSynchroniser::applyChange (ValueTree& root, const void* data, size
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case ValueTreeSynchroniserHelpers::fullSync:
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
jassertfalse; // Seem to have received some corrupt data?
|
jassertfalse; // Seem to have received some corrupt data?
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -643,6 +643,7 @@ struct Convolution::Pimpl : private Thread
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ChangeRequest::numChangeRequestTypes:
|
||||||
case ChangeRequest::changeIgnore:
|
case ChangeRequest::changeIgnore:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,7 @@ void WindowingFunction<FloatType>::fillWindowingTables (FloatType* samples, size
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case numWindowingMethods:
|
||||||
default:
|
default:
|
||||||
jassertfalse;
|
jassertfalse;
|
||||||
break;
|
break;
|
||||||
|
|
@ -175,15 +176,16 @@ const char* WindowingFunction<FloatType>::getWindowingMethodName (WindowingMetho
|
||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case rectangular: return "Rectangular";
|
case rectangular: return "Rectangular";
|
||||||
case triangular: return "Triangular";
|
case triangular: return "Triangular";
|
||||||
case hann: return "Hann";
|
case hann: return "Hann";
|
||||||
case hamming: return "Hamming";
|
case hamming: return "Hamming";
|
||||||
case blackman: return "Blackman";
|
case blackman: return "Blackman";
|
||||||
case blackmanHarris: return "Blackman-Harris";
|
case blackmanHarris: return "Blackman-Harris";
|
||||||
case flatTop: return "Flat Top";
|
case flatTop: return "Flat Top";
|
||||||
case kaiser: return "Kaiser";
|
case kaiser: return "Kaiser";
|
||||||
default: jassertfalse; return "";
|
case numWindowingMethods:
|
||||||
|
default: jassertfalse; return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -453,7 +453,6 @@ void MessageManagerLock::exitSignalSent()
|
||||||
}
|
}
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI();
|
|
||||||
JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI()
|
JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI()
|
||||||
{
|
{
|
||||||
JUCE_AUTORELEASEPOOL
|
JUCE_AUTORELEASEPOOL
|
||||||
|
|
@ -462,7 +461,6 @@ JUCE_API void JUCE_CALLTYPE initialiseJuce_GUI()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI();
|
|
||||||
JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI()
|
JUCE_API void JUCE_CALLTYPE shutdownJuce_GUI()
|
||||||
{
|
{
|
||||||
JUCE_AUTORELEASEPOOL
|
JUCE_AUTORELEASEPOOL
|
||||||
|
|
|
||||||
|
|
@ -751,10 +751,11 @@ public:
|
||||||
|
|
||||||
switch (inside)
|
switch (inside)
|
||||||
{
|
{
|
||||||
case 1 + 2 + 8: w = r - otherR; pos.x = otherR; return true;
|
case 1 + 2 + 8: w = r - otherR; pos.x = otherR; return true;
|
||||||
case 1 + 2 + 4: h = b - otherB; pos.y = otherB; return true;
|
case 1 + 2 + 4: h = b - otherB; pos.y = otherB; return true;
|
||||||
case 2 + 4 + 8: w = other.pos.x - pos.x; return true;
|
case 2 + 4 + 8: w = other.pos.x - pos.x; return true;
|
||||||
case 1 + 4 + 8: h = other.pos.y - pos.y; return true;
|
case 1 + 4 + 8: h = other.pos.y - pos.y; return true;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,10 @@ namespace jpeglibNamespace
|
||||||
#pragma clang diagnostic ignored "-Wconversion"
|
#pragma clang diagnostic ignored "-Wconversion"
|
||||||
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
#pragma clang diagnostic ignored "-Wdeprecated-register"
|
||||||
#pragma clang diagnostic ignored "-Wcast-align"
|
#pragma clang diagnostic ignored "-Wcast-align"
|
||||||
|
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||||
|
#if __has_warning ("-Wimplicit-fallthrough")
|
||||||
|
#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#if __has_warning("-Wzero-as-null-pointer-constant")
|
#if __has_warning("-Wzero-as-null-pointer-constant")
|
||||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -57,8 +61,13 @@ namespace jpeglibNamespace
|
||||||
#pragma GCC diagnostic ignored "-Wconversion"
|
#pragma GCC diagnostic ignored "-Wconversion"
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
||||||
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-enum"
|
||||||
|
#pragma GCC diagnostic ignored "-Wswitch-default"
|
||||||
#if __GNUC__ > 5
|
#if __GNUC__ > 5
|
||||||
#pragma GCC diagnostic ignored "-Wshift-negative-value"
|
#pragma GCC diagnostic ignored "-Wshift-negative-value"
|
||||||
|
#if __GNUC__ >= 7
|
||||||
|
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,9 @@ namespace pnglibNamespace
|
||||||
#if JUCE_CLANG
|
#if JUCE_CLANG
|
||||||
#pragma clang diagnostic push
|
#pragma clang diagnostic push
|
||||||
#pragma clang diagnostic ignored "-Wsign-conversion"
|
#pragma clang diagnostic ignored "-Wsign-conversion"
|
||||||
|
#if __has_warning ("-Wimplicit-fallthrough")
|
||||||
|
#pragma clang diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#if __has_warning("-Wzero-as-null-pointer-constant")
|
#if __has_warning("-Wzero-as-null-pointer-constant")
|
||||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -78,6 +81,9 @@ namespace pnglibNamespace
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
#pragma GCC diagnostic ignored "-Wsign-conversion"
|
||||||
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||||
|
#if __GNUC__ >= 7
|
||||||
|
#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef check
|
#undef check
|
||||||
|
|
|
||||||
|
|
@ -426,6 +426,7 @@ Colour Image::BitmapData::getPixelColour (int x, int y) const noexcept
|
||||||
case Image::ARGB: return Colour ( ((const PixelARGB*) pixel)->getUnpremultiplied());
|
case Image::ARGB: return Colour ( ((const PixelARGB*) pixel)->getUnpremultiplied());
|
||||||
case Image::RGB: return Colour (*((const PixelRGB*) pixel));
|
case Image::RGB: return Colour (*((const PixelRGB*) pixel));
|
||||||
case Image::SingleChannel: return Colour (*((const PixelAlpha*) pixel));
|
case Image::SingleChannel: return Colour (*((const PixelAlpha*) pixel));
|
||||||
|
case Image::UnknownFormat:
|
||||||
default: jassertfalse; break;
|
default: jassertfalse; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -444,6 +445,7 @@ void Image::BitmapData::setPixelColour (int x, int y, Colour colour) const noexc
|
||||||
case Image::ARGB: ((PixelARGB*) pixel)->set (col); break;
|
case Image::ARGB: ((PixelARGB*) pixel)->set (col); break;
|
||||||
case Image::RGB: ((PixelRGB*) pixel)->set (col); break;
|
case Image::RGB: ((PixelRGB*) pixel)->set (col); break;
|
||||||
case Image::SingleChannel: ((PixelAlpha*) pixel)->set (col); break;
|
case Image::SingleChannel: ((PixelAlpha*) pixel)->set (col); break;
|
||||||
|
case Image::UnknownFormat:
|
||||||
default: jassertfalse; break;
|
default: jassertfalse; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -521,6 +523,7 @@ static void performPixelOp (const Image::BitmapData& data, const PixelOperation&
|
||||||
case Image::ARGB: PixelIterator<PixelARGB> ::iterate (data, pixelOp); break;
|
case Image::ARGB: PixelIterator<PixelARGB> ::iterate (data, pixelOp); break;
|
||||||
case Image::RGB: PixelIterator<PixelRGB> ::iterate (data, pixelOp); break;
|
case Image::RGB: PixelIterator<PixelRGB> ::iterate (data, pixelOp); break;
|
||||||
case Image::SingleChannel: PixelIterator<PixelAlpha>::iterate (data, pixelOp); break;
|
case Image::SingleChannel: PixelIterator<PixelAlpha>::iterate (data, pixelOp); break;
|
||||||
|
case Image::UnknownFormat:
|
||||||
default: jassertfalse; break;
|
default: jassertfalse; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1426,6 +1426,8 @@ namespace EdgeTableFillers
|
||||||
if (tiledFill) { TransformedImageFill<PixelARGB, PixelRGB, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
if (tiledFill) { TransformedImageFill<PixelARGB, PixelRGB, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
else { TransformedImageFill<PixelARGB, PixelRGB, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
else { TransformedImageFill<PixelARGB, PixelRGB, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
if (tiledFill) { TransformedImageFill<PixelARGB, PixelAlpha, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
if (tiledFill) { TransformedImageFill<PixelARGB, PixelAlpha, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
else { TransformedImageFill<PixelARGB, PixelAlpha, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
else { TransformedImageFill<PixelARGB, PixelAlpha, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
|
|
@ -1434,6 +1436,7 @@ namespace EdgeTableFillers
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Image::RGB:
|
case Image::RGB:
|
||||||
|
{
|
||||||
switch (srcData.pixelFormat)
|
switch (srcData.pixelFormat)
|
||||||
{
|
{
|
||||||
case Image::ARGB:
|
case Image::ARGB:
|
||||||
|
|
@ -1444,13 +1447,18 @@ namespace EdgeTableFillers
|
||||||
if (tiledFill) { TransformedImageFill<PixelRGB, PixelRGB, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
if (tiledFill) { TransformedImageFill<PixelRGB, PixelRGB, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
else { TransformedImageFill<PixelRGB, PixelRGB, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
else { TransformedImageFill<PixelRGB, PixelRGB, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
if (tiledFill) { TransformedImageFill<PixelRGB, PixelAlpha, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
if (tiledFill) { TransformedImageFill<PixelRGB, PixelAlpha, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
else { TransformedImageFill<PixelRGB, PixelAlpha, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
else { TransformedImageFill<PixelRGB, PixelAlpha, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
switch (srcData.pixelFormat)
|
switch (srcData.pixelFormat)
|
||||||
{
|
{
|
||||||
|
|
@ -1462,6 +1470,8 @@ namespace EdgeTableFillers
|
||||||
if (tiledFill) { TransformedImageFill<PixelAlpha, PixelRGB, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
if (tiledFill) { TransformedImageFill<PixelAlpha, PixelRGB, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
else { TransformedImageFill<PixelAlpha, PixelRGB, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
else { TransformedImageFill<PixelAlpha, PixelRGB, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
if (tiledFill) { TransformedImageFill<PixelAlpha, PixelAlpha, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
if (tiledFill) { TransformedImageFill<PixelAlpha, PixelAlpha, true> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
else { TransformedImageFill<PixelAlpha, PixelAlpha, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
else { TransformedImageFill<PixelAlpha, PixelAlpha, false> r (destData, srcData, transform, alpha, quality); iter.iterate (r); }
|
||||||
|
|
@ -1487,6 +1497,8 @@ namespace EdgeTableFillers
|
||||||
if (tiledFill) { ImageFill<PixelARGB, PixelRGB, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
if (tiledFill) { ImageFill<PixelARGB, PixelRGB, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
else { ImageFill<PixelARGB, PixelRGB, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
else { ImageFill<PixelARGB, PixelRGB, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
if (tiledFill) { ImageFill<PixelARGB, PixelAlpha, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
if (tiledFill) { ImageFill<PixelARGB, PixelAlpha, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
else { ImageFill<PixelARGB, PixelAlpha, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
else { ImageFill<PixelARGB, PixelAlpha, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
|
|
@ -1505,6 +1517,8 @@ namespace EdgeTableFillers
|
||||||
if (tiledFill) { ImageFill<PixelRGB, PixelRGB, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
if (tiledFill) { ImageFill<PixelRGB, PixelRGB, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
else { ImageFill<PixelRGB, PixelRGB, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
else { ImageFill<PixelRGB, PixelRGB, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
if (tiledFill) { ImageFill<PixelRGB, PixelAlpha, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
if (tiledFill) { ImageFill<PixelRGB, PixelAlpha, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
else { ImageFill<PixelRGB, PixelAlpha, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
else { ImageFill<PixelRGB, PixelAlpha, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
|
|
@ -1512,6 +1526,8 @@ namespace EdgeTableFillers
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
switch (srcData.pixelFormat)
|
switch (srcData.pixelFormat)
|
||||||
{
|
{
|
||||||
|
|
@ -1523,6 +1539,8 @@ namespace EdgeTableFillers
|
||||||
if (tiledFill) { ImageFill<PixelAlpha, PixelRGB, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
if (tiledFill) { ImageFill<PixelAlpha, PixelRGB, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
else { ImageFill<PixelAlpha, PixelRGB, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
else { ImageFill<PixelAlpha, PixelRGB, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
break;
|
break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default:
|
default:
|
||||||
if (tiledFill) { ImageFill<PixelAlpha, PixelAlpha, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
if (tiledFill) { ImageFill<PixelAlpha, PixelAlpha, true> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
else { ImageFill<PixelAlpha, PixelAlpha, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
else { ImageFill<PixelAlpha, PixelAlpha, false> r (destData, srcData, alpha, x, y); iter.iterate (r); }
|
||||||
|
|
@ -2589,6 +2607,8 @@ public:
|
||||||
{
|
{
|
||||||
case Image::ARGB: EdgeTableFillers::renderSolidFill (iter, destData, colour, replaceContents, (PixelARGB*) nullptr); break;
|
case Image::ARGB: EdgeTableFillers::renderSolidFill (iter, destData, colour, replaceContents, (PixelARGB*) nullptr); break;
|
||||||
case Image::RGB: EdgeTableFillers::renderSolidFill (iter, destData, colour, replaceContents, (PixelRGB*) nullptr); break;
|
case Image::RGB: EdgeTableFillers::renderSolidFill (iter, destData, colour, replaceContents, (PixelRGB*) nullptr); break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default: EdgeTableFillers::renderSolidFill (iter, destData, colour, replaceContents, (PixelAlpha*) nullptr); break;
|
default: EdgeTableFillers::renderSolidFill (iter, destData, colour, replaceContents, (PixelAlpha*) nullptr); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2606,6 +2626,8 @@ public:
|
||||||
{
|
{
|
||||||
case Image::ARGB: EdgeTableFillers::renderGradient (iter, destData, gradient, trans, lookupTable, numLookupEntries, isIdentity, (PixelARGB*) nullptr); break;
|
case Image::ARGB: EdgeTableFillers::renderGradient (iter, destData, gradient, trans, lookupTable, numLookupEntries, isIdentity, (PixelARGB*) nullptr); break;
|
||||||
case Image::RGB: EdgeTableFillers::renderGradient (iter, destData, gradient, trans, lookupTable, numLookupEntries, isIdentity, (PixelRGB*) nullptr); break;
|
case Image::RGB: EdgeTableFillers::renderGradient (iter, destData, gradient, trans, lookupTable, numLookupEntries, isIdentity, (PixelRGB*) nullptr); break;
|
||||||
|
case Image::SingleChannel:
|
||||||
|
case Image::UnknownFormat:
|
||||||
default: EdgeTableFillers::renderGradient (iter, destData, gradient, trans, lookupTable, numLookupEntries, isIdentity, (PixelAlpha*) nullptr); break;
|
default: EdgeTableFillers::renderGradient (iter, destData, gradient, trans, lookupTable, numLookupEntries, isIdentity, (PixelAlpha*) nullptr); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -189,6 +189,7 @@ namespace CoreTextTypeLayout
|
||||||
{
|
{
|
||||||
case AttributedString::none: return kCTLineBreakByClipping;
|
case AttributedString::none: return kCTLineBreakByClipping;
|
||||||
case AttributedString::byChar: return kCTLineBreakByCharWrapping;
|
case AttributedString::byChar: return kCTLineBreakByCharWrapping;
|
||||||
|
case AttributedString::byWord:
|
||||||
default: return kCTLineBreakByWordWrapping;
|
default: return kCTLineBreakByWordWrapping;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -199,6 +200,7 @@ namespace CoreTextTypeLayout
|
||||||
{
|
{
|
||||||
case AttributedString::rightToLeft: return kCTWritingDirectionRightToLeft;
|
case AttributedString::rightToLeft: return kCTWritingDirectionRightToLeft;
|
||||||
case AttributedString::leftToRight: return kCTWritingDirectionLeftToRight;
|
case AttributedString::leftToRight: return kCTWritingDirectionLeftToRight;
|
||||||
|
case AttributedString::natural:
|
||||||
default: return kCTWritingDirectionNatural;
|
default: return kCTWritingDirectionNatural;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,8 +27,6 @@
|
||||||
namespace juce
|
namespace juce
|
||||||
{
|
{
|
||||||
|
|
||||||
Image juce_createIconForFile (const File&);
|
|
||||||
|
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
class FileListTreeItem : public TreeViewItem,
|
class FileListTreeItem : public TreeViewItem,
|
||||||
private TimeSliceClient,
|
private TimeSliceClient,
|
||||||
|
|
|
||||||
|
|
@ -2143,6 +2143,7 @@ void LookAndFeel_V2::createTabButtonShape (TabBarButton& button, Path& p, bool /
|
||||||
p.lineTo (-overhang, -overhang);
|
p.lineTo (-overhang, -overhang);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TabbedButtonBar::TabsAtTop:
|
||||||
default:
|
default:
|
||||||
p.startNewSubPath (0.0f, h);
|
p.startNewSubPath (0.0f, h);
|
||||||
p.lineTo (indent, 0.0f);
|
p.lineTo (indent, 0.0f);
|
||||||
|
|
|
||||||
|
|
@ -4093,6 +4093,7 @@ void* MouseCursor::createStandardMouseCursor (MouseCursor::StandardCursorType ty
|
||||||
return CustomMouseCursorInfo (ImageFileFormat::loadFrom (copyCursorData, copyCursorSize), { 1, 3 }).create();
|
return CustomMouseCursorInfo (ImageFileFormat::loadFrom (copyCursorData, copyCursorSize), { 1, 3 }).create();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case NumStandardCursorTypes:
|
||||||
default:
|
default:
|
||||||
jassertfalse;
|
jassertfalse;
|
||||||
return None;
|
return None;
|
||||||
|
|
|
||||||
|
|
@ -144,6 +144,7 @@ void* MouseCursor::createStandardMouseCursor (MouseCursor::StandardCursorType ty
|
||||||
case UpDownLeftRightResizeCursor:
|
case UpDownLeftRightResizeCursor:
|
||||||
return MouseCursorHelpers::fromHIServices ("move");
|
return MouseCursorHelpers::fromHIServices ("move");
|
||||||
|
|
||||||
|
case NumStandardCursorTypes:
|
||||||
default:
|
default:
|
||||||
jassertfalse;
|
jassertfalse;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -1524,6 +1524,26 @@ private:
|
||||||
case NSEventTypeTabletProximity:
|
case NSEventTypeTabletProximity:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case NSEventTypeFlagsChanged:
|
||||||
|
case NSEventTypeAppKitDefined:
|
||||||
|
case NSEventTypeSystemDefined:
|
||||||
|
case NSEventTypeApplicationDefined:
|
||||||
|
case NSEventTypePeriodic:
|
||||||
|
case NSEventTypeGesture:
|
||||||
|
case NSEventTypeMagnify:
|
||||||
|
case NSEventTypeSwipe:
|
||||||
|
case NSEventTypeRotate:
|
||||||
|
case NSEventTypeBeginGesture:
|
||||||
|
case NSEventTypeEndGesture:
|
||||||
|
case NSEventTypeSmartMagnify:
|
||||||
|
case NSEventTypeQuickLook:
|
||||||
|
case NSEventTypePressure:
|
||||||
|
#if defined (MAC_OS_X_VERSION_10_12) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12
|
||||||
|
case NSEventTypeDirectTouch:
|
||||||
|
#if defined (MAC_OS_X_VERSION_10_15) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_15
|
||||||
|
case NSEventTypeChangeMode:
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3731,6 +3731,7 @@ private:
|
||||||
case WM_DISPLAYCHANGE:
|
case WM_DISPLAYCHANGE:
|
||||||
InvalidateRect (h, 0, 0);
|
InvalidateRect (h, 0, 0);
|
||||||
// intentional fall-through...
|
// intentional fall-through...
|
||||||
|
JUCE_FALLTHROUGH
|
||||||
case WM_SETTINGCHANGE: // note the fall-through in the previous case!
|
case WM_SETTINGCHANGE: // note the fall-through in the previous case!
|
||||||
doSettingChange();
|
doSettingChange();
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -33,12 +33,10 @@ struct MarkerListScope : public Expression::Scope
|
||||||
|
|
||||||
Expression getSymbolValue (const String& symbol) const override
|
Expression getSymbolValue (const String& symbol) const override
|
||||||
{
|
{
|
||||||
switch (RelativeCoordinate::StandardStrings::getTypeOf (symbol))
|
auto type = RelativeCoordinate::StandardStrings::getTypeOf (symbol);
|
||||||
{
|
|
||||||
case RelativeCoordinate::StandardStrings::width: return Expression ((double) component.getWidth());
|
if (type == RelativeCoordinate::StandardStrings::width) return Expression ((double) component.getWidth());
|
||||||
case RelativeCoordinate::StandardStrings::height: return Expression ((double) component.getHeight());
|
if (type == RelativeCoordinate::StandardStrings::height) return Expression ((double) component.getHeight());
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
MarkerList* list;
|
MarkerList* list;
|
||||||
|
|
||||||
|
|
@ -116,6 +114,8 @@ Expression RelativeCoordinatePositionerBase::ComponentScope::getSymbolValue (con
|
||||||
case RelativeCoordinate::StandardStrings::height: return Expression ((double) component.getHeight());
|
case RelativeCoordinate::StandardStrings::height: return Expression ((double) component.getHeight());
|
||||||
case RelativeCoordinate::StandardStrings::right: return Expression ((double) component.getRight());
|
case RelativeCoordinate::StandardStrings::right: return Expression ((double) component.getRight());
|
||||||
case RelativeCoordinate::StandardStrings::bottom: return Expression ((double) component.getBottom());
|
case RelativeCoordinate::StandardStrings::bottom: return Expression ((double) component.getBottom());
|
||||||
|
case RelativeCoordinate::StandardStrings::parent:
|
||||||
|
case RelativeCoordinate::StandardStrings::unknown:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -180,6 +180,8 @@ public:
|
||||||
positioner.registerComponentListener (component);
|
positioner.registerComponentListener (component);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RelativeCoordinate::StandardStrings::parent:
|
||||||
|
case RelativeCoordinate::StandardStrings::unknown:
|
||||||
default:
|
default:
|
||||||
if (auto* parent = component.getParentComponent())
|
if (auto* parent = component.getParentComponent())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,11 @@ namespace RelativeRectangleHelpers
|
||||||
case RelativeCoordinate::StandardStrings::right:
|
case RelativeCoordinate::StandardStrings::right:
|
||||||
case RelativeCoordinate::StandardStrings::top:
|
case RelativeCoordinate::StandardStrings::top:
|
||||||
case RelativeCoordinate::StandardStrings::bottom: return false;
|
case RelativeCoordinate::StandardStrings::bottom: return false;
|
||||||
|
case RelativeCoordinate::StandardStrings::width:
|
||||||
|
case RelativeCoordinate::StandardStrings::height:
|
||||||
|
case RelativeCoordinate::StandardStrings::parent:
|
||||||
|
case RelativeCoordinate::StandardStrings::unknown:
|
||||||
|
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -127,6 +132,10 @@ public:
|
||||||
case RelativeCoordinate::StandardStrings::top: return rect.top.getExpression();
|
case RelativeCoordinate::StandardStrings::top: return rect.top.getExpression();
|
||||||
case RelativeCoordinate::StandardStrings::right: return rect.right.getExpression();
|
case RelativeCoordinate::StandardStrings::right: return rect.right.getExpression();
|
||||||
case RelativeCoordinate::StandardStrings::bottom: return rect.bottom.getExpression();
|
case RelativeCoordinate::StandardStrings::bottom: return rect.bottom.getExpression();
|
||||||
|
case RelativeCoordinate::StandardStrings::width:
|
||||||
|
case RelativeCoordinate::StandardStrings::height:
|
||||||
|
case RelativeCoordinate::StandardStrings::parent:
|
||||||
|
case RelativeCoordinate::StandardStrings::unknown:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -728,9 +728,10 @@ private:
|
||||||
int selectedStyle = 0;
|
int selectedStyle = 0;
|
||||||
switch (bar.getStyle())
|
switch (bar.getStyle())
|
||||||
{
|
{
|
||||||
case Toolbar::iconsOnly: selectedStyle = 1; break;
|
case Toolbar::iconsOnly: selectedStyle = 1; break;
|
||||||
case Toolbar::iconsWithText: selectedStyle = 2; break;
|
case Toolbar::iconsWithText: selectedStyle = 2; break;
|
||||||
case Toolbar::textOnly: selectedStyle = 3; break;
|
case Toolbar::textOnly: selectedStyle = 3; break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
styleBox.setSelectedId (selectedStyle);
|
styleBox.setSelectedId (selectedStyle);
|
||||||
|
|
@ -757,6 +758,7 @@ private:
|
||||||
case 1: toolbar.setStyle (Toolbar::iconsOnly); break;
|
case 1: toolbar.setStyle (Toolbar::iconsOnly); break;
|
||||||
case 2: toolbar.setStyle (Toolbar::iconsWithText); break;
|
case 2: toolbar.setStyle (Toolbar::iconsWithText); break;
|
||||||
case 3: toolbar.setStyle (Toolbar::textOnly); break;
|
case 3: toolbar.setStyle (Toolbar::textOnly); break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
palette.resized(); // to make it update the styles
|
palette.resized(); // to make it update the styles
|
||||||
|
|
|
||||||
|
|
@ -616,8 +616,8 @@ struct CppTokeniserFunctions
|
||||||
charsOnLine += 2;
|
charsOnLine += 2;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// deliberate fall-through...
|
// deliberate fall-through...
|
||||||
|
JUCE_FALLTHROUGH
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (c >= 32 && c < 127 && ! (lastWasHexEscapeCode // (have to avoid following a hex escape sequence with a valid hex digit)
|
if (c >= 32 && c < 127 && ! (lastWasHexEscapeCode // (have to avoid following a hex escape sequence with a valid hex digit)
|
||||||
|
|
|
||||||
|
|
@ -480,6 +480,9 @@ private:
|
||||||
if (wantsFocus)
|
if (wantsFocus)
|
||||||
owner.moveKeyboardFocusToSibling (false);
|
owner.moveKeyboardFocusToSibling (false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -500,6 +503,9 @@ private:
|
||||||
MessageManager::callAsync ([this] {componentMovedOrResized (owner, true, true);});
|
MessageManager::callAsync ([this] {componentMovedOrResized (owner, true, true);});
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (e.xany.window == host && host != 0)
|
else if (e.xany.window == host && host != 0)
|
||||||
|
|
@ -536,6 +542,9 @@ private:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -137,6 +137,7 @@ void OpenGLTexture::loadImage (const Image& image)
|
||||||
case Image::ARGB: Flipper<PixelARGB> ::flip (dataCopy, srcData.data, srcData.lineStride, imageW, imageH); break;
|
case Image::ARGB: Flipper<PixelARGB> ::flip (dataCopy, srcData.data, srcData.lineStride, imageW, imageH); break;
|
||||||
case Image::RGB: Flipper<PixelRGB> ::flip (dataCopy, srcData.data, srcData.lineStride, imageW, imageH); break;
|
case Image::RGB: Flipper<PixelRGB> ::flip (dataCopy, srcData.data, srcData.lineStride, imageW, imageH); break;
|
||||||
case Image::SingleChannel: Flipper<PixelAlpha>::flip (dataCopy, srcData.data, srcData.lineStride, imageW, imageH); break;
|
case Image::SingleChannel: Flipper<PixelAlpha>::flip (dataCopy, srcData.data, srcData.lineStride, imageW, imageH); break;
|
||||||
|
case Image::UnknownFormat:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -175,6 +175,7 @@ namespace
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// else = special case: fall through to default and treat '!' as a non-special character.
|
// else = special case: fall through to default and treat '!' as a non-special character.
|
||||||
|
JUCE_FALLTHROUGH
|
||||||
|
|
||||||
default:
|
default:
|
||||||
set.add (c);
|
set.add (c);
|
||||||
|
|
|
||||||
|
|
@ -1325,6 +1325,7 @@ private:
|
||||||
return (cameraSensorOrientation + 180) % 360;
|
return (cameraSensorOrientation + 180) % 360;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case Desktop::allOrientations:
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -394,8 +394,11 @@ private:
|
||||||
notifyOwnerPreparationFinished (url, Result::fail (errorMessage), nullptr);
|
notifyOwnerPreparationFinished (url, Result::fail (errorMessage), nullptr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case AVKeyValueStatusUnknown:
|
||||||
|
case AVKeyValueStatusLoading:
|
||||||
default:
|
default:
|
||||||
{}
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue