Browse Source

Deleted the old native browser plugin demo app.

tags/2021-05-28
jules 9 years ago
parent
commit
03c157f898
22 changed files with 0 additions and 1163 deletions
  1. +0
    -69
      examples/browser plugin demo/How to build a browser plugin.txt
  2. +0
    -44
      examples/browser plugin demo/build/mac/Info.plist
  3. +0
    -364
      examples/browser plugin demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj
  4. +0
    -20
      examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.sln
  5. +0
    -232
      examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.vcproj
  6. +0
    -6
      examples/browser plugin demo/src/AppConfig.h
  7. +0
    -42
      examples/browser plugin demo/src/BrowserPluginCharacteristics.h
  8. +0
    -141
      examples/browser plugin demo/src/JuceBrowserPluginDemo.cpp
  9. +0
    -18
      examples/browser plugin demo/src/JuceHeader.h
  10. +0
    -4
      examples/browser plugin demo/src/juce_browser_plugin_wrapper.cpp
  11. +0
    -4
      examples/browser plugin demo/src/juce_browser_plugin_wrapper.mm
  12. +0
    -15
      examples/browser plugin demo/src/juce_core_wrapper.cpp
  13. +0
    -15
      examples/browser plugin demo/src/juce_core_wrapper.mm
  14. +0
    -15
      examples/browser plugin demo/src/juce_data_structures_wrapper.cpp
  15. +0
    -15
      examples/browser plugin demo/src/juce_data_structures_wrapper.mm
  16. +0
    -15
      examples/browser plugin demo/src/juce_events_wrapper.cpp
  17. +0
    -15
      examples/browser plugin demo/src/juce_events_wrapper.mm
  18. +0
    -15
      examples/browser plugin demo/src/juce_graphics_wrapper.cpp
  19. +0
    -15
      examples/browser plugin demo/src/juce_graphics_wrapper.mm
  20. +0
    -15
      examples/browser plugin demo/src/juce_gui_basics_wrapper.cpp
  21. +0
    -15
      examples/browser plugin demo/src/juce_gui_basics_wrapper.mm
  22. +0
    -69
      examples/browser plugin demo/test.html

+ 0
- 69
examples/browser plugin demo/How to build a browser plugin.txt View File

@@ -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.

+ 0
- 44
examples/browser plugin demo/build/mac/Info.plist View File

@@ -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>

+ 0
- 364
examples/browser plugin demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj View File

@@ -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 */;
}

+ 0
- 20
examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.sln View File

@@ -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

+ 0
- 232
examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.vcproj View File

@@ -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 &quot;$(TargetPath)&quot; &quot;C:\Program Files\Mozilla Firefox\plugins&quot;"
/>
</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>

+ 0
- 6
examples/browser plugin demo/src/AppConfig.h View File

@@ -1,6 +0,0 @@
#define JUCE_MODULE_AVAILABLE_juce_core 1
#include "BrowserPluginCharacteristics.h"

+ 0
- 42
examples/browser plugin demo/src/BrowserPluginCharacteristics.h View File

@@ -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"

+ 0
- 141
examples/browser plugin demo/src/JuceBrowserPluginDemo.cpp View File

@@ -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();
}

+ 0
- 18
examples/browser plugin demo/src/JuceHeader.h View File

@@ -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

+ 0
- 4
examples/browser plugin demo/src/juce_browser_plugin_wrapper.cpp View File

@@ -1,4 +0,0 @@
#include "AppConfig.h"
#include "../../../modules/juce_browser_plugin_client/juce_browser_plugin.cpp"

+ 0
- 4
examples/browser plugin demo/src/juce_browser_plugin_wrapper.mm View File

@@ -1,4 +0,0 @@
#include "AppConfig.h"
#include "../../../modules/juce_browser_plugin_client/juce_browser_plugin.cpp"

+ 0
- 15
examples/browser plugin demo/src/juce_core_wrapper.cpp View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_core_wrapper.mm View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_data_structures_wrapper.cpp View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_data_structures_wrapper.mm View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_events_wrapper.cpp View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_events_wrapper.mm View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_graphics_wrapper.cpp View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_graphics_wrapper.mm View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_gui_basics_wrapper.cpp View File

@@ -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"

+ 0
- 15
examples/browser plugin demo/src/juce_gui_basics_wrapper.mm View File

@@ -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"

+ 0
- 69
examples/browser plugin demo/test.html View File

@@ -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…
Cancel
Save