Browse Source

HostedAudioProcessorParameter: Extract from AudioPluginInstance

v6.1.6
reuk 4 years ago
parent
commit
b5064f361f
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
4 changed files with 55 additions and 18 deletions
  1. +1
    -0
      modules/juce_audio_processors/juce_audio_processors.h
  2. +1
    -17
      modules/juce_audio_processors/processors/juce_AudioPluginInstance.h
  3. +50
    -0
      modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h
  4. +3
    -1
      modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h

+ 1
- 0
modules/juce_audio_processors/juce_audio_processors.h View File

@@ -120,6 +120,7 @@
#include "utilities/juce_VST3ClientExtensions.h"
#include "utilities/juce_ExtensionsVisitor.h"
#include "processors/juce_AudioProcessorParameter.h"
#include "processors/juce_HostedAudioProcessorParameter.h"
#include "processors/juce_AudioProcessorEditorHostContext.h"
#include "processors/juce_AudioProcessorEditor.h"
#include "processors/juce_AudioProcessorListener.h"


+ 1
- 17
modules/juce_audio_processors/processors/juce_AudioPluginInstance.h View File

@@ -76,23 +76,7 @@ public:
*/
virtual void getExtensions (ExtensionsVisitor&) const;
/**
A parameter with functions which are useful for plugin hosts.
*/
struct HostedParameter : public AudioProcessorParameter
{
/** Returns an ID which is unique to this parameter.
Parameter indices are unstable across plugin versions, which means that the
parameter found at a particular index in one version of a plugin might move
to a different index in the subsequent version.
Unlike the parameter index, the ID returned by this function should be
somewhat stable (depending on the format of the plugin), so it is more
suitable for storing/recalling automation data.
*/
virtual String getParameterID() const = 0;
};
using HostedParameter = HostedAudioProcessorParameter;
/** Adds a parameter to this instance.


+ 50
- 0
modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h View File

@@ -0,0 +1,50 @@
/*
==============================================================================
This file is part of the JUCE library.
Copyright (c) 2020 - Raw Material Software Limited
JUCE is an open source library subject to commercial or open-source
licensing.
By using JUCE, you agree to the terms of both the JUCE 6 End-User License
Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020).
End User License Agreement: www.juce.com/juce-6-licence
Privacy Policy: www.juce.com/juce-privacy-policy
Or: You may also use this code under the terms of the GPL v3 (see
www.gnu.org/licenses).
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
DISCLAIMED.
==============================================================================
*/
namespace juce
{
//==============================================================================
/**
A parameter with functions that are useful for plugin hosts.
@tags{Audio}
*/
struct HostedAudioProcessorParameter : public AudioProcessorParameter
{
/** Returns an ID that is unique to this parameter.
Parameter indices are unstable across plugin versions, which means that the
parameter found at a particular index in one version of a plugin might move
to a different index in the subsequent version.
Unlike the parameter index, the ID returned by this function should be
somewhat stable (depending on the format of the plugin), so it is more
suitable for storing/recalling automation data.
*/
virtual String getParameterID() const = 0;
};
} // namespace juce

+ 3
- 1
modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h View File

@@ -33,7 +33,7 @@ namespace juce
@tags{Audio}
*/
class JUCE_API AudioProcessorParameterWithID : public AudioProcessorParameter
class JUCE_API AudioProcessorParameterWithID : public HostedAudioProcessorParameter
{
public:
/** The creation of this object requires providing a name and ID which will be
@@ -63,6 +63,8 @@ public:
String getLabel() const override;
Category getCategory() const override;
String getParameterID() const override { return paramID; }
private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioProcessorParameterWithID)
};


Loading…
Cancel
Save