Skip to content

Commit

Permalink
Blow of a bit of the dust
Browse files Browse the repository at this point in the history
Refactoring, formatting etc. Could still use some work.
  • Loading branch information
dozius committed Feb 24, 2017
1 parent 580e5d5 commit 87b445a
Show file tree
Hide file tree
Showing 15 changed files with 715 additions and 787 deletions.
200 changes: 95 additions & 105 deletions AnechoicRoomSimulator/ASupaEditor.cpp
Original file line number Diff line number Diff line change
@@ -1,131 +1,121 @@
// ASupaEditor.cpp: implementation of the ASupaEditor class.
//
//////////////////////////////////////////////////////////////////////

#include "ASupaEditor.h"
#include "DelayExample.hpp"
#include "ASupaEditor.hpp"
#include "AnechoicRoomSim.hpp"
#include <stdio.h>
#include "math.h"
#include <math.h>

ASupaEditor::ASupaEditor(AudioEffect *effect) : AEffGUIEditor(effect)
ASupaEditor::ASupaEditor(AudioEffect* effect) : AEffGUIEditor(effect)
{
sizeKnob = 0;
sizeDisplay = 0;
frame = 0;

// init the size of the plugin
rect.left = 0;
rect.top = 0;
rect.right = 302;
rect.bottom = 192;
sizeKnob = nullptr;
sizeDisplay = nullptr;
frame = nullptr;

// init the size of the plugin
rect.left = 0;
rect.top = 0;
rect.right = 302;
rect.bottom = 192;
}

ASupaEditor::~ASupaEditor()
bool ASupaEditor::open(void* ptr)
{
}
AEffGUIEditor::open(ptr);

bool ASupaEditor::open(void *ptr)
{
AEffGUIEditor::open(ptr);

CBitmap *hBackground = new CBitmap("back.png");
CBitmap *distknob = new CBitmap("knob.png");
CBitmap *greyText = new CBitmap("type.png");
CBitmap *splashBitmap = new CBitmap("splash.png");

//init frame
CRect size(0, 0, hBackground->getWidth (), hBackground->getHeight ());
frame = new CFrame(size, this);
CBitmap* hBackground = new CBitmap("back.png");
CBitmap* distknob = new CBitmap("knob.png");
CBitmap* greyText = new CBitmap("type.png");
CBitmap* splashBitmap = new CBitmap("splash.png");

//init frame
CRect size(0, 0, hBackground->getWidth(), hBackground->getHeight());
frame = new CFrame(size, this);
frame->open(ptr);
frame->setBackground(hBackground);
setKnobMode(kLinearMode);

CColor grey = {118,118,118};
CColor white = {255,255,255};
CColor red = {255,0,0};

long displayWidth = 30;
long displayHeight = 6;

char temp[256];
((CDelayExample *)effect)->getDisplay(CDelayExample::kSize,temp);
sizeDisplay = new CTextDisplay(CRect(39,159,103,159+displayHeight),greyText,grey);
sizeDisplay->setText(temp);
frame->addView(sizeDisplay);

// distortion
sizeKnob = new CAnimKnob(CRect(117, 63, 117 + distknob->getWidth(), 63 + distknob->getHeight()/111), this, CDelayExample::kSize, 111, 68, distknob, CPoint(0,0));
sizeKnob->setDefaultValue(0.5f);
sizeKnob->setValue(effect->getParameter(CDelayExample::kSize));
frame->addView(sizeKnob);


splash = new CSplashScreen(CRect(220,23,275,74), this, 1000, splashBitmap, size, CPoint(0,0));
frame->addView(splash);

// forget bitmaps
hBackground->forget();
distknob->forget();
greyText->forget();
splashBitmap->forget();

return true;
frame->setBackground(hBackground);
setKnobMode(kLinearMode);

CColor grey = { 118,118,118 };
CColor white = { 255,255,255 };
CColor red = { 255,0,0 };

long displayWidth = 30;
long displayHeight = 6;

char temp[256];
(static_cast<AnechoicRoomSim*>(effect))->getDisplay(AnechoicRoomSim::kSize, temp);
sizeDisplay = new CTextDisplay(CRect(39, 159, 103, 159 + displayHeight), greyText, grey);
sizeDisplay->setText(temp);
frame->addView(sizeDisplay);

// distortion
sizeKnob = new CAnimKnob(CRect(117, 63, 117 + distknob->getWidth(), 63 + distknob->getHeight() / 111), this, AnechoicRoomSim::kSize, 111, 68, distknob, CPoint(0, 0));
sizeKnob->setDefaultValue(0.5f);
sizeKnob->setValue(effect->getParameter(AnechoicRoomSim::kSize));
frame->addView(sizeKnob);

splash = new CSplashScreen(CRect(220, 23, 275, 74), this, 1000, splashBitmap, size, CPoint(0, 0));
frame->addView(splash);

// forget bitmaps
hBackground->forget();
distknob->forget();
greyText->forget();
splashBitmap->forget();

return true;
}

