mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
whitespace cleanup
This commit is contained in:
parent
90999af68b
commit
69d0eb483e
12 changed files with 1567 additions and 1565 deletions
|
|
@ -78,10 +78,12 @@ BEGIN_JUCE_NAMESPACE
|
|||
#undef Point
|
||||
|
||||
//==============================================================================
|
||||
#define ObjCExtraSuffix 1
|
||||
#ifndef JUCE_ObjCExtraSuffix
|
||||
#define JUCE_ObjCExtraSuffix 2
|
||||
#endif
|
||||
#define appendMacro1(a, b, c, d) a ## _ ## b ## _ ## c ## _ ## d
|
||||
#define appendMacro2(a, b, c, d) appendMacro1(a, b, c, d)
|
||||
#define MakeObjCClassName(rootName) appendMacro2 (rootName, JUCE_MAJOR_VERSION, JUCE_MINOR_VERSION, ObjCExtraSuffix)
|
||||
#define MakeObjCClassName(rootName) appendMacro2 (rootName, JUCE_MAJOR_VERSION, JUCE_MINOR_VERSION, JUCE_ObjCExtraSuffix)
|
||||
|
||||
//==============================================================================
|
||||
#define JUCE_INCLUDED_FILE 1
|
||||
|
|
|
|||
|
|
@ -159,9 +159,9 @@ void PlatformUtilities::deleteRegistryKey (const String& regKeyPath)
|
|||
}
|
||||
}
|
||||
|
||||
void PlatformUtilities::registerFileAssociation (const String& fileExtension,
|
||||
const String& symbolicDescription,
|
||||
const String& fullDescription,
|
||||
void PlatformUtilities::registerFileAssociation (const String& fileExtension,
|
||||
const String& symbolicDescription,
|
||||
const String& fullDescription,
|
||||
const File& targetExecutable,
|
||||
int iconResourceNumber)
|
||||
{
|
||||
|
|
@ -175,7 +175,7 @@ void PlatformUtilities::registerFileAssociation (const String& fileExtension,
|
|||
|
||||
setRegistryValue (key + "\\", fullDescription);
|
||||
|
||||
setRegistryValue (key + "\\shell\\open\\command\\",
|
||||
setRegistryValue (key + "\\shell\\open\\command\\",
|
||||
targetExecutable.getFullPathName() + " %1");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,285 +1,285 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-7 by Raw Material Software ltd.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
JUCE can be redistributed and/or modified under the terms of the
|
||||
GNU General Public License, as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
If you'd like to release a closed-source product which uses JUCE, commercial
|
||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for
|
||||
more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
#ifndef __JUCE_PLUGIN_CHARACTERISTICS_H__
|
||||
#define __JUCE_PLUGIN_CHARACTERISTICS_H__
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* All of the following settings need to be defined for your plugin.
|
||||
|
||||
Go through each of these definitions and check that it's correctly
|
||||
set-up before trying to do a build.
|
||||
*/
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* Plugin Formats to build */
|
||||
|
||||
#define JucePlugin_Build_VST 1
|
||||
#define JucePlugin_Build_RTAS 0
|
||||
#define JucePlugin_Build_AU 1
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* Generic settings */
|
||||
|
||||
/** The name of your plugin. (Try to keep this as short as possible)
|
||||
*/
|
||||
#define JucePlugin_Name "Juce Demo Plugin"
|
||||
|
||||
/** A longer decription of your plugin.
|
||||
*/
|
||||
#define JucePlugin_Desc "A Demo Plugin demonstrating Juce"
|
||||
|
||||
/** The name of your company. (Try to keep this as short as possible)
|
||||
*/
|
||||
#define JucePlugin_Manufacturer "Raw Material Software"
|
||||
|
||||
/** A four-character code for your company.
|
||||
Use single quotes - this isn't a string!
|
||||
*/
|
||||
#define JucePlugin_ManufacturerCode 'RawM'
|
||||
|
||||
/** A unique four-character code for your plugin.
|
||||
Use single quotes - this isn't a string!
|
||||
|
||||
Note that for AU compatibility, this must contain at least one
|
||||
upper-case letter.
|
||||
*/
|
||||
#define JucePlugin_PluginCode 'JcDm'
|
||||
|
||||
//==============================================================================
|
||||
/** The maximum number of channels of audio input that the plugin can handle.
|
||||
|
||||
The actual number of channels supplied may be less than this, depending on the host.
|
||||
For VSTs, you specify a maximum number of channels, for AUs and RTAS a set
|
||||
of channel configurations is specified in JucePlugin_PreferredChannelConfigurations
|
||||
and the host will choose one of these, but you should still set the max number of
|
||||
channels correctly.
|
||||
|
||||
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
|
||||
number of channels that will be used with the AudioProcessor::getNumInputChannels()
|
||||
method.
|
||||
*/
|
||||
#define JucePlugin_MaxNumInputChannels 2
|
||||
|
||||
/** The maximum number of channels of audio output that the plugin can handle.
|
||||
|
||||
The actual number of channels supplied may be less than this, depending on the host.
|
||||
For VSTs, you specify a maximum number of channels, for AUs and RTAS a set
|
||||
of channel configurations is specified in JucePlugin_PreferredChannelConfigurations
|
||||
and the host will choose one of these, but you should still set the max number of
|
||||
channels correctly.
|
||||
|
||||
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
|
||||
number of channels that will be used with the AudioProcessor::getNumOutputChannels()
|
||||
method.
|
||||
*/
|
||||
#define JucePlugin_MaxNumOutputChannels 2
|
||||
|
||||
/** This allows the plugin to specify the configurations of input/output channels that
|
||||
they can support.
|
||||
|
||||
AU and RTAS hosts will use this information, although VSTs only have a concept of
|
||||
a maximum number of channels.
|
||||
|
||||
The list is a set of pairs of values in the form { numInputs, numOutputs }, and each
|
||||
pair indicates a valid configuration that the plugin can handle.
|
||||
|
||||
So for example, {1, 1}, {2, 2} means that the plugin can be used in just two
|
||||
configurations: either with 1 input and 1 output, or with 2 inputs and 2 outputs. If
|
||||
you used this in Pro-Tools, the plugin could be placed on a mono or stereo track.
|
||||
If the list was just {1, 1}, then Pro-Tools would only allow it to be used as a mono
|
||||
plugin.
|
||||
|
||||
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
|
||||
number of channels that the host has connected to the plugin by using the
|
||||
AudioProcessor::getNumOutputChannels() and AudioFilterBase::getNumInputChannels()
|
||||
methods.
|
||||
*/
|
||||
#define JucePlugin_PreferredChannelConfigurations { 1, 1 }, { 2, 2 }
|
||||
|
||||
//==============================================================================
|
||||
/** Set this value to 1 if your plugin is a synth, or 0 if it isn't.
|
||||
*/
|
||||
#define JucePlugin_IsSynth 0
|
||||
|
||||
/** Set this to 1 if your plugin needs to receive midi messages, or 0 if
|
||||
it doesn't.
|
||||
*/
|
||||
#define JucePlugin_WantsMidiInput 1
|
||||
|
||||
/** Set this to 1 if your plugin wants to output midi messages, or 0 if
|
||||
it doesn't.
|
||||
*/
|
||||
#define JucePlugin_ProducesMidiOutput 1
|
||||
|
||||
/** If this is 1, it means that when the plugins input buffers are
|
||||
silent, it's output will be too.
|
||||
|
||||
Some hosts may use this to avoid calling the plugin when no audio
|
||||
would be produced.
|
||||
*/
|
||||
#define JucePlugin_SilenceInProducesSilenceOut 0
|
||||
|
||||
/** If set to 1, this hints that the host should ignore any keys that are pressed
|
||||
when the plugin has keyboard focus. If 0, then the host should still execute
|
||||
any shortcut keys that are pressed, even if the plugin does have focus.
|
||||
|
||||
Various hosts/platforms may deal with this differently, or ignore it.
|
||||
*/
|
||||
#define JucePlugin_EditorRequiresKeyboardFocus 1
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/** A version number
|
||||
*/
|
||||
#define JucePlugin_VersionCode 0x00010100
|
||||
|
||||
#define JucePlugin_VersionString "1.1"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* VST settings */
|
||||
|
||||
/** For VSTs, if you're compiling against the V2.3 SDK, set this to zero. If
|
||||
you're using V2.4 or later, make sure it's set to 1.
|
||||
*/
|
||||
#define JUCE_USE_VSTSDK_2_4 1
|
||||
|
||||
/** Defines a UID for your VST plugin.
|
||||
The default setting here is probably fine, unless you specifically need
|
||||
a custom value. It's passed to the setUniqueID() method of the plugin class.
|
||||
*/
|
||||
#define JucePlugin_VSTUniqueID JucePlugin_PluginCode
|
||||
|
||||
/** Defines the type of plugin. For most pursposes, you don't need to change this
|
||||
setting.
|
||||
*/
|
||||
#if JucePlugin_IsSynth
|
||||
#define JucePlugin_VSTCategory kPlugCategSynth
|
||||
#else
|
||||
#define JucePlugin_VSTCategory kPlugCategEffect
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/* AudioUnit settings */
|
||||
|
||||
/** Defines the major type of plugin - see AUComponent.h for the available options.
|
||||
If it's an effect, you should use kAudioUnitType_Effect. For a synth, you'll
|
||||
need to use kAudioUnitType_MusicEffect or kAudioUnitType_MusicDevice.
|
||||
*/
|
||||
#if JucePlugin_IsSynth
|
||||
#define JucePlugin_AUMainType kAudioUnitType_MusicDevice
|
||||
#else
|
||||
#define JucePlugin_AUMainType kAudioUnitType_Effect
|
||||
#endif
|
||||
|
||||
/** A 4-character plugin ID code that should be unique.
|
||||
|
||||
You can leave this using the generic value JucePlugin_PluginCode, or
|
||||
override it if necessary.
|
||||
|
||||
Note that for AU, this must contain at least one upper-case letter.
|
||||
*/
|
||||
#define JucePlugin_AUSubType JucePlugin_PluginCode
|
||||
|
||||
/** A prefix for the names of exported entry-point functions that the component exposes.
|
||||
|
||||
It's very important that your plugin's .exp file contains two entries that correspond to
|
||||
this name. So for example if you set the prefix to "abc" then your exports
|
||||
file must contain:
|
||||
|
||||
_abcEntry
|
||||
_abcViewEntry
|
||||
*/
|
||||
#define JucePlugin_AUExportPrefix JuceDemoAU
|
||||
|
||||
/** This is the same as JucePlugin_AUExportPrefix, but in quotes
|
||||
(needed for the resource compiler...)
|
||||
*/
|
||||
#define JucePlugin_AUExportPrefixQuoted "JuceDemoAU"
|
||||
|
||||
/** A 4-character manufacturer code - this is your company name.
|
||||
You can leave this using the generic value JucePlugin_ManufacturerCode, or
|
||||
override it if necessary.
|
||||
*/
|
||||
#define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode
|
||||
|
||||
/** If you define this value to be the same as the CFBundleIdentifier in your
|
||||
plugin's plist, it allows the plugin to work out its own path, which is
|
||||
needed if you want to use File::getSpecialLocation (currentExecutableFile)
|
||||
*/
|
||||
#define JucePlugin_CFBundleIdentifier "com.rawmaterialsoftware.JuceDemo"
|
||||
|
||||
//==============================================================================
|
||||
/* RTAS settings */
|
||||
|
||||
/** How to categorise this plugin.
|
||||
|
||||
For a synth you probably want to set this to ePlugInCategory_SWGenerators.
|
||||
For an effect, you could choose one of:
|
||||
ePlugInCategory_None, ePlugInCategory_EQ, ePlugInCategory_Dynamics,
|
||||
ePlugInCategory_PitchShift, ePlugInCategory_Reverb, ePlugInCategory_Delay,
|
||||
ePlugInCategory_Modulation, ePlugInCategory_Harmonic, ePlugInCategory_NoiseReduction,
|
||||
ePlugInCategory_Dither, ePlugInCategory_SoundField
|
||||
|
||||
(All values are listed in FicPluginEnums.h)
|
||||
*/
|
||||
#if JucePlugin_IsSynth
|
||||
#define JucePlugin_RTASCategory ePlugInCategory_SWGenerators
|
||||
#else
|
||||
#define JucePlugin_RTASCategory ePlugInCategory_None
|
||||
#endif
|
||||
|
||||
/** A 4-character manufacturer code - this is your company name.
|
||||
You can leave this using the generic value JucePlugin_ManufacturerCode, or
|
||||
override it if necessary.
|
||||
*/
|
||||
#define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode
|
||||
|
||||
/** A 4-character plugin ID code that should be unique.
|
||||
You can leave this using the generic value JucePlugin_PluginCode, or
|
||||
override it if necessary.
|
||||
*/
|
||||
#define JucePlugin_RTASProductId JucePlugin_PluginCode
|
||||
|
||||
/** You need to set this path to point to the location of the Digidesign WinBag
|
||||
directory on your machine. (Only needed for Windows builds). Make sure you
|
||||
don't put a slash on the end.
|
||||
*/
|
||||
#define JucePlugin_WinBag_path "C:\\essentials\\PT_73_SDK\\WinBag"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
||||
#endif
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-7 by Raw Material Software ltd.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
JUCE can be redistributed and/or modified under the terms of the
|
||||
GNU General Public License, as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
If you'd like to release a closed-source product which uses JUCE, commercial
|
||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for
|
||||
more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
#ifndef __JUCE_PLUGIN_CHARACTERISTICS_H__
|
||||
#define __JUCE_PLUGIN_CHARACTERISTICS_H__
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* All of the following settings need to be defined for your plugin.
|
||||
|
||||
Go through each of these definitions and check that it's correctly
|
||||
set-up before trying to do a build.
|
||||
*/
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* Plugin Formats to build */
|
||||
|
||||
#define JucePlugin_Build_VST 1
|
||||
#define JucePlugin_Build_RTAS 0
|
||||
#define JucePlugin_Build_AU 1
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* Generic settings */
|
||||
|
||||
/** The name of your plugin. (Try to keep this as short as possible)
|
||||
*/
|
||||
#define JucePlugin_Name "Juce Demo Plugin"
|
||||
|
||||
/** A longer decription of your plugin.
|
||||
*/
|
||||
#define JucePlugin_Desc "A Demo Plugin demonstrating Juce"
|
||||
|
||||
/** The name of your company. (Try to keep this as short as possible)
|
||||
*/
|
||||
#define JucePlugin_Manufacturer "Raw Material Software"
|
||||
|
||||
/** A four-character code for your company.
|
||||
Use single quotes - this isn't a string!
|
||||
*/
|
||||
#define JucePlugin_ManufacturerCode 'RawM'
|
||||
|
||||
/** A unique four-character code for your plugin.
|
||||
Use single quotes - this isn't a string!
|
||||
|
||||
Note that for AU compatibility, this must contain at least one
|
||||
upper-case letter.
|
||||
*/
|
||||
#define JucePlugin_PluginCode 'JcDm'
|
||||
|
||||
//==============================================================================
|
||||
/** The maximum number of channels of audio input that the plugin can handle.
|
||||
|
||||
The actual number of channels supplied may be less than this, depending on the host.
|
||||
For VSTs, you specify a maximum number of channels, for AUs and RTAS a set
|
||||
of channel configurations is specified in JucePlugin_PreferredChannelConfigurations
|
||||
and the host will choose one of these, but you should still set the max number of
|
||||
channels correctly.
|
||||
|
||||
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
|
||||
number of channels that will be used with the AudioProcessor::getNumInputChannels()
|
||||
method.
|
||||
*/
|
||||
#define JucePlugin_MaxNumInputChannels 2
|
||||
|
||||
/** The maximum number of channels of audio output that the plugin can handle.
|
||||
|
||||
The actual number of channels supplied may be less than this, depending on the host.
|
||||
For VSTs, you specify a maximum number of channels, for AUs and RTAS a set
|
||||
of channel configurations is specified in JucePlugin_PreferredChannelConfigurations
|
||||
and the host will choose one of these, but you should still set the max number of
|
||||
channels correctly.
|
||||
|
||||
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
|
||||
number of channels that will be used with the AudioProcessor::getNumOutputChannels()
|
||||
method.
|
||||
*/
|
||||
#define JucePlugin_MaxNumOutputChannels 2
|
||||
|
||||
/** This allows the plugin to specify the configurations of input/output channels that
|
||||
they can support.
|
||||
|
||||
AU and RTAS hosts will use this information, although VSTs only have a concept of
|
||||
a maximum number of channels.
|
||||
|
||||
The list is a set of pairs of values in the form { numInputs, numOutputs }, and each
|
||||
pair indicates a valid configuration that the plugin can handle.
|
||||
|
||||
So for example, {1, 1}, {2, 2} means that the plugin can be used in just two
|
||||
configurations: either with 1 input and 1 output, or with 2 inputs and 2 outputs. If
|
||||
you used this in Pro-Tools, the plugin could be placed on a mono or stereo track.
|
||||
If the list was just {1, 1}, then Pro-Tools would only allow it to be used as a mono
|
||||
plugin.
|
||||
|
||||
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
|
||||
number of channels that the host has connected to the plugin by using the
|
||||
AudioProcessor::getNumOutputChannels() and AudioFilterBase::getNumInputChannels()
|
||||
methods.
|
||||
*/
|
||||
#define JucePlugin_PreferredChannelConfigurations { 1, 1 }, { 2, 2 }
|
||||
|
||||
//==============================================================================
|
||||
/** Set this value to 1 if your plugin is a synth, or 0 if it isn't.
|
||||
*/
|
||||
#define JucePlugin_IsSynth 0
|
||||
|
||||
/** Set this to 1 if your plugin needs to receive midi messages, or 0 if
|
||||
it doesn't.
|
||||
*/
|
||||
#define JucePlugin_WantsMidiInput 1
|
||||
|
||||
/** Set this to 1 if your plugin wants to output midi messages, or 0 if
|
||||
it doesn't.
|
||||
*/
|
||||
#define JucePlugin_ProducesMidiOutput 1
|
||||
|
||||
/** If this is 1, it means that when the plugins input buffers are
|
||||
silent, it's output will be too.
|
||||
|
||||
Some hosts may use this to avoid calling the plugin when no audio
|
||||
would be produced.
|
||||
*/
|
||||
#define JucePlugin_SilenceInProducesSilenceOut 0
|
||||
|
||||
/** If set to 1, this hints that the host should ignore any keys that are pressed
|
||||
when the plugin has keyboard focus. If 0, then the host should still execute
|
||||
any shortcut keys that are pressed, even if the plugin does have focus.
|
||||
|
||||
Various hosts/platforms may deal with this differently, or ignore it.
|
||||
*/
|
||||
#define JucePlugin_EditorRequiresKeyboardFocus 1
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/** A version number
|
||||
*/
|
||||
#define JucePlugin_VersionCode 0x00010100
|
||||
|
||||
#define JucePlugin_VersionString "1.1"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
/* VST settings */
|
||||
|
||||
/** For VSTs, if you're compiling against the V2.3 SDK, set this to zero. If
|
||||
you're using V2.4 or later, make sure it's set to 1.
|
||||
*/
|
||||
#define JUCE_USE_VSTSDK_2_4 1
|
||||
|
||||
/** Defines a UID for your VST plugin.
|
||||
The default setting here is probably fine, unless you specifically need
|
||||
a custom value. It's passed to the setUniqueID() method of the plugin class.
|
||||
*/
|
||||
#define JucePlugin_VSTUniqueID JucePlugin_PluginCode
|
||||
|
||||
/** Defines the type of plugin. For most pursposes, you don't need to change this
|
||||
setting.
|
||||
*/
|
||||
#if JucePlugin_IsSynth
|
||||
#define JucePlugin_VSTCategory kPlugCategSynth
|
||||
#else
|
||||
#define JucePlugin_VSTCategory kPlugCategEffect
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
/* AudioUnit settings */
|
||||
|
||||
/** Defines the major type of plugin - see AUComponent.h for the available options.
|
||||
If it's an effect, you should use kAudioUnitType_Effect. For a synth, you'll
|
||||
need to use kAudioUnitType_MusicEffect or kAudioUnitType_MusicDevice.
|
||||
*/
|
||||
#if JucePlugin_IsSynth
|
||||
#define JucePlugin_AUMainType kAudioUnitType_MusicDevice
|
||||
#else
|
||||
#define JucePlugin_AUMainType kAudioUnitType_Effect
|
||||
#endif
|
||||
|
||||
/** A 4-character plugin ID code that should be unique.
|
||||
|
||||
You can leave this using the generic value JucePlugin_PluginCode, or
|
||||
override it if necessary.
|
||||
|
||||
Note that for AU, this must contain at least one upper-case letter.
|
||||
*/
|
||||
#define JucePlugin_AUSubType JucePlugin_PluginCode
|
||||
|
||||
/** A prefix for the names of exported entry-point functions that the component exposes.
|
||||
|
||||
It's very important that your plugin's .exp file contains two entries that correspond to
|
||||
this name. So for example if you set the prefix to "abc" then your exports
|
||||
file must contain:
|
||||
|
||||
_abcEntry
|
||||
_abcViewEntry
|
||||
*/
|
||||
#define JucePlugin_AUExportPrefix JuceDemoAU
|
||||
|
||||
/** This is the same as JucePlugin_AUExportPrefix, but in quotes
|
||||
(needed for the resource compiler...)
|
||||
*/
|
||||
#define JucePlugin_AUExportPrefixQuoted "JuceDemoAU"
|
||||
|
||||
/** A 4-character manufacturer code - this is your company name.
|
||||
You can leave this using the generic value JucePlugin_ManufacturerCode, or
|
||||
override it if necessary.
|
||||
*/
|
||||
#define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode
|
||||
|
||||
/** If you define this value to be the same as the CFBundleIdentifier in your
|
||||
plugin's plist, it allows the plugin to work out its own path, which is
|
||||
needed if you want to use File::getSpecialLocation (currentExecutableFile)
|
||||
*/
|
||||
#define JucePlugin_CFBundleIdentifier "com.rawmaterialsoftware.JuceDemo"
|
||||
|
||||
//==============================================================================
|
||||
/* RTAS settings */
|
||||
|
||||
/** How to categorise this plugin.
|
||||
|
||||
For a synth you probably want to set this to ePlugInCategory_SWGenerators.
|
||||
For an effect, you could choose one of:
|
||||
ePlugInCategory_None, ePlugInCategory_EQ, ePlugInCategory_Dynamics,
|
||||
ePlugInCategory_PitchShift, ePlugInCategory_Reverb, ePlugInCategory_Delay,
|
||||
ePlugInCategory_Modulation, ePlugInCategory_Harmonic, ePlugInCategory_NoiseReduction,
|
||||
ePlugInCategory_Dither, ePlugInCategory_SoundField
|
||||
|
||||
(All values are listed in FicPluginEnums.h)
|
||||
*/
|
||||
#if JucePlugin_IsSynth
|
||||
#define JucePlugin_RTASCategory ePlugInCategory_SWGenerators
|
||||
#else
|
||||
#define JucePlugin_RTASCategory ePlugInCategory_None
|
||||
#endif
|
||||
|
||||
/** A 4-character manufacturer code - this is your company name.
|
||||
You can leave this using the generic value JucePlugin_ManufacturerCode, or
|
||||
override it if necessary.
|
||||
*/
|
||||
#define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode
|
||||
|
||||
/** A 4-character plugin ID code that should be unique.
|
||||
You can leave this using the generic value JucePlugin_PluginCode, or
|
||||
override it if necessary.
|
||||
*/
|
||||
#define JucePlugin_RTASProductId JucePlugin_PluginCode
|
||||
|
||||
/** You need to set this path to point to the location of the Digidesign WinBag
|
||||
directory on your machine. (Only needed for Windows builds). Make sure you
|
||||
don't put a slash on the end.
|
||||
*/
|
||||
#define JucePlugin_WinBag_path "C:\\essentials\\PT_73_SDK\\WinBag"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,101 +1,101 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-7 by Raw Material Software ltd.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
JUCE can be redistributed and/or modified under the terms of the
|
||||
GNU General Public License, as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
If you'd like to release a closed-source product which uses JUCE, commercial
|
||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for
|
||||
more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
// If you get an error here, you might need to make sure that
|
||||
// your build config files don't specify "C++" as one of the
|
||||
// flags in OTHER_CFLAGS, because that stops the compiler building
|
||||
// obj-c files correctly.
|
||||
@class dummyclassname;
|
||||
|
||||
#include <Cocoa/Cocoa.h>
|
||||
#include "../juce_PluginHeaders.h"
|
||||
|
||||
#if JucePlugin_Build_RTAS
|
||||
|
||||
|
||||
//==============================================================================
|
||||
void initialiseMacRTAS()
|
||||
{
|
||||
NSApplicationLoad();
|
||||
}
|
||||
|
||||
void* attachSubWindow (void* hostWindowRef, Component* comp)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSWindow* hostWindow = [[NSWindow alloc] initWithWindowRef: hostWindowRef];
|
||||
[hostWindow retain];
|
||||
[hostWindow setCanHide: YES];
|
||||
[hostWindow setReleasedWhenClosed: YES];
|
||||
|
||||
NSView* content = [hostWindow contentView];
|
||||
NSRect f = [content frame];
|
||||
f.size.width = comp->getWidth();
|
||||
f.size.height = comp->getHeight();
|
||||
[content setFrame: f];
|
||||
|
||||
NSPoint windowPos = [hostWindow convertBaseToScreen: f.origin];
|
||||
windowPos.y = [[NSScreen mainScreen] frame].size.height - (windowPos.y + f.size.height);
|
||||
|
||||
comp->setTopLeftPosition ((int) windowPos.x, (int) windowPos.y);
|
||||
|
||||
#if ! JucePlugin_EditorRequiresKeyboardFocus
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary | ComponentPeer::windowIgnoresKeyPresses);
|
||||
#else
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary);
|
||||
#endif
|
||||
|
||||
comp->setVisible (true);
|
||||
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
|
||||
[hostWindow addChildWindow: pluginWindow
|
||||
ordered: NSWindowAbove];
|
||||
[hostWindow orderFront: nil];
|
||||
[pluginWindow orderFront: nil];
|
||||
return hostWindow;
|
||||
}
|
||||
|
||||
void removeSubWindow (void* nsWindow, Component* comp)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
|
||||
[hostWindow removeChildWindow: pluginWindow];
|
||||
comp->removeFromDesktop();
|
||||
[hostWindow release];
|
||||
}
|
||||
|
||||
#endif
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-7 by Raw Material Software ltd.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
JUCE can be redistributed and/or modified under the terms of the
|
||||
GNU General Public License, as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
If you'd like to release a closed-source product which uses JUCE, commercial
|
||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for
|
||||
more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
// If you get an error here, you might need to make sure that
|
||||
// your build config files don't specify "C++" as one of the
|
||||
// flags in OTHER_CFLAGS, because that stops the compiler building
|
||||
// obj-c files correctly.
|
||||
@class dummyclassname;
|
||||
|
||||
#include <Cocoa/Cocoa.h>
|
||||
#include "../juce_PluginHeaders.h"
|
||||
|
||||
#if JucePlugin_Build_RTAS
|
||||
|
||||
|
||||
//==============================================================================
|
||||
void initialiseMacRTAS()
|
||||
{
|
||||
NSApplicationLoad();
|
||||
}
|
||||
|
||||
void* attachSubWindow (void* hostWindowRef, Component* comp)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSWindow* hostWindow = [[NSWindow alloc] initWithWindowRef: hostWindowRef];
|
||||
[hostWindow retain];
|
||||
[hostWindow setCanHide: YES];
|
||||
[hostWindow setReleasedWhenClosed: YES];
|
||||
|
||||
NSView* content = [hostWindow contentView];
|
||||
NSRect f = [content frame];
|
||||
f.size.width = comp->getWidth();
|
||||
f.size.height = comp->getHeight();
|
||||
[content setFrame: f];
|
||||
|
||||
NSPoint windowPos = [hostWindow convertBaseToScreen: f.origin];
|
||||
windowPos.y = [[NSScreen mainScreen] frame].size.height - (windowPos.y + f.size.height);
|
||||
|
||||
comp->setTopLeftPosition ((int) windowPos.x, (int) windowPos.y);
|
||||
|
||||
#if ! JucePlugin_EditorRequiresKeyboardFocus
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary | ComponentPeer::windowIgnoresKeyPresses);
|
||||
#else
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary);
|
||||
#endif
|
||||
|
||||
comp->setVisible (true);
|
||||
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
|
||||
[hostWindow addChildWindow: pluginWindow
|
||||
ordered: NSWindowAbove];
|
||||
[hostWindow orderFront: nil];
|
||||
[pluginWindow orderFront: nil];
|
||||
return hostWindow;
|
||||
}
|
||||
|
||||
void removeSubWindow (void* nsWindow, Component* comp)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
|
||||
[hostWindow removeChildWindow: pluginWindow];
|
||||
comp->removeFromDesktop();
|
||||
[hostWindow release];
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include "juce_AudioFilterStreamer.h"
|
||||
#include "../../juce_IncludeCharacteristics.h"
|
||||
#include "../juce_IncludeCharacteristics.h"
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -1,171 +1,171 @@
|
|||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-7 by Raw Material Software ltd.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
JUCE can be redistributed and/or modified under the terms of the
|
||||
GNU General Public License, as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
If you'd like to release a closed-source product which uses JUCE, commercial
|
||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for
|
||||
more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
//==============================================================================
|
||||
#include "../juce_IncludeCharacteristics.h"
|
||||
|
||||
#if JucePlugin_Build_VST
|
||||
|
||||
#include <Cocoa/Cocoa.h>
|
||||
|
||||
#define ADD_CARBON_BODGE 1 // see note below..
|
||||
|
||||
#if ADD_CARBON_BODGE
|
||||
#include <Carbon/Carbon.h>
|
||||
#endif
|
||||
|
||||
#include "../juce_PluginHeaders.h"
|
||||
|
||||
//==============================================================================
|
||||
BEGIN_JUCE_NAMESPACE
|
||||
|
||||
#if ADD_CARBON_BODGE
|
||||
/* When you wrap a WindowRef as an NSWindow, it seems to bugger up the HideWindow
|
||||
function, so when the host tries (and fails) to hide the window, this catches
|
||||
the event and does the job properly.
|
||||
*/
|
||||
|
||||
static pascal OSStatus windowVisibilityBodge (EventHandlerCallRef, EventRef e, void* user)
|
||||
{
|
||||
NSWindow* hostWindow = (NSWindow*) user;
|
||||
|
||||
switch (GetEventKind (e))
|
||||
{
|
||||
case kEventWindowShown:
|
||||
[hostWindow orderFront: nil];
|
||||
break;
|
||||
case kEventWindowHidden:
|
||||
[hostWindow orderOut: nil];
|
||||
break;
|
||||
}
|
||||
|
||||
return eventNotHandledErr;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
void initialiseMac()
|
||||
{
|
||||
NSApplicationLoad();
|
||||
}
|
||||
|
||||
void* attachComponentToWindowRef (Component* comp, void* windowRef)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSWindow* hostWindow = [[NSWindow alloc] initWithWindowRef: windowRef];
|
||||
[hostWindow retain];
|
||||
[hostWindow setCanHide: YES];
|
||||
[hostWindow setReleasedWhenClosed: YES];
|
||||
|
||||
NSView* content = [hostWindow contentView];
|
||||
NSRect f = [content frame];
|
||||
NSPoint windowPos = [hostWindow convertBaseToScreen: f.origin];
|
||||
windowPos.y = [[NSScreen mainScreen] frame].size.height - (windowPos.y + f.size.height);
|
||||
comp->setTopLeftPosition ((int) windowPos.x, (int) windowPos.y);
|
||||
|
||||
#if ! JucePlugin_EditorRequiresKeyboardFocus
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary | ComponentPeer::windowIgnoresKeyPresses);
|
||||
#else
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary);
|
||||
#endif
|
||||
|
||||
comp->setVisible (true);
|
||||
comp->toFront (false);
|
||||
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
[pluginWindow setExcludedFromWindowsMenu: YES];
|
||||
[pluginWindow setCanHide: YES];
|
||||
|
||||
[hostWindow addChildWindow: pluginWindow
|
||||
ordered: NSWindowAbove];
|
||||
[hostWindow orderFront: nil];
|
||||
[pluginWindow orderFront: nil];
|
||||
|
||||
#if ADD_CARBON_BODGE
|
||||
// Adds a callback bodge to work around some problems with wrapped
|
||||
// carbon windows..
|
||||
const EventTypeSpec eventsToCatch[] = {
|
||||
{ kEventClassWindow, kEventWindowShown },
|
||||
{ kEventClassWindow, kEventWindowHidden }
|
||||
};
|
||||
|
||||
InstallWindowEventHandler ((WindowRef) windowRef,
|
||||
NewEventHandlerUPP (windowVisibilityBodge),
|
||||
GetEventTypeCount (eventsToCatch), eventsToCatch,
|
||||
(void*) hostWindow, 0);
|
||||
#endif
|
||||
|
||||
return hostWindow;
|
||||
}
|
||||
|
||||
void detachComponentFromWindowRef (Component* comp, void* nsWindow)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
|
||||
[hostWindow removeChildWindow: pluginWindow];
|
||||
comp->removeFromDesktop();
|
||||
|
||||
[hostWindow release];
|
||||
}
|
||||
|
||||
void setNativeHostWindowSize (void* nsWindow, Component* component, int newWidth, int newHeight)
|
||||
{
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
if (hostWindow != 0)
|
||||
{
|
||||
ScopedAutoReleasePool pool;
|
||||
|
||||
// Can't use the cocoa NSWindow resizing code, or it messes up in Live.
|
||||
Rect r;
|
||||
GetWindowBounds ((WindowRef) [hostWindow windowRef], kWindowContentRgn, &r);
|
||||
r.right += newWidth - component->getWidth();
|
||||
r.bottom += newHeight - component->getHeight();
|
||||
SetWindowBounds ((WindowRef) [hostWindow windowRef], kWindowContentRgn, &r);
|
||||
|
||||
[[hostWindow contentView] setNeedsDisplay: YES];
|
||||
}
|
||||
}
|
||||
|
||||
void checkWindowVisibility (void* nsWindow, Component* comp)
|
||||
{
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
comp->setVisible ([hostWindow isVisible]);
|
||||
}
|
||||
|
||||
END_JUCE_NAMESPACE
|
||||
|
||||
#endif
|
||||
/*
|
||||
==============================================================================
|
||||
|
||||
This file is part of the JUCE library - "Jules' Utility Class Extensions"
|
||||
Copyright 2004-7 by Raw Material Software ltd.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
JUCE can be redistributed and/or modified under the terms of the
|
||||
GNU General Public License, as published by the Free Software Foundation;
|
||||
either version 2 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
If you'd like to release a closed-source product which uses JUCE, commercial
|
||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for
|
||||
more information.
|
||||
|
||||
==============================================================================
|
||||
*/
|
||||
|
||||
//==============================================================================
|
||||
#include "../juce_IncludeCharacteristics.h"
|
||||
|
||||
#if JucePlugin_Build_VST
|
||||
|
||||
#include <Cocoa/Cocoa.h>
|
||||
|
||||
#define ADD_CARBON_BODGE 1 // see note below..
|
||||
|
||||
#if ADD_CARBON_BODGE
|
||||
#include <Carbon/Carbon.h>
|
||||
#endif
|
||||
|
||||
#include "../juce_PluginHeaders.h"
|
||||
|
||||
//==============================================================================
|
||||
BEGIN_JUCE_NAMESPACE
|
||||
|
||||
#if ADD_CARBON_BODGE
|
||||
/* When you wrap a WindowRef as an NSWindow, it seems to bugger up the HideWindow
|
||||
function, so when the host tries (and fails) to hide the window, this catches
|
||||
the event and does the job properly.
|
||||
*/
|
||||
|
||||
static pascal OSStatus windowVisibilityBodge (EventHandlerCallRef, EventRef e, void* user)
|
||||
{
|
||||
NSWindow* hostWindow = (NSWindow*) user;
|
||||
|
||||
switch (GetEventKind (e))
|
||||
{
|
||||
case kEventWindowShown:
|
||||
[hostWindow orderFront: nil];
|
||||
break;
|
||||
case kEventWindowHidden:
|
||||
[hostWindow orderOut: nil];
|
||||
break;
|
||||
}
|
||||
|
||||
return eventNotHandledErr;
|
||||
}
|
||||
#endif
|
||||
|
||||
//==============================================================================
|
||||
void initialiseMac()
|
||||
{
|
||||
NSApplicationLoad();
|
||||
}
|
||||
|
||||
void* attachComponentToWindowRef (Component* comp, void* windowRef)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSWindow* hostWindow = [[NSWindow alloc] initWithWindowRef: windowRef];
|
||||
[hostWindow retain];
|
||||
[hostWindow setCanHide: YES];
|
||||
[hostWindow setReleasedWhenClosed: YES];
|
||||
|
||||
NSView* content = [hostWindow contentView];
|
||||
NSRect f = [content frame];
|
||||
NSPoint windowPos = [hostWindow convertBaseToScreen: f.origin];
|
||||
windowPos.y = [[NSScreen mainScreen] frame].size.height - (windowPos.y + f.size.height);
|
||||
comp->setTopLeftPosition ((int) windowPos.x, (int) windowPos.y);
|
||||
|
||||
#if ! JucePlugin_EditorRequiresKeyboardFocus
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary | ComponentPeer::windowIgnoresKeyPresses);
|
||||
#else
|
||||
comp->addToDesktop (ComponentPeer::windowIsTemporary);
|
||||
#endif
|
||||
|
||||
comp->setVisible (true);
|
||||
comp->toFront (false);
|
||||
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
[pluginWindow setExcludedFromWindowsMenu: YES];
|
||||
[pluginWindow setCanHide: YES];
|
||||
|
||||
[hostWindow addChildWindow: pluginWindow
|
||||
ordered: NSWindowAbove];
|
||||
[hostWindow orderFront: nil];
|
||||
[pluginWindow orderFront: nil];
|
||||
|
||||
#if ADD_CARBON_BODGE
|
||||
// Adds a callback bodge to work around some problems with wrapped
|
||||
// carbon windows..
|
||||
const EventTypeSpec eventsToCatch[] = {
|
||||
{ kEventClassWindow, kEventWindowShown },
|
||||
{ kEventClassWindow, kEventWindowHidden }
|
||||
};
|
||||
|
||||
InstallWindowEventHandler ((WindowRef) windowRef,
|
||||
NewEventHandlerUPP (windowVisibilityBodge),
|
||||
GetEventTypeCount (eventsToCatch), eventsToCatch,
|
||||
(void*) hostWindow, 0);
|
||||
#endif
|
||||
|
||||
return hostWindow;
|
||||
}
|
||||
|
||||
void detachComponentFromWindowRef (Component* comp, void* nsWindow)
|
||||
{
|
||||
const ScopedAutoReleasePool pool;
|
||||
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
NSView* pluginView = (NSView*) comp->getWindowHandle();
|
||||
NSWindow* pluginWindow = [pluginView window];
|
||||
|
||||
[hostWindow removeChildWindow: pluginWindow];
|
||||
comp->removeFromDesktop();
|
||||
|
||||
[hostWindow release];
|
||||
}
|
||||
|
||||
void setNativeHostWindowSize (void* nsWindow, Component* component, int newWidth, int newHeight)
|
||||
{
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
if (hostWindow != 0)
|
||||
{
|
||||
ScopedAutoReleasePool pool;
|
||||
|
||||
// Can't use the cocoa NSWindow resizing code, or it messes up in Live.
|
||||
Rect r;
|
||||
GetWindowBounds ((WindowRef) [hostWindow windowRef], kWindowContentRgn, &r);
|
||||
r.right += newWidth - component->getWidth();
|
||||
r.bottom += newHeight - component->getHeight();
|
||||
SetWindowBounds ((WindowRef) [hostWindow windowRef], kWindowContentRgn, &r);
|
||||
|
||||
[[hostWindow contentView] setNeedsDisplay: YES];
|
||||
}
|
||||
}
|
||||
|
||||
void checkWindowVisibility (void* nsWindow, Component* comp)
|
||||
{
|
||||
NSWindow* hostWindow = (NSWindow*) nsWindow;
|
||||
comp->setVisible ([hostWindow isVisible]);
|
||||
}
|
||||
|
||||
END_JUCE_NAMESPACE
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -7974,4 +7974,3 @@ static const unsigned char temp17[] = {47,42,13,10,32,32,61,61,61,61,61,61,61,61
|
|||
111,109,109,97,110,100,77,97,110,97,103,101,114,41,13,10,123,13,10,32,32,32,32,114,101,116,117,114,110,32,110,101,119,32,87,105,100,103,101,116,
|
||||
115,68,101,109,111,32,40,99,111,109,109,97,110,100,77,97,110,97,103,101,114,41,59,13,10,125,13,10,0,0};
|
||||
const char* BinaryData::widgetsdemo_cpp = (const char*) temp17;
|
||||
|
||||
|
|
|
|||
|
|
@ -911,4 +911,3 @@ static const unsigned char temp4[] = {137,80,78,71,13,10,26,10,0,0,0,13,73,72,68
|
|||
0,98,28,9,155,95,0,2,104,68,236,11,1,8,160,17,225,73,128,0,3,0,120,52,172,151,198,78,252,63,0,0,0,0,73,69,78,68,174,66,
|
||||
96,130,0,0};
|
||||
const char* BinaryData::prefs_misc_png = (const char*) temp4;
|
||||
|
||||
|
|
|
|||
|
|
@ -262487,10 +262487,12 @@ BEGIN_JUCE_NAMESPACE
|
|||
|
||||
#undef Point
|
||||
|
||||
#define ObjCExtraSuffix 1
|
||||
#ifndef JUCE_ObjCExtraSuffix
|
||||
#define JUCE_ObjCExtraSuffix 2
|
||||
#endif
|
||||
#define appendMacro1(a, b, c, d) a ## _ ## b ## _ ## c ## _ ## d
|
||||
#define appendMacro2(a, b, c, d) appendMacro1(a, b, c, d)
|
||||
#define MakeObjCClassName(rootName) appendMacro2 (rootName, JUCE_MAJOR_VERSION, JUCE_MINOR_VERSION, ObjCExtraSuffix)
|
||||
#define MakeObjCClassName(rootName) appendMacro2 (rootName, JUCE_MAJOR_VERSION, JUCE_MINOR_VERSION, JUCE_ObjCExtraSuffix)
|
||||
|
||||
#define JUCE_INCLUDED_FILE 1
|
||||
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ public:
|
|||
/** WIN32 ONLY - Creates a file association in the registry.
|
||||
|
||||
This lets you set the exe that should be launched by a given file extension.
|
||||
@param fileExtension the file extension to associate, including the
|
||||
@param fileExtension the file extension to associate, including the
|
||||
initial dot, e.g. ".txt"
|
||||
@param symbolicDescription a space-free short token to identify the file type
|
||||
@param fullDescription a human-readable description of the file type
|
||||
|
|
@ -121,9 +121,9 @@ public:
|
|||
found by looking up this resource number in the
|
||||
executable. Pass 0 here to not use an icon
|
||||
*/
|
||||
static void registerFileAssociation (const String& fileExtension,
|
||||
const String& symbolicDescription,
|
||||
const String& fullDescription,
|
||||
static void registerFileAssociation (const String& fileExtension,
|
||||
const String& symbolicDescription,
|
||||
const String& fullDescription,
|
||||
const File& targetExecutable,
|
||||
int iconResourceNumber);
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ BEGIN_JUCE_NAMESPACE
|
|||
//==============================================================================
|
||||
Uuid::Uuid()
|
||||
{
|
||||
// Mix up any available MAC addresses with some time-based pseudo-random numbers
|
||||
// Mix up any available MAC addresses with some time-based pseudo-random numbers
|
||||
// to make it very very unlikely that two UUIDs will ever be the same..
|
||||
|
||||
static int64 macAddresses[2];
|
||||
|
|
@ -60,7 +60,7 @@ Uuid::Uuid()
|
|||
// We'll use both a local RNG that is re-seeded, plus the shared RNG,
|
||||
// whose seed will carry over between calls to this method.
|
||||
|
||||
Random r (macAddresses[0] ^ macAddresses[1]
|
||||
Random r (macAddresses[0] ^ macAddresses[1]
|
||||
^ Random::getSystemRandom().nextInt64());
|
||||
|
||||
for (int i = 4; --i >= 0;)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue