Skip to content

Instantly share code, notes, and snippets.

View olilarkin's full-sized avatar
💭
10x thanks to ChatGPT

Oli Larkin olilarkin

💭
10x thanks to ChatGPT
View GitHub Profile
@olilarkin
olilarkin / IPlugEffect.cpp
Created April 5, 2021 19:30
Storing and restoring text in an editable text control
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
IPlugEffect::IPlugEffect(const InstanceInfo& info)
: Plugin(info, MakeConfig(kNumParams, kNumPresets))
{
GetParam(kGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%");
mMakeGraphicsFunc = [&]() {
@olilarkin
olilarkin / IPlugEffect.cpp
Last active March 6, 2021 20:05
Basic VU meter hookup
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
constexpr int kNumVUFrames = 100;
IPlugEffect::IPlugEffect(const InstanceInfo& info)
: Plugin(info, MakeConfig(kNumParams, kNumPresets))
{
GetParam(kGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%");
@olilarkin
olilarkin / IPlugEffect.cpp
Created December 23, 2020 13:06
Visualize modulation
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
class ModIVControl : public IVKnobControl {
public:
ModIVControl(const IRECT& bounds, int paramIdx)
: IVKnobControl(bounds, paramIdx)
{
@olilarkin
olilarkin / IPlugEffect.cpp
Created November 30, 2020 11:31
VST3 Sample accurate parameters
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
IPlugEffect::IPlugEffect(const InstanceInfo& info)
: Plugin(info, MakeConfig(kNumParams, kNumPresets))
{
GetParam(kGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%");
}
@olilarkin
olilarkin / IPlugEffect.cpp
Last active April 5, 2022 03:05
Get access to IPlugAPPHost stuff (MIDI/Audio Device names) in plugin class
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
IPlugEffect::IPlugEffect(const InstanceInfo& info)
: Plugin(info, MakeConfig(kNumParams, kNumPresets))
, mPAPPHost(reinterpret_cast<IPlugAPPHost*>(info.pAppHost))
{
GetParam(kGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%");
@olilarkin
olilarkin / IPlugEffect.cpp
Created November 14, 2020 20:48
ILambdaControl Sine Wave animation
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
IPlugEffect::IPlugEffect(const InstanceInfo& info)
: Plugin(info, MakeConfig(kNumParams, kNumPresets))
{
GetParam(kGain)->InitDouble("Gain", 0., 0., 100.0, 0.01, "%");
#if IPLUG_EDITOR // http://bit.ly/2S64BDd
@olilarkin
olilarkin / IPlugEffect.cpp
Created October 31, 2020 13:54
IPlug2 NvgText
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
class NVGTextDemo : public IControl {
public:
float mMouseX, mMouseY;
NVGTextDemo(const IRECT& bounds)
: IControl(bounds, kNoParameter) {}
@olilarkin
olilarkin / IPlugEffect.cpp
Last active July 22, 2021 22:09
IPlug2 cables thing - drag n drop example
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
struct Cable
{
IVec2 pos1;
IVec2 pos2;
IColor color;
#include "IPlugEffect.h"
#include "IPlug_include_in_plug_src.h"
#include "IControls.h"
#include "IWebViewControl.h"
#include "json.hpp"
using json = nlohmann::json;
IPlugEffect::IPlugEffect(const InstanceInfo& info)
: Plugin(info, MakeConfig(kNumParams, kNumPrograms))
@olilarkin
olilarkin / IPlugOverSampler.cpp
Last active August 20, 2021 07:34
IPlugOverSampler
#include "IPlugOverSampler.h"
#include "IPlug_include_in_plug_src.h"
IPlugOverSampler::IPlugOverSampler(const InstanceInfo& instanceInfo)
: Plugin(instanceInfo, MakeConfig(kNumParams, kNumPrograms))
{
GetParam(kGain)->InitDouble("Gain", 1., 1., 100.0, 0.01, "*");
GetParam(kOverSampling)->InitEnum("OverSampling", 0, 5, "", 0, "", OVERSAMPLING_FACTORS_VA_LIST);
}