void ASupaEditor::close()
{
sizeKnob = 0;
sizeDisplay = 0;
splash = 0;

if (frame != 0) {
CFrame *oldFrame = frame;
frame = 0;
sizeKnob = nullptr;
sizeDisplay = nullptr;
splash = nullptr;

if (!frame)
{
CFrame* oldFrame = frame;
frame = nullptr;
oldFrame->forget();
}
}

void ASupaEditor::setParameter(VstInt32 index, float value)
{
if (frame == 0)
return;

if(index >= 0 && index < CDelayExample::kNumParams)
{
switch(index)
{
case CDelayExample::kSize : if(sizeKnob) sizeKnob->setValue(value); break;
}

char temp[256];
((CDelayExample *)effect)->getDisplay(index,temp);

switch(index)
{
case CDelayExample::kSize : if(sizeDisplay) sizeDisplay->setText(temp); break;
}
}
if (!frame)
{
return;
}

if (index >= 0 && index < AnechoicRoomSim::kNumParams)
{
switch (index)
{
case AnechoicRoomSim::kSize: if (sizeKnob) sizeKnob->setValue(value); break;
}

char temp[256];
(static_cast<AnechoicRoomSim*>(effect))->getDisplay(index, temp);

switch (index)
{
case AnechoicRoomSim::kSize: if (sizeDisplay) sizeDisplay->setText(temp); break;
}
}
}

void ASupaEditor::valueChanged(CControl* control)
{
long tag = control->getTag();
long tag = control->getTag();

if(tag >= 0 && tag < CDelayExample::kNumParams)
{
char temp[256];
((CDelayExample *)effect)->getDisplay(tag,temp);
if (tag >= 0 && tag < AnechoicRoomSim::kNumParams)
{
char temp[256];
(static_cast<AnechoicRoomSim*>(effect))->getDisplay(tag, temp);

switch(tag)
{
case CDelayExample::kSize : if(sizeDisplay) sizeDisplay->setText(temp); break;
}
switch (tag)
{
case AnechoicRoomSim::kSize: if (sizeDisplay) sizeDisplay->setText(temp); break;
}

//update control...
effect->setParameterAutomated(tag, control->getValue ());
}
//update control...
effect->setParameterAutomated(tag, control->getValue());
}
}




27 changes: 0 additions & 27 deletions AnechoicRoomSimulator/ASupaEditor.h

This file was deleted.

23 changes: 23 additions & 0 deletions AnechoicRoomSimulator/ASupaEditor.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#pragma once

#include "plugin-bindings/aeffguieditor.h"

#include "TextDisplay.hpp"

class ASupaEditor :public AEffGUIEditor, public IControlListener
{
public:
ASupaEditor(AudioEffect* effect);
virtual ~ASupaEditor() = default;

virtual bool open(void* ptr) override;
virtual void close() override;

virtual void setParameter(VstInt32 index, float value) override;
virtual void valueChanged(CControl* control) override;

protected:
CAnimKnob* sizeKnob;
CTextDisplay* sizeDisplay;
CSplashScreen* splash;
};
Loading

0 comments on commit 87b445a

Please sign in to comment.