I got somewhere...
First thing I realised I needed to physically copy the source and Standalone.h file via the finder, then add the source files + juce_StandaloneFilterWindow.h via the Introjucer Files page.
This was added to local copy of juce_StandaloneFilterWindow.h to quell the errors regarding input/output channels
#define JucePlugin_MaxNumInputChannels 2
#define JucePlugin_MaxNumOutputChannels 2
This was added to PluginProcessor.h to stop an error complaining about plugin name
#define JucePlugin_Name "JuceAudio1"
I added this to my Main.cpp file near the top.
#include "juce_standalonefilterwindow.h"
I also had to create a propertyset to use with StandaloneFilterWindow, so beneath that last line I also added the very simple:
PropertySet* props;
Add this to the Main.cpp initialise function (modified from the referenced thread...)
filterWindow = new StandaloneFilterWindow(String("TITLE"), Colours::black, props);
filterWindow->setTitleBarButtonsRequired(DocumentWindow::allButtons, false);
filterWindow->setVisible(true);
filterWindow->setResizable(true, true);
Added the shutdown cleanup code in shutdown function :
deleteAndZero(filterWindow);
Then right before the end of the Main.cpp class definitions, add this (again, per the code in the thread referenced):
private :
StandaloneFilterWindow *filterWindow;
I also had to set my PluginProcessor.cpp 'has Editor' variable back to true...looks like it's time to get into the gui side of things.
Anyway, this creates a Standalone window containing my plugin effecting whatever is set via the options menu...I verified that my processing is happening.
If it helps, since it is so disjointed in the above explanation, here is my main.cpp file (modified after creating a basic gui app via introjucer). This is incredibly bare-bones just trying to get the basics working before I start tweaking...
/*
This file was auto-generated by the Introjucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
#include “…/JuceLibraryCode/JuceHeader.h”
#include “juce_standalonefilterwindow.h”
PropertySet* props;
//==============================================================================
class JuceAudio1StandaloneApplication : public JUCEApplication
{
public:
//==============================================================================
JuceAudio1StandaloneApplication() {}
const String getApplicationName() { return ProjectInfo::projectName; }
const String getApplicationVersion() { return ProjectInfo::versionString; }
bool moreThanOneInstanceAllowed() { return true; }
//==============================================================================
void initialise (const String& commandLine)
{
// Add your application's initialisation code here..
filterWindow = new StandaloneFilterWindow(String("TITLE"), Colours::black, props);
filterWindow->setTitleBarButtonsRequired(DocumentWindow::allButtons, false);
filterWindow->setVisible(true);
filterWindow->setResizable(true, true);
}
void shutdown()
{
// Add your application's shutdown code here..
deleteAndZero(filterWindow);
}
//==============================================================================
void systemRequestedQuit()
{
// This is called when the app is being asked to quit: you can ignore this
// request and let the app carry on running, or call quit() to allow the app to close.
quit();
}
void anotherInstanceStarted (const String& commandLine)
{
// When another instance of the app is launched while this one is running,
// this method is invoked, and the commandLine parameter tells you what
// the other instance's command-line arguments were.
}
private :
StandaloneFilterWindow *filterWindow;
};
//==============================================================================
// This macro generates the main() routine that launches the app.
START_JUCE_APPLICATION (JuceAudio1StandaloneApplication)
Thank yall