mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-26 02:14:22 +00:00
Deleted the old native browser plugin demo app.
This commit is contained in:
parent
9f602bd7e9
commit
03c157f898
22 changed files with 0 additions and 1163 deletions
|
|
@ -1,69 +0,0 @@
|
|||
|
||||
|
||||
Juce Browser Plugin Framework
|
||||
=============================
|
||||
|
||||
These classes let you wrap a normal Juce component as a Mac/Windows NPAPI plugin for use in Firefox,
|
||||
Safari, Chrome, etc., and/or an ActiveX plugin for IE.
|
||||
|
||||
To create your plugin, your code just needs to implement the createBrowserPlugin() function
|
||||
to return a subclass of BrowserPluginComponent, and this acts as the plugin window.
|
||||
|
||||
To communicate with javascript running in the host webpage, the 'var' and 'DynamicObject' juce
|
||||
classes emulate javascript objects, so you can create a javascript object that represents
|
||||
your plugin, and the webpage can invoke methods and access properties on this object. To
|
||||
get bi-directional communication between the plugin and webpage, your webpage can simply
|
||||
pass its own object to your plugin, and the plugin can call methods on this object to invoke
|
||||
javascript actions.
|
||||
|
||||
In a similar style to audio plugins, your project has to contain a BrowserPluginCharacteristics.h
|
||||
file that defines various properties of the plugin.
|
||||
|
||||
|
||||
Building a Mac NPAPI Plugin with XCode
|
||||
--------------------------------------
|
||||
|
||||
- Create a new "CFPlugin Bundle" project
|
||||
- Add the juce wrapper source files to the project (have a look at the demo project to
|
||||
find out which files this includes).
|
||||
- Set up all the usual frameworks, etc, like you would for any other juce project.
|
||||
- In the project or target settings, change the "Wrapper Extension" to "plugin"
|
||||
- In your target, add a build phase "Build ResourceManager resources", and add the juce_NPAPI_MacResource.r file
|
||||
to this step.
|
||||
- Check that your info.plist contains the same items as the demo plugin, because these need to be set for the
|
||||
browser to recognise it as a plugin. In particular, the "Bundle OS Type Code" should be set to BRPL.
|
||||
- The finished bundle needs to be copied into "/Library/Internet Plug-Ins", so you might want to set up a
|
||||
post-build copy step to do this automatically
|
||||
|
||||
|
||||
Building a Windows NPAPI plugin in Visual Studio
|
||||
------------------------------------------------
|
||||
|
||||
- Create a new project to build a win32 DLL
|
||||
- Add the juce wrapper source files to the project (have a look at the demo project to
|
||||
find out which files this includes).
|
||||
- Your compiled plugin DLL must begin with the letters 'np' (in lower case) for it to be recognised as
|
||||
a plugin, so you should make sure your target settings reflect this.
|
||||
- To include the BrowserPluginCharacteristics.h file, you may need to add an include path to wherever this
|
||||
file lives in your project. Don't use a global include path for this - just add it to the project's
|
||||
search paths (both the c++ include paths and the resource include paths)
|
||||
- (Refer to the normal juce instructions for setting up other project settings such as which c++ libs to link to etc)
|
||||
- The finished plugin needs to be copied into "C:\Program Files\Mozilla Firefox\plugins", so you might want
|
||||
to add a post-build step to copy it
|
||||
- Note that the "browser plugins/wrapper/npapi" folder contains a copy of some NPAPI header files. If you're
|
||||
building a closed-source project, please check the licensing details in these files to make sure
|
||||
you're not breaking any Mozilla licensing restictions.
|
||||
|
||||
|
||||
Building a Windows ActiveX control for Internet Explorer
|
||||
--------------------------------------------------------
|
||||
|
||||
- This is actually quite easy, because the same DLL that functions as an NPAPI plugin can
|
||||
also be used as an ActiveX control.
|
||||
- Just create a windows NPAPI plugin as described above, but add the juce_ActiveX_GlueCode.cpp
|
||||
file to the project.
|
||||
- In your BrowserPluginCharacteristics.h file, the JuceBrowserPlugin_ActiveXCLSID setting needs
|
||||
to be given a unique GUID for your plugin.
|
||||
- Because the plugin is a COM object, it doesn't matter where the DLL lives, but it needs to
|
||||
be registered in the normal COM way, with regsvr32.exe. Note that on Vista, this command
|
||||
needs to be run with administrator permissions for it to be able to write to the registry.
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#include "../../src/BrowserPluginCharacteristics.h"
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BRPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>JuceBrowserPlugin_Desc</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>JuceBrowserPlugin_Version</string>
|
||||
<key>WebPluginName</key>
|
||||
<string>JuceBrowserPlugin_Name</string>
|
||||
<key>WebPluginMIMETypes</key>
|
||||
<dict>
|
||||
<key>application/npjucedemo-plugin</key>
|
||||
<dict>
|
||||
<key>WebPluginExtensions</key>
|
||||
<array>
|
||||
<string>jucedemo</string>
|
||||
</array>
|
||||
<key>WebPluginTypeDescription</key>
|
||||
<string>Juce Demo</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
@ -1,364 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8415443F13DED0F800D66D72 /* juce_NPAPI_MacResource.r in Rez */ = {isa = PBXBuildFile; fileRef = 8415443313DEB84C00D66D72 /* juce_NPAPI_MacResource.r */; };
|
||||
8415449013DEEF0D00D66D72 /* juce_browser_plugin_wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8415448213DEEF0D00D66D72 /* juce_browser_plugin_wrapper.mm */; };
|
||||
8415449213DEEF0D00D66D72 /* juce_core_wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8415448413DEEF0D00D66D72 /* juce_core_wrapper.mm */; };
|
||||
8415449413DEEF0D00D66D72 /* juce_data_structures_wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8415448613DEEF0D00D66D72 /* juce_data_structures_wrapper.mm */; };
|
||||
8415449613DEEF0D00D66D72 /* juce_events_wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8415448813DEEF0D00D66D72 /* juce_events_wrapper.mm */; };
|
||||
8415449813DEEF0D00D66D72 /* juce_graphics_wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8415448A13DEEF0D00D66D72 /* juce_graphics_wrapper.mm */; };
|
||||
8415449A13DEEF0D00D66D72 /* juce_gui_basics_wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8415448C13DEEF0D00D66D72 /* juce_gui_basics_wrapper.mm */; };
|
||||
841544B613DEF1DC00D66D72 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841544B513DEF1DC00D66D72 /* QuartzCore.framework */; };
|
||||
8415454713DF243A00D66D72 /* JuceBrowserPluginDemo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 842CC42E0FA5BD57008C7970 /* JuceBrowserPluginDemo.cpp */; };
|
||||
842CC8E20FA5D26A008C7970 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D30FA5D26A008C7970 /* Carbon.framework */; };
|
||||
842CC8E30FA5D26A008C7970 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D40FA5D26A008C7970 /* CoreFoundation.framework */; };
|
||||
842CC8E40FA5D26A008C7970 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D50FA5D26A008C7970 /* DiscRecording.framework */; };
|
||||
842CC8E50FA5D26A008C7970 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D60FA5D26A008C7970 /* Cocoa.framework */; };
|
||||
842CC8E60FA5D26A008C7970 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D70FA5D26A008C7970 /* WebKit.framework */; };
|
||||
842CC8E70FA5D26A008C7970 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D80FA5D26A008C7970 /* AGL.framework */; };
|
||||
842CC8E80FA5D26A008C7970 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8D90FA5D26A008C7970 /* CoreAudio.framework */; };
|
||||
842CC8E90FA5D26A008C7970 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8DA0FA5D26A008C7970 /* CoreMIDI.framework */; };
|
||||
842CC8EA0FA5D26A008C7970 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8DB0FA5D26A008C7970 /* IOKit.framework */; };
|
||||
842CC8EB0FA5D26A008C7970 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8DC0FA5D26A008C7970 /* OpenGL.framework */; };
|
||||
842CC8EC0FA5D26A008C7970 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8DD0FA5D26A008C7970 /* QuickTime.framework */; };
|
||||
842CC8ED0FA5D26A008C7970 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8DE0FA5D26A008C7970 /* QTKit.framework */; };
|
||||
842CC8EE0FA5D26A008C7970 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8DF0FA5D26A008C7970 /* CoreServices.framework */; };
|
||||
842CC8EF0FA5D26A008C7970 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8E00FA5D26A008C7970 /* ApplicationServices.framework */; };
|
||||
842CC8F00FA5D26A008C7970 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 842CC8E10FA5D26A008C7970 /* CoreFoundation.framework */; };
|
||||
842CCB300FA5F201008C7970 /* JuceBrowserPluginDemo.plugin in CopyFiles */ = {isa = PBXBuildFile; fileRef = 842CC9360FA5D51F008C7970 /* JuceBrowserPluginDemo.plugin */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
842CCB3F0FA5F204008C7970 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "/Library/Internet Plug-Ins";
|
||||
dstSubfolderSpec = 0;
|
||||
files = (
|
||||
842CCB300FA5F201008C7970 /* JuceBrowserPluginDemo.plugin in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
8415442C13DEB82500D66D72 /* How to build a browser plugin.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "How to build a browser plugin.txt"; path = "../../How to build a browser plugin.txt"; sourceTree = SOURCE_ROOT; };
|
||||
8415442E13DEB84C00D66D72 /* juce_ActiveX_GlueCode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ActiveX_GlueCode.cpp; path = ../../../../modules/juce_browser_plugin_client/wrapper/juce_ActiveX_GlueCode.cpp; sourceTree = SOURCE_ROOT; };
|
||||
8415442F13DEB84C00D66D72 /* juce_BrowserPluginComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = juce_BrowserPluginComponent.h; path = ../../../../modules/juce_browser_plugin_client/wrapper/juce_BrowserPluginComponent.h; sourceTree = SOURCE_ROOT; };
|
||||
8415443113DEB84C00D66D72 /* juce_NPAPI_GlueCode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_NPAPI_GlueCode.cpp; path = ../../../../modules/juce_browser_plugin_client/wrapper/juce_NPAPI_GlueCode.cpp; sourceTree = SOURCE_ROOT; };
|
||||
8415443313DEB84C00D66D72 /* juce_NPAPI_MacResource.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; name = juce_NPAPI_MacResource.r; path = ../../../../modules/juce_browser_plugin_client/wrapper/juce_NPAPI_MacResource.r; sourceTree = SOURCE_ROOT; };
|
||||
8415448213DEEF0D00D66D72 /* juce_browser_plugin_wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_browser_plugin_wrapper.mm; path = ../../src/juce_browser_plugin_wrapper.mm; sourceTree = SOURCE_ROOT; };
|
||||
8415448413DEEF0D00D66D72 /* juce_core_wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_core_wrapper.mm; path = ../../src/juce_core_wrapper.mm; sourceTree = SOURCE_ROOT; };
|
||||
8415448613DEEF0D00D66D72 /* juce_data_structures_wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_data_structures_wrapper.mm; path = ../../src/juce_data_structures_wrapper.mm; sourceTree = SOURCE_ROOT; };
|
||||
8415448813DEEF0D00D66D72 /* juce_events_wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_events_wrapper.mm; path = ../../src/juce_events_wrapper.mm; sourceTree = SOURCE_ROOT; };
|
||||
8415448A13DEEF0D00D66D72 /* juce_graphics_wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_graphics_wrapper.mm; path = ../../src/juce_graphics_wrapper.mm; sourceTree = SOURCE_ROOT; };
|
||||
8415448C13DEEF0D00D66D72 /* juce_gui_basics_wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_basics_wrapper.mm; path = ../../src/juce_gui_basics_wrapper.mm; sourceTree = SOURCE_ROOT; };
|
||||
841544B513DEF1DC00D66D72 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
|
||||
842CC42E0FA5BD57008C7970 /* JuceBrowserPluginDemo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JuceBrowserPluginDemo.cpp; path = ../../src/JuceBrowserPluginDemo.cpp; sourceTree = SOURCE_ROOT; };
|
||||
842CC4310FA5BD57008C7970 /* BrowserPluginCharacteristics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserPluginCharacteristics.h; path = ../../src/BrowserPluginCharacteristics.h; sourceTree = SOURCE_ROOT; };
|
||||
842CC8D30FA5D26A008C7970 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
|
||||
842CC8D40FA5D26A008C7970 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
|
||||
842CC8D50FA5D26A008C7970 /* DiscRecording.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = /System/Library/Frameworks/DiscRecording.framework; sourceTree = "<absolute>"; };
|
||||
842CC8D60FA5D26A008C7970 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
842CC8D70FA5D26A008C7970 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; };
|
||||
842CC8D80FA5D26A008C7970 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
|
||||
842CC8D90FA5D26A008C7970 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
|
||||
842CC8DA0FA5D26A008C7970 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = /System/Library/Frameworks/CoreMIDI.framework; sourceTree = "<absolute>"; };
|
||||
842CC8DB0FA5D26A008C7970 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
|
||||
842CC8DC0FA5D26A008C7970 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
|
||||
842CC8DD0FA5D26A008C7970 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; };
|
||||
842CC8DE0FA5D26A008C7970 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = "<absolute>"; };
|
||||
842CC8DF0FA5D26A008C7970 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
|
||||
842CC8E00FA5D26A008C7970 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
|
||||
842CC8E10FA5D26A008C7970 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
|
||||
842CC9360FA5D51F008C7970 /* JuceBrowserPluginDemo.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceBrowserPluginDemo.plugin; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
842CC93B0FA5D5D1008C7970 /* test.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = test.html; path = ../../test.html; sourceTree = SOURCE_ROOT; };
|
||||
84F71BD913E6E86D00AFBCF3 /* AppConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../src/AppConfig.h; sourceTree = SOURCE_ROOT; };
|
||||
84F71BDC13E6E8D900AFBCF3 /* JuceHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../src/JuceHeader.h; sourceTree = SOURCE_ROOT; };
|
||||
8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D576313048677EA00EA77CD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
842CC8E20FA5D26A008C7970 /* Carbon.framework in Frameworks */,
|
||||
842CC8E30FA5D26A008C7970 /* CoreFoundation.framework in Frameworks */,
|
||||
842CC8E40FA5D26A008C7970 /* DiscRecording.framework in Frameworks */,
|
||||
842CC8E50FA5D26A008C7970 /* Cocoa.framework in Frameworks */,
|
||||
842CC8E60FA5D26A008C7970 /* WebKit.framework in Frameworks */,
|
||||
842CC8E70FA5D26A008C7970 /* AGL.framework in Frameworks */,
|
||||
842CC8E80FA5D26A008C7970 /* CoreAudio.framework in Frameworks */,
|
||||
842CC8E90FA5D26A008C7970 /* CoreMIDI.framework in Frameworks */,
|
||||
842CC8EA0FA5D26A008C7970 /* IOKit.framework in Frameworks */,
|
||||
842CC8EB0FA5D26A008C7970 /* OpenGL.framework in Frameworks */,
|
||||
842CC8EC0FA5D26A008C7970 /* QuickTime.framework in Frameworks */,
|
||||
842CC8ED0FA5D26A008C7970 /* QTKit.framework in Frameworks */,
|
||||
842CC8EE0FA5D26A008C7970 /* CoreServices.framework in Frameworks */,
|
||||
842CC8EF0FA5D26A008C7970 /* ApplicationServices.framework in Frameworks */,
|
||||
842CC8F00FA5D26A008C7970 /* CoreFoundation.framework in Frameworks */,
|
||||
841544B613DEF1DC00D66D72 /* QuartzCore.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
089C166AFE841209C02AAC07 /* JuceBrowserPluginDemo */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
08FB77AFFE84173DC02AAC07 /* Source */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
842CC9370FA5D51F008C7970 /* Products */,
|
||||
);
|
||||
name = JuceBrowserPluginDemo;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
842CC8D30FA5D26A008C7970 /* Carbon.framework */,
|
||||
842CC8D40FA5D26A008C7970 /* CoreFoundation.framework */,
|
||||
842CC8D50FA5D26A008C7970 /* DiscRecording.framework */,
|
||||
842CC8D60FA5D26A008C7970 /* Cocoa.framework */,
|
||||
842CC8D70FA5D26A008C7970 /* WebKit.framework */,
|
||||
842CC8D80FA5D26A008C7970 /* AGL.framework */,
|
||||
842CC8D90FA5D26A008C7970 /* CoreAudio.framework */,
|
||||
842CC8DA0FA5D26A008C7970 /* CoreMIDI.framework */,
|
||||
842CC8DB0FA5D26A008C7970 /* IOKit.framework */,
|
||||
842CC8DC0FA5D26A008C7970 /* OpenGL.framework */,
|
||||
842CC8DD0FA5D26A008C7970 /* QuickTime.framework */,
|
||||
842CC8DE0FA5D26A008C7970 /* QTKit.framework */,
|
||||
842CC8DF0FA5D26A008C7970 /* CoreServices.framework */,
|
||||
842CC8E00FA5D26A008C7970 /* ApplicationServices.framework */,
|
||||
842CC8E10FA5D26A008C7970 /* CoreFoundation.framework */,
|
||||
841544B513DEF1DC00D66D72 /* QuartzCore.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D576317048677EA00EA77CD /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77AFFE84173DC02AAC07 /* Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8415442C13DEB82500D66D72 /* How to build a browser plugin.txt */,
|
||||
842CC93B0FA5D5D1008C7970 /* test.html */,
|
||||
842CC4130FA5BB01008C7970 /* wrapper code */,
|
||||
842CC42E0FA5BD57008C7970 /* JuceBrowserPluginDemo.cpp */,
|
||||
842CC4310FA5BD57008C7970 /* BrowserPluginCharacteristics.h */,
|
||||
);
|
||||
name = Source;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
842CC4130FA5BB01008C7970 /* wrapper code */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
84F71BDC13E6E8D900AFBCF3 /* JuceHeader.h */,
|
||||
84F71BD913E6E86D00AFBCF3 /* AppConfig.h */,
|
||||
8415448213DEEF0D00D66D72 /* juce_browser_plugin_wrapper.mm */,
|
||||
8415448413DEEF0D00D66D72 /* juce_core_wrapper.mm */,
|
||||
8415448613DEEF0D00D66D72 /* juce_data_structures_wrapper.mm */,
|
||||
8415448813DEEF0D00D66D72 /* juce_events_wrapper.mm */,
|
||||
8415448A13DEEF0D00D66D72 /* juce_graphics_wrapper.mm */,
|
||||
8415448C13DEEF0D00D66D72 /* juce_gui_basics_wrapper.mm */,
|
||||
8415442E13DEB84C00D66D72 /* juce_ActiveX_GlueCode.cpp */,
|
||||
8415442F13DEB84C00D66D72 /* juce_BrowserPluginComponent.h */,
|
||||
8415443113DEB84C00D66D72 /* juce_NPAPI_GlueCode.cpp */,
|
||||
8415443313DEB84C00D66D72 /* juce_NPAPI_MacResource.r */,
|
||||
);
|
||||
name = "wrapper code";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
842CC9370FA5D51F008C7970 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
842CC9360FA5D51F008C7970 /* JuceBrowserPluginDemo.plugin */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D57630D048677EA00EA77CD /* JuceBrowserPluginDemo */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "JuceBrowserPluginDemo" */;
|
||||
buildPhases = (
|
||||
842CC9580FA5D939008C7970 /* Rez */,
|
||||
8D57630F048677EA00EA77CD /* Resources */,
|
||||
8D576311048677EA00EA77CD /* Sources */,
|
||||
8D576313048677EA00EA77CD /* Frameworks */,
|
||||
842CCB3F0FA5F204008C7970 /* CopyFiles */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = JuceBrowserPluginDemo;
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = JuceBrowserPluginDemo;
|
||||
productReference = 842CC9360FA5D51F008C7970 /* JuceBrowserPluginDemo.plugin */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "JuceBrowserPluginDemo" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* JuceBrowserPluginDemo */;
|
||||
productRefGroup = 842CC9370FA5D51F008C7970 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D57630D048677EA00EA77CD /* JuceBrowserPluginDemo */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D57630F048677EA00EA77CD /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXRezBuildPhase section */
|
||||
842CC9580FA5D939008C7970 /* Rez */ = {
|
||||
isa = PBXRezBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8415443F13DED0F800D66D72 /* juce_NPAPI_MacResource.r in Rez */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXRezBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D576311048677EA00EA77CD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8415449013DEEF0D00D66D72 /* juce_browser_plugin_wrapper.mm in Sources */,
|
||||
8415449213DEEF0D00D66D72 /* juce_core_wrapper.mm in Sources */,
|
||||
8415449413DEEF0D00D66D72 /* juce_data_structures_wrapper.mm in Sources */,
|
||||
8415449613DEEF0D00D66D72 /* juce_events_wrapper.mm in Sources */,
|
||||
8415449813DEEF0D00D66D72 /* juce_graphics_wrapper.mm in Sources */,
|
||||
8415449A13DEEF0D00D66D72 /* juce_gui_basics_wrapper.mm in Sources */,
|
||||
8415454713DF243A00D66D72 /* JuceBrowserPluginDemo.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB911B08733D790010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INFOPLIST_PREPROCESS = YES;
|
||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||
PRODUCT_NAME = JuceBrowserPluginDemo;
|
||||
WRAPPER_EXTENSION = plugin;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1DEB911C08733D790010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INFOPLIST_PREPROCESS = YES;
|
||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||
PRODUCT_NAME = JuceBrowserPluginDemo;
|
||||
WRAPPER_EXTENSION = plugin;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1DEB911F08733D790010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1DEB912008733D790010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||
GCC_C_LANGUAGE_STANDARD = c99;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = macosx10.5;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "JuceBrowserPluginDemo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB911B08733D790010E9CD /* Debug */,
|
||||
1DEB911C08733D790010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "JuceBrowserPluginDemo" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB911F08733D790010E9CD /* Debug */,
|
||||
1DEB912008733D790010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual C++ Express 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JuceBrowserPluginDemo", "JuceBrowserPluginDemo.vcproj", "{865C6463-5BC7-4F36-8667-FF9221C32797}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{865C6463-5BC7-4F36-8667-FF9221C32797}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{865C6463-5BC7-4F36-8667-FF9221C32797}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{865C6463-5BC7-4F36-8667-FF9221C32797}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{865C6463-5BC7-4F36-8667-FF9221C32797}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -1,232 +0,0 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
Name="JuceBrowserPluginDemo"
|
||||
ProjectGUID="{865C6463-5BC7-4F36-8667-FF9221C32797}"
|
||||
RootNamespace="JuceBrowserPluginDemo"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="196613"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../src"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;JUCEBROWSERPLUGINDEMO_EXPORTS"
|
||||
MinimalRebuild="false"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="../../src"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\np$(ProjectName).dll"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="copy /Y "$(TargetPath)" "C:\Program Files\Mozilla Firefox\plugins""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
AdditionalIncludeDirectories="../../src"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;JUCEBROWSERPLUGINDEMO_EXPORTS"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
AdditionalIncludeDirectories="../../src"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)\np$(ProjectName).dll"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\BrowserPluginCharacteristics.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\JuceBrowserPluginDemo.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\JuceHeader.h"
|
||||
>
|
||||
</File>
|
||||
<Filter
|
||||
Name="wrapper"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\src\AppConfig.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\juce_browser_plugin_wrapper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\juce_core_wrapper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\juce_data_structures_wrapper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\juce_events_wrapper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\juce_graphics_wrapper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\juce_gui_basics_wrapper.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\..\modules\juce_browser_plugin_client\wrapper\juce_NPAPI_WinResource.rc"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
|
||||
#define JUCE_MODULE_AVAILABLE_juce_core 1
|
||||
|
||||
#include "BrowserPluginCharacteristics.h"
|
||||
|
||||
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file contains values that describe your plugin's behaviour.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
|
||||
//==============================================================================
|
||||
#define JuceBrowserPlugin_Company "ROLI Ltd"
|
||||
#define JuceBrowserPlugin_Name "Juce Plugin Demo!"
|
||||
#define JuceBrowserPlugin_Desc "Juce Browser Plugin Demo!"
|
||||
|
||||
//==============================================================================
|
||||
/** This should be the same version number, in different forms..
|
||||
*/
|
||||
#define JuceBrowserPlugin_Version "0.1"
|
||||
#define JuceBrowserPlugin_WinVersion 0, 0, 1, 0
|
||||
|
||||
//==============================================================================
|
||||
/** This is the mime-type of the plugin.
|
||||
|
||||
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>
|
||||
|
||||
These two macros must be the same string, but the "raw" one shouldn't have quotes around it.
|
||||
*/
|
||||
#define JuceBrowserPlugin_MimeType_Raw application/npjucedemo-plugin
|
||||
#define JuceBrowserPlugin_MimeType "application/npjucedemo-plugin"
|
||||
|
||||
//==============================================================================
|
||||
/** 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.
|
||||
*/
|
||||
#define JuceBrowserPlugin_FileSuffix ".jucedemo"
|
||||
|
||||
/** If you're building an activeX version, you'll need to create a unique GUID for
|
||||
your plugin. Use a tool like uuidgen.exe to create this.
|
||||
*/
|
||||
#define JuceBrowserPlugin_ActiveXCLSID "F683B990-3ADF-11DE-BDFE-F9CB55D89593"
|
||||
|
|
@ -1,141 +0,0 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library.
|
||||
Copyright (c) 2015 - ROLI 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.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
#include "JuceHeader.h"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
This is our top-level component for our plugin..
|
||||
*/
|
||||
class JuceDemoBrowserPlugin : public BrowserPluginComponent,
|
||||
public Button::Listener
|
||||
{
|
||||
public:
|
||||
JuceDemoBrowserPlugin()
|
||||
: textBox (String::empty),
|
||||
button ("Send a message to the webpage")
|
||||
{
|
||||
addAndMakeVisible (textBox);
|
||||
textBox.setMultiLine (true);
|
||||
textBox.setBounds (8, 8, 300, 300);
|
||||
|
||||
addAndMakeVisible (button);
|
||||
button.setBounds (320, 8, 180, 22);
|
||||
button.addListener (this);
|
||||
button.setEnabled (false);
|
||||
|
||||
ourJavascriptObject = new DemoBrowserObject (this);
|
||||
|
||||
textBox.setText (SystemStats::getJUCEVersion() + "\n\n"
|
||||
+ "Browser: " + getBrowserVersion());
|
||||
}
|
||||
|
||||
var getJavascriptObject()
|
||||
{
|
||||
// The browser calls this to get the javascript object that represents our plugin..
|
||||
return ourJavascriptObject;
|
||||
}
|
||||
|
||||
void paint (Graphics& g)
|
||||
{
|
||||
g.fillAll (Colours::lightblue);
|
||||
}
|
||||
|
||||
void setJavascriptObjectFromBrowser (var callbackObject)
|
||||
{
|
||||
javascriptObjectFromBrowser = callbackObject;
|
||||
|
||||
button.setEnabled (javascriptObjectFromBrowser.isObject());
|
||||
}
|
||||
|
||||
void buttonClicked (Button*)
|
||||
{
|
||||
javascriptObjectFromBrowser.call ("printmessage", "This is a message sent from the plugin...");
|
||||
}
|
||||
|
||||
var ourJavascriptObject;
|
||||
var javascriptObjectFromBrowser;
|
||||
TextEditor textBox;
|
||||
TextButton button;
|
||||
|
||||
//==============================================================================
|
||||
/** This is the javascript object that the browser uses when the webpage accesses
|
||||
methods or properties on our plugin object.
|
||||
*/
|
||||
class DemoBrowserObject : public DynamicObject
|
||||
{
|
||||
public:
|
||||
DemoBrowserObject (JuceDemoBrowserPlugin* bp) : owner (bp)
|
||||
{
|
||||
// Add a couple of methods to our object..
|
||||
setMethod ("printText", printText);
|
||||
setMethod ("popUpMessageBox", popUpMessageBox);
|
||||
setMethod ("registerCallbackObject", registerCallbackObject);
|
||||
|
||||
// Add some value properties that the webpage can access
|
||||
setProperty ("property1", "testing testing...");
|
||||
setProperty ("property2", 12345678.0);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
// These methods are called by javascript in the webpage...
|
||||
static var printText (const var::NativeFunctionArgs& args)
|
||||
{
|
||||
if (DemoBrowserObject* b = dynamic_cast<DemoBrowserObject*> (args.thisObject.getObject()))
|
||||
if (args.numArguments > 0)
|
||||
b->owner->textBox.setText (b->owner->textBox.getText() + "\n" + args.arguments[0].toString());
|
||||
|
||||
return "text was printed ok!";
|
||||
}
|
||||
|
||||
static var popUpMessageBox (const var::NativeFunctionArgs& args)
|
||||
{
|
||||
if (DemoBrowserObject* b = dynamic_cast<DemoBrowserObject*> (args.thisObject.getObject()))
|
||||
if (args.numArguments > 0)
|
||||
AlertWindow::showMessageBox (AlertWindow::InfoIcon,
|
||||
"A message from the webpage",
|
||||
args.arguments[0].toString(),
|
||||
String::empty, b->owner);
|
||||
return var();
|
||||
}
|
||||
|
||||
static var registerCallbackObject (const var::NativeFunctionArgs& args)
|
||||
{
|
||||
if (DemoBrowserObject* b = dynamic_cast<DemoBrowserObject*> (args.thisObject.getObject()))
|
||||
if (args.numArguments > 0)
|
||||
b->owner->setJavascriptObjectFromBrowser (args.arguments[0]);
|
||||
|
||||
return var();
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
JuceDemoBrowserPlugin* owner;
|
||||
};
|
||||
};
|
||||
|
||||
BrowserPluginComponent* JUCE_CALLTYPE createBrowserPlugin()
|
||||
{
|
||||
return new JuceDemoBrowserPlugin();
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file contains values that describe your plugin's behaviour.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_browser_plugin_client/juce_browser_plugin.h"
|
||||
|
||||
#if ! DONT_SET_USING_JUCE_NAMESPACE
|
||||
/* If you're not mixing JUCE with other libraries, then this will obviously save
|
||||
a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.
|
||||
*/
|
||||
using namespace juce;
|
||||
#endif
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_browser_plugin_client/juce_browser_plugin.cpp"
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_browser_plugin_client/juce_browser_plugin.cpp"
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_core/juce_core.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_core/juce_core.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_data_structures/juce_data_structures.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_data_structures/juce_data_structures.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_events/juce_events.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_events/juce_events.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_graphics/juce_graphics.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_graphics/juce_graphics.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_gui_basics/juce_gui_basics.cpp"
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/*
|
||||
|
||||
IMPORTANT! This file is auto-generated each time you save your
|
||||
project - if you alter its contents, your changes may be overwritten!
|
||||
|
||||
This file pulls in a module's source code, and builds it using the settings
|
||||
defined in AppConfig.h.
|
||||
|
||||
If you want to change the method by which Juce is linked into your app, use the
|
||||
Jucer to change it, rather than trying to edit this file directly.
|
||||
|
||||
*/
|
||||
|
||||
#include "AppConfig.h"
|
||||
#include "../../../modules/juce_gui_basics/juce_gui_basics.cpp"
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
<HTML><HEAD><TITLE>Juce Plugin Test</TITLE></HEAD>
|
||||
<BODY>
|
||||
<center>
|
||||
|
||||
<script>
|
||||
function printmessage(arg)
|
||||
{
|
||||
document.getElementById ("result").innerHTML += "<p>" + arg + "</p>";
|
||||
}
|
||||
|
||||
function getPlugin()
|
||||
{
|
||||
return document.getElementById ("plugin");
|
||||
}
|
||||
|
||||
function showAMessage()
|
||||
{
|
||||
var response = getPlugin().printText ("This is a message sent from the website's javascript...");
|
||||
printmessage (response);
|
||||
}
|
||||
|
||||
function popUpMessageBox()
|
||||
{
|
||||
// fetch a couple of properties from the plugin and tell the plugin to show them in a pop-up box..
|
||||
getPlugin().popUpMessageBox ("property1 = " + getPlugin().property1
|
||||
+ "\nproperty2 = " + getPlugin().property2);
|
||||
}
|
||||
|
||||
// callbacks from plugin...
|
||||
function WebpageCallbacks()
|
||||
{
|
||||
this.printmessage = printmessage;
|
||||
}
|
||||
|
||||
function sendCallbackObjectToPlugin()
|
||||
{
|
||||
// This gives the plugin an object containing methods that it can call, so that it
|
||||
// can trigger events in the webpage..
|
||||
getPlugin().registerCallbackObject (new WebpageCallbacks());
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
if (navigator.appName == "Microsoft Internet Explorer")
|
||||
{
|
||||
document.write('<object id="plugin" type="application/npjucedemo-plugin" classid="CLSID:F683B990-3ADF-11DE-BDFE-F9CB55D89593" width="80%" height="400"></object>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write('<embed id="plugin" src="" type="application/npjucedemo-plugin" width="80%" height="400"></embed>');
|
||||
}
|
||||
</script>
|
||||
|
||||
<noscript>
|
||||
<embed id="plugin" src="" type="application/npjucedemo-plugin" width="80%" height="400"></embed>
|
||||
</noscript>
|
||||
|
||||
<br>
|
||||
<form name="formname">
|
||||
<input type=button value="Tell the plugin to show a message" onclick='showAMessage()'>
|
||||
<input type=button value="Tell the plugin to show a pop-up" onclick='popUpMessageBox()'>
|
||||
<input type=button value="Pass a callback object to the plugin" onclick='sendCallbackObjectToPlugin()'>
|
||||
</form>
|
||||
|
||||
<div id="result"></div>
|
||||
|
||||
</center>
|
||||
</BODY></HTML>
|
||||
Loading…
Add table
Add a link
Reference in a new issue