Browse Source

Added a new AU config flag for plugins, to let you choose the obj-C classname that some hosts seem to be stupidly displaying to the user. Also added a couple of minor fixes and new documentation.

tags/2021-05-28
Julian Storer 16 years ago
parent
commit
df584f9cea
11 changed files with 37 additions and 11 deletions
  1. BIN
      docs/JuceAPIDocs.zip
  2. +12
    -0
      extras/audio plugins/demo/src/JucePluginCharacteristics.h
  3. +2
    -2
      extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm
  4. +5
    -0
      extras/audio plugins/wrapper/juce_IncludeCharacteristics.h
  5. +1
    -1
      extras/juce demo/src/ApplicationStartup.cpp
  6. +10
    -0
      juce_Config.h
  7. +1
    -3
      src/gui/components/buttons/juce_Button.h
  8. +1
    -1
      src/gui/components/lookandfeel/juce_LookAndFeel.cpp
  9. +3
    -2
      src/gui/components/properties/juce_PropertyComponent.h
  10. +1
    -1
      src/gui/components/special/juce_QuickTimeMovieComponent.h
  11. +1
    -1
      src/native/mac/juce_mac_CameraDevice.mm

BIN
docs/JuceAPIDocs.zip View File


+ 12
- 0
extras/audio plugins/demo/src/JucePluginCharacteristics.h View File

@@ -250,6 +250,18 @@
*/
#define JucePlugin_CFBundleIdentifier "com.rawmaterialsoftware.JuceDemo"
/** In an AU, some hosts take the name of Cocoa class that creates the UI and
actually show it to the user in a list (why??)... Anyway, this macro lets you
provide a sensible name for that class to make it clear what plugin it refers to.
Obviously this has to be a valid obj-C class name.
Just to make things a little more complicated, this name must also be unique to this
precise version of your software. Otherwise, if the host loads two plugins that use the
same class name, the obj-C linker will almost certainly connect the wrong modules together
and cause total meltdown.
*/
#define JucePlugin_AUCocoaViewClassName JuceDemoAU_V1
//==============================================================================
/* RTAS settings */


+ 2
- 2
extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm View File

@@ -71,8 +71,8 @@ extern AudioProcessor* JUCE_CALLTYPE createPluginFilter();
#define appendMacro2(a, b, c, d) appendMacro1(a, b, c, d)
#define MakeObjCClassName(rootName) appendMacro2 (rootName, JUCE_MAJOR_VERSION, JUCE_MINOR_VERSION, JucePlugin_AUExportPrefix)
#define JuceUICreationClass MakeObjCClassName(JuceUICreationClass)
#define JuceUIViewClass MakeObjCClassName(JuceUIViewClass)
#define JuceUICreationClass JucePlugin_AUCocoaViewClassName
#define JuceUIViewClass MakeObjCClassName(JuceUIViewClass)
class JuceAU;
class EditorCompHolder;


+ 5
- 0
extras/audio plugins/wrapper/juce_IncludeCharacteristics.h View File

@@ -102,4 +102,9 @@
#error "You need to define the JucePlugin_WinBag_path value in your JucePluginCharacteristics.h file!"
#endif
#if JucePlugin_Build_AU && ! defined (JucePlugin_AUCocoaViewClassName)
#error "You need to define the JucePlugin_AUCocoaViewClassName value in your JucePluginCharacteristics.h file!"
#endif
#endif // __JUCE_INCLUDECHARACTERISTICS_JUCEHEADER__

+ 1
- 1
extras/juce demo/src/ApplicationStartup.cpp View File

@@ -102,7 +102,7 @@ public:
bool moreThanOneInstanceAllowed()
{
return false;
return true;
}
void anotherInstanceStarted (const String& commandLine)


+ 10
- 0
juce_Config.h View File

@@ -272,5 +272,15 @@
#endif
//=============================================================================
// If only building the core classes, we can explicitly turn off some features to avoid including them:
#if JUCE_ONLY_BUILD_CORE_LIBRARY
#define JUCE_QUICKTIME 0
#define JUCE_OPENGL 0
#define JUCE_USE_CDBURNER 0
#define JUCE_USE_CDREADER 0
#define JUCE_WEB_BROWSER 0
#define JUCE_PLUGINHOST_AU 0
#define JUCE_PLUGINHOST_VST 0
#endif
#endif

+ 1
- 3
src/gui/components/buttons/juce_Button.h View File

@@ -235,9 +235,7 @@ public:
The button registers itself with its top-level parent component for keypresses.
Note that a different way of linking buttons to keypresses is by using the
setKeyPressToTrigger() method to invoke a command - the difference being that
setting a shortcut allows the button to be temporarily linked to a keypress
only while it's on-screen.
setCommandToTrigger() method to invoke a command.
@see clearShortcuts
*/


+ 1
- 1
src/gui/components/lookandfeel/juce_LookAndFeel.cpp View File

@@ -2474,7 +2474,7 @@ void LookAndFeel::drawPropertyPanelSectionHeader (Graphics& g, const String& nam
const int buttonSize = (height * 3) / 4;
const int buttonIndent = (height - buttonSize) / 2;
drawTreeviewPlusMinusBox (g, buttonIndent, buttonIndent, buttonSize, buttonSize, ! isOpen);
drawTreeviewPlusMinusBox (g, buttonIndent, buttonIndent, buttonSize, buttonSize, ! isOpen, false);
const int textX = buttonIndent * 2 + buttonSize + 2;


+ 3
- 2
src/gui/components/properties/juce_PropertyComponent.h View File

@@ -29,7 +29,7 @@
class EditableProperty;
#include "../juce_Component.h"
#include "../mouse/juce_TooltipClient.h"
//==============================================================================
/**
@@ -47,7 +47,8 @@ class EditableProperty;
@see PropertyPanel, TextPropertyComponent, SliderPropertyComponent,
ChoicePropertyComponent, ButtonPropertyComponent, BooleanPropertyComponent
*/
class JUCE_API PropertyComponent : public Component
class JUCE_API PropertyComponent : public Component,
public SettableTooltipClient
{
public:
//==============================================================================


+ 1
- 1
src/gui/components/special/juce_QuickTimeMovieComponent.h View File

@@ -88,7 +88,7 @@ public:
component isn't visible can cause problems, because QuickTime needs a window
handle to do its stuff.
@param movieFile the .mov file to open
@param movieURL the .mov file to open
@param isControllerVisible whether to show a controller bar at the bottom
@returns true if the movie opens successfully
*/


+ 1
- 1
src/native/mac/juce_mac_CameraDevice.mm View File

@@ -265,7 +265,7 @@ END_JUCE_NAMESPACE
fromConnection: (QTCaptureConnection*) connection
{
if (firstRecordedTime == 0)
firstRecordedTime = new Time (Time::getCurrentTime());
firstRecordedTime = new Time (Time::getCurrentTime() - RelativeTime::milliseconds (50));
}
@end


Loading…
Cancel
Save