/* ============================================================================== This file is part of the JUCE library. Copyright (c) 2013 - Raw Material Software Ltd. Permission is granted to use this software under the terms of either: a) the GPL v2 (or any later version) b) the Affero GPL v3 Details of these licenses can be found at: www.gnu.org/licenses JUCE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ------------------------------------------------------------------------------ To release a closed-source product which uses JUCE, commercial licenses are available: visit www.juce.com for more information. ============================================================================== */ #ifndef JUCE_BROWSER_PLUGIN_H_INCLUDED #define JUCE_BROWSER_PLUGIN_H_INCLUDED #include "../juce_gui_basics/juce_gui_basics.h" //============================================================================= /** Config: JUCE_BUILD_NPAPI Use this flag to enable or disable the building of an NPAPI verstion of your plugin. */ #ifndef JUCE_BUILD_NPAPI #define JUCE_BUILD_NPAPI 1 #endif /** Config: JUCE_BUILD_ACTIVEX Use this flag to enable or disable the building of an ActiveX verstion of your plugin. */ #if JUCE_WINDOWS && ! defined (JUCE_BUILD_ACTIVEX) #define JUCE_BUILD_ACTIVEX 1 #endif //============================================================================= /** JuceBrowserPlugin_Company This should be a quoted string containing the name of your company. */ #ifndef JuceBrowserPlugin_Company #error "You must define the JuceBrowserPlugin_Company macro before including juce_browser_plugin.h!" #endif /** JuceBrowserPlugin_Name This should be a quoted string containing the name of your plugin. */ #ifndef JuceBrowserPlugin_Name #error "You must define the JuceBrowserPlugin_Name macro before including juce_browser_plugin.h!" #endif /** JuceBrowserPlugin_Desc This should be a quoted string containing a description of your plugin. */ #ifndef JuceBrowserPlugin_Desc #error "You must define the JuceBrowserPlugin_Desc macro before including juce_browser_plugin.h!" #endif //============================================================================== /** JuceBrowserPlugin_Desc This should be a quoted string containing a version number for your plugin, e.g. "1.0.0" The same version number must also be provided in the JuceBrowserPlugin_WinVersion setting. */ #ifndef JuceBrowserPlugin_Version #error "You must define the JuceBrowserPlugin_Version macro before including juce_browser_plugin.h!" #endif /** JuceBrowserPlugin_Desc This should be a comma-separated windows resource version number for your plugin, e.g. 0, 1, 0, 0. It must be the same number as the JuceBrowserPlugin_Version setting. */ #ifndef JuceBrowserPlugin_WinVersion #error "You must define the JuceBrowserPlugin_WinVersion macro before including juce_browser_plugin.h!" #endif //============================================================================== /** JuceBrowserPlugin_MimeType_Raw In your HTML, this is the 'type' parameter of the embed tag, e.g. Both the JuceBrowserPlugin_MimeType_Raw and JuceBrowserPlugin_MimeType must be the same string, but JuceBrowserPlugin_MimeType_Raw must have no quotes, whereas JuceBrowserPlugin_MimeType must be quoted. */ #ifndef JuceBrowserPlugin_MimeType_Raw #error "You must define the JuceBrowserPlugin_MimeType_Raw macro before including juce_browser_plugin.h!" #endif /** JuceBrowserPlugin_MimeType In your HTML, this is the 'type' parameter of the embed tag, e.g. Both the JuceBrowserPlugin_MimeType_Raw and JuceBrowserPlugin_MimeType must be the same string, but JuceBrowserPlugin_MimeType_Raw must have no quotes, whereas JuceBrowserPlugin_MimeType must be quoted. */ #ifndef JuceBrowserPlugin_MimeType #error "You must define the JuceBrowserPlugin_MimeType macro before including juce_browser_plugin.h!" #endif //============================================================================== /** JuceBrowserPlugin_FileSuffix Because plugins are associated with a file-type, this is the suffix of the file type the plugin can open. If you don't need to use it, just use a made-up name here, e.g. ".jucedemo". The string must be quoted. */ #ifndef JuceBrowserPlugin_FileSuffix #error "You must define the JuceBrowserPlugin_FileSuffix macro before including juce_browser_plugin.h!" #endif /** JuceBrowserPlugin_ActiveXCLSID If you're building an ActiveX plugin, you'll need to create a unique GUID for your plugin. Use a tool like uuidgen.exe to create this. The guid must be defined here as a quoted string, e.g. "F683B990-3ADF-11DE-BDFE-F9CB55D89593". */ #if JUCE_BUILD_ACTIVEX && ! defined (JuceBrowserPlugin_ActiveXCLSID) #error "You must define the JuceBrowserPlugin_ActiveXCLSID macro before including juce_browser_plugin.h!" #endif //============================================================================= namespace juce { #include "wrapper/juce_BrowserPluginComponent.h" } //============================================================================== /** This function must be implemented somewhere in your code to create the actual plugin object that you want to use. Obviously multiple instances may be used simultaneously, so be VERY cautious in your use of static variables! */ juce::BrowserPluginComponent* JUCE_CALLTYPE createBrowserPlugin(); #endif // JUCE_BROWSER_PLUGIN_H_INCLUDED