1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
JUCE/modules/juce_browser_plugin/juce_browser_plugin.h
2011-08-13 21:13:50 +01:00

146 lines
6.1 KiB
C

/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-11 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online 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.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#ifndef __JUCE_BROWSER_PLUGIN_JUCEHEADER__
#define __JUCE_BROWSER_PLUGIN_JUCEHEADER__
#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.
<embed id="plugin" type="application/npjucedemo-plugin" width=90% height=500>
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.
<embed id="plugin" type="application/npjucedemo-plugin" width=90% height=500>
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
//=============================================================================
BEGIN_JUCE_NAMESPACE
#include "wrapper/juce_BrowserPluginComponent.h"
END_JUCE_NAMESPACE
//==============================================================================
/**
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_JUCEHEADER__