171 if (hostPath.containsIgnoreCase (
"Final Cut Pro.app"))
return FinalCut;
172 if (hostPath.containsIgnoreCase (
"Final Cut Pro Trial.app"))
return FinalCut;
173 if (hostPath.containsIgnoreCase (
"Live 6"))
return AbletonLive6;
174 if (hostPath.containsIgnoreCase (
"Live 7"))
return AbletonLive7;
175 if (hostPath.containsIgnoreCase (
"Live 8"))
return AbletonLive8;
176 if (hostPath.containsIgnoreCase (
"Live 9"))
return AbletonLive9;
177 if (hostPath.containsIgnoreCase (
"Live 10"))
return AbletonLive10;
178 if (hostPath.containsIgnoreCase (
"Live 11"))
return AbletonLive11;
180 if (hostFilename.containsIgnoreCase (
"Audition"))
return AdobeAudition;
181 if (hostFilename.containsIgnoreCase (
"Adobe Premiere"))
return AdobePremierePro;
182 if (hostFilename.containsIgnoreCase (
"GarageBand"))
return AppleGarageBand;
183 if (hostFilename.containsIgnoreCase (
"Logic"))
return AppleLogic;
184 if (hostFilename.containsIgnoreCase (
"MainStage"))
return AppleMainStage;
185 if (hostFilename.containsIgnoreCase (
"AU Lab"))
return AULab;
186 if (hostFilename.containsIgnoreCase (
"Pro Tools"))
return AvidProTools;
205 if (hostFilename.containsIgnoreCase (
"WaveBurner"))
return WaveBurner;
206 if (hostPath.containsIgnoreCase (
"Digital Performer"))
return DigitalPerformer;
207 if (hostFilename.containsIgnoreCase (
"reaper"))
return Reaper;
208 if (hostFilename.containsIgnoreCase (
"Reason"))
return Reason;
209 if (hostPath.containsIgnoreCase (
"Studio One"))
return StudioOne;
211 if (hostPath.containsIgnoreCase (
"Tracktion 3"))
return Tracktion3;
213 if (hostFilename.containsIgnoreCase (
"Renoise"))
return Renoise;
214 if (hostFilename.containsIgnoreCase (
"Resolve"))
return DaVinciResolve;
215 if (hostFilename.startsWith (
"Bitwig"))
return BitwigStudio;
216 if (hostFilename.containsIgnoreCase (
"OsxFL"))
return FruityLoops;
217 if (hostFilename.containsIgnoreCase (
"pluginval"))
return pluginval;
218 if (hostFilename.containsIgnoreCase (
"AudioPluginHost"))
return JUCEPluginHost;
219 if (hostFilename.containsIgnoreCase (
"Vienna Ensemble Pro"))
return ViennaEnsemblePro;
225 const auto procName =
nsStringToJuce ([[NSRunningApplication currentApplication] localizedName]);
227 const auto matchesInOrder = [&] (
const StringArray& strings)
229 return procName.matchesWildcard (
"AUHostingService*(" + strings.joinIntoString (
"*") +
")",
false);
233 if (matchesInOrder ({
"Logic",
"Pro" }))
return AppleLogic;
236 if (matchesInOrder ({
"Final",
"Cut",
"Pro" }))
return FinalCut;
239 if (hostFilename.containsIgnoreCase (
"Live 6"))
return AbletonLive6;
240 if (hostFilename.containsIgnoreCase (
"Live 7"))
return AbletonLive7;
241 if (hostFilename.containsIgnoreCase (
"Live 8"))
return AbletonLive8;
242 if (hostFilename.containsIgnoreCase (
"Live 9"))
return AbletonLive9;
243 if (hostFilename.containsIgnoreCase (
"Live 10"))
return AbletonLive10;
244 if (hostFilename.containsIgnoreCase (
"Live 11"))
return AbletonLive11;
246 if (hostFilename.containsIgnoreCase (
"Audition"))
return AdobeAudition;
247 if (hostFilename.containsIgnoreCase (
"Adobe Premiere"))
return AdobePremierePro;
248 if (hostFilename.containsIgnoreCase (
"ProTools"))
return AvidProTools;
249 if (hostPath.containsIgnoreCase (
"SONAR 8"))
return CakewalkSonar8;
252 if (hostFilename.containsIgnoreCase (
"GarageBand"))
return AppleGarageBand;
253 if (hostFilename.containsIgnoreCase (
"Logic"))
return AppleLogic;
254 if (hostFilename.containsIgnoreCase (
"MainStage"))
return AppleMainStage;
256 if (hostPath.containsIgnoreCase (
"Tracktion 3"))
return Tracktion3;
258 if (hostFilename.containsIgnoreCase (
"reaper"))
return Reaper;
263 if (hostFilename.containsIgnoreCase (
"Cubase8.exe"))
return SteinbergCubase8;
266 if (hostFilename.containsIgnoreCase (
"Cubase9.5.exe")
268 if (hostFilename.containsIgnoreCase (
"Cubase9.exe")
270 if (hostFilename.containsIgnoreCase (
"Cubase10.5.exe")
272 if (hostFilename.containsIgnoreCase (
"Cubase10.exe")
284 if (hostFilename.startsWith (
"FL"))
return FruityLoops;
285 if (hostFilename.contains (
"ilbridge."))
return FruityLoops;
286 if (hostPath.containsIgnoreCase (
"Studio One"))
return StudioOne;
287 if (hostPath.containsIgnoreCase (
"Digital Performer"))
return DigitalPerformer;
288 if (hostFilename.containsIgnoreCase (
"VST_Scanner"))
return VBVSTScanner;
289 if (hostPath.containsIgnoreCase (
"Merging Technologies"))
return MergingPyramix;
291 if (hostFilename.startsWithIgnoreCase (
"Sequoia"))
return MagixSequoia;
292 if (hostFilename.containsIgnoreCase (
"Reason"))
return Reason;
293 if (hostFilename.containsIgnoreCase (
"Renoise"))
return Renoise;
294 if (hostFilename.containsIgnoreCase (
"Resolve"))
return DaVinciResolve;
295 if (hostPath.containsIgnoreCase (
"Bitwig Studio"))
return BitwigStudio;
296 if (hostFilename.containsIgnoreCase (
"Sadie"))
return SADiE;
297 if (hostFilename.containsIgnoreCase (
"pluginval"))
return pluginval;
298 if (hostFilename.containsIgnoreCase (
"AudioPluginHost"))
return JUCEPluginHost;
299 if (hostFilename.containsIgnoreCase (
"Vienna Ensemble Pro"))
return ViennaEnsemblePro;
301 #elif JUCE_LINUX || JUCE_BSD
302 if (hostFilename.containsIgnoreCase (
"Ardour"))
return Ardour;
305 if (hostFilename.startsWith (
"Bitwig"))
return BitwigStudio;
306 if (hostFilename.containsIgnoreCase (
"pluginval"))
return pluginval;
307 if (hostFilename.containsIgnoreCase (
"AudioPluginHost"))
return JUCEPluginHost;