Browse Source

Projucer: Set the default plugin binary copy locations of the VS exporter based on the target architecture

tags/2021-05-28
ed 7 years ago
parent
commit
a85dc1c5fe
1 changed files with 23 additions and 10 deletions
  1. +23
    -10
      extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h

+ 23
- 10
extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h View File

@@ -135,7 +135,8 @@ public:
}
//==============================================================================
class MSVCBuildConfiguration : public BuildConfiguration
class MSVCBuildConfiguration : public BuildConfiguration,
private Value::Listener
{
public:
MSVCBuildConfiguration (Project& p, const ValueTree& settings, const ProjectExporter& e)
@@ -153,14 +154,20 @@ public:
architectureTypeValue (config, Ids::winArchitecture, getUndoManager(), get64BitArchName()),
fastMathValue (config, Ids::fastMath, getUndoManager()),
debugInformationFormatValue (config, Ids::debugInformationFormat, getUndoManager(), isDebug() ? "ProgramDatabase" : "None"),
pluginBinaryCopyStepValue (config, Ids::enablePluginBinaryCopyStep, getUndoManager(), false)
pluginBinaryCopyStepValue (config, Ids::enablePluginBinaryCopyStep, getUndoManager(), false),
vstBinaryLocation (config, Ids::vstBinaryLocation, getUndoManager()),
vst3BinaryLocation (config, Ids::vst3BinaryLocation, getUndoManager()),
rtasBinaryLocation (config, Ids::rtasBinaryLocation, getUndoManager()),
aaxBinaryLocation (config, Ids::aaxBinaryLocation, getUndoManager())
{
if (! isDebug())
updateOldLTOSetting();
initialisePluginDefaultValues();
setPluginBinaryCopyLocationDefaults();
optimisationLevelValue.setDefault (isDebug() ? optimisationOff : optimiseFull);
architectureValueToListenTo = architectureTypeValue.getPropertyAsValue();
architectureValueToListenTo.addListener (this);
}
//==============================================================================
@@ -303,6 +310,8 @@ public:
ValueWithDefault vstBinaryLocation, vst3BinaryLocation, rtasBinaryLocation, aaxBinaryLocation;
Value architectureValueToListenTo;
//==============================================================================
void updateOldLTOSetting()
{
@@ -341,17 +350,21 @@ public:
}
void initialisePluginDefaultValues()
void setPluginBinaryCopyLocationDefaults()
{
vstBinaryLocation.referTo (config, Ids::vstBinaryLocation, getUndoManager(), ((is64Bit() ? "%ProgramW6432%"
: "%programfiles(x86)%") + String ("\\Steinberg\\Vstplugins")));
vstBinaryLocation.setDefault ((is64Bit() ? "%ProgramW6432%" : "%programfiles(x86)%") + String ("\\Steinberg\\Vstplugins"));
auto prefix = is64Bit() ? "%CommonProgramW6432%"
: "%CommonProgramFiles(x86)%";
vst3BinaryLocation.referTo (config, Ids::vst3BinaryLocation, getUndoManager(), prefix + String ("\\VST3"));
rtasBinaryLocation.referTo (config, Ids::rtasBinaryLocation, getUndoManager(), prefix + String ("\\Digidesign\\DAE\\Plug-Ins"));
aaxBinaryLocation.referTo (config, Ids::aaxBinaryLocation, getUndoManager(), prefix + String ("\\Avid\\Audio\\Plug-Ins"));
vst3BinaryLocation.setDefault (prefix + String ("\\VST3"));
rtasBinaryLocation.setDefault (prefix + String ("\\Digidesign\\DAE\\Plug-Ins"));
aaxBinaryLocation.setDefault (prefix + String ("\\Avid\\Audio\\Plug-Ins"));
}
void valueChanged (Value&) override
{
setPluginBinaryCopyLocationDefaults();
}
};


Loading…
Cancel
Save