13#ifndef OPENSHOT_COLORMAP_EFFECT_H
14#define OPENSHOT_COLORMAP_EFFECT_H
38 enum class LUTType { None, LUT1D, LUT3D };
42 std::vector<float> lut_data;
45 std::array<float, 3> lut_domain_min;
46 std::array<float, 3> lut_domain_max;
49 void init_effect_details();
52 void load_cube_file();
79 std::shared_ptr<openshot::Frame>
81 {
return GetFrame(std::make_shared<openshot::Frame>(), frame_number); }
84 std::shared_ptr<openshot::Frame>
85 GetFrame(std::shared_ptr<openshot::Frame> frame,
86 int64_t frame_number)
override;
89 std::string
Json()
const override;
91 void SetJson(
const std::string value)
override;
95 std::string
PropertiesJSON(int64_t requested_frame)
const override;
Header file for EffectBase class.
Header file for JSON class.
Header file for the Keyframe class.
std::string Json() const override
Generate JSON string of this object.
Keyframe intensity_r
Blend 0–1 for red channel.
Keyframe intensity_b
Blend 0–1 for blue channel.
Json::Value JsonValue() const override
Generate Json::Value for this object.
Keyframe intensity_g
Blend 0–1 for green channel.
std::shared_ptr< openshot::Frame > GetFrame(int64_t frame_number) override
Apply effect to a new frame.
Keyframe intensity
Overall intensity 0–1 (affects all channels).
ColorMap()
Blank constructor (used by JSON loader).
void SetJson(const std::string value) override
Load JSON string into this object.
std::string PropertiesJSON(int64_t requested_frame) const override
Expose properties (for UI).
void SetJsonValue(const Json::Value root) override
Load Json::Value into this object.
This abstract class is the base class, used by all effects in libopenshot.
A Keyframe is a collection of Point instances, which is used to vary a number or property over time.
This namespace is the default namespace for all code in the openshot library.