13 #ifndef OPENSHOT_PARAMETRIC_EQ_AUDIO_EFFECT_H 14 #define OPENSHOT_PARAMETRIC_EQ_AUDIO_EFFECT_H 15 #define _USE_MATH_DEFINES 26 #include <AppConfig.h> 27 #include <juce_audio_basics/juce_audio_basics.h> 41 void init_effect_details();
57 std::shared_ptr<openshot::Frame>
GetFrame(int64_t frame_number)
override {
58 return GetFrame(std::make_shared<openshot::Frame>(), frame_number);
61 std::shared_ptr<openshot::Frame>
62 GetFrame(std::shared_ptr<openshot::Frame> frame, int64_t frame_number)
override;
65 std::string
Json()
const override;
66 void SetJson(
const std::string value)
override;
70 std::string
PropertiesJSON(int64_t requested_frame)
const override;
72 class Filter :
public juce::IIRFilter
76 const double q_factor,
78 const int filter_type);
This abstract class is the base class, used by all effects in libopenshot.
void updateFilters(int64_t frame_number, double sample_rate)
void SetJsonValue(const Json::Value root) override
Load Json::Value into this object.
void SetJson(const std::string value) override
Load JSON string into this object.
FilterType
This enumeration determines the filter type of ParametricEQ Effect.
Header file for the Keyframe class.
std::string PropertiesJSON(int64_t requested_frame) const override
Json::Value JsonValue() const override
Generate Json::Value for this object.
Header file for JSON class.
juce::OwnedArray< Filter > filters
ParametricEQ()
Blank constructor, useful when using Json to load the effect properties.
Header file for TextReader class.
This namespace is the default namespace for all code in the openshot library.
Header file for EffectBase class.
This class adds a equalization into the audio.
openshot::FilterType filter_type
A Keyframe is a collection of Point instances, which is used to vary a number or property over time...
std::string Json() const override
Generate JSON string of this object.
std::shared_ptr< openshot::Frame > GetFrame(int64_t frame_number) override
This method is required for all derived classes of ClipBase, and returns a new openshot::Frame object...
void updateCoefficients(const double discrete_frequency, const double q_factor, const double gain, const int filter_type)