Skip to content

Commit

Permalink
Added half/full scale (HDPI) GUI.
Browse files Browse the repository at this point in the history
  • Loading branch information
martinic committed Feb 21, 2023
1 parent 7c09bde commit afcb593
Show file tree
Hide file tree
Showing 12 changed files with 240 additions and 10 deletions.
97 changes: 96 additions & 1 deletion DrMixAISynth.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@
#include <string.h>

DrMixAISynth::DrMixAISynth(void *instance):
IPLUG_CTOR(kNumParams, 0, instance),
IPLUG_CTOR(kNumParams, 1, instance),
m_synth(new SawtoothSynth()),
m_note_on(-1)
{
// Plugin parameters

AddParam(kParamEnvelope, new IBoolParam("Envelope", false));
AddParam(kParamAttackTime, new IDoubleExpParam(3, "Attack", 100, 1, 5000, 0, "ms"));
AddParam(kParamDecayTime, new IDoubleExpParam(3, "Decay", 200, 1, 5000, 0, "ms"));
Expand All @@ -19,6 +21,65 @@ DrMixAISynth::DrMixAISynth(void *instance):

AddParam(kParamLFOFrequency, new IDoubleExpParam(3, "LFO Rate", 2, 0.1, 10, 2, "Hz"));
AddParam(kParamLFOAmplitude, new IDoubleParam("LFO Depth", 0, 0, 1000, 0, "Hz"));

MakeDefaultPreset("Default");

// GUI

IGraphics *pGraphics = MakeGraphics(this, 1200, 680);

pGraphics->SetDefaultScale(IGraphics::kScaleHalf);
pGraphics->EnableTooltips(true);
pGraphics->HandleMouseWheel(IGraphics::kMouseWheelModKey);

IBitmap background(BACKGROUND_PNG_ID, pGraphics->Width(), pGraphics->Height());
pGraphics->AttachBackground(new IBackgroundControl(this, &background));

// Envelope switch/knobs

IBitmap switchBitmap(SWITCH_PNG_ID, 90, 32);
IControl *pSwitchControl = new ISwitchControl(this, 62, 72, kParamEnvelope, &switchBitmap);
pSwitchControl->SetTooltip("Envelope On/Off");
pGraphics->AttachControl(pSwitchControl);

IBitmap knobBitmap(KNOB_PNG_ID, 88, 88, 129);
IControl *pKnobControl;

pKnobControl = new IKnobMultiControl(this, 62, 150, kParamAttackTime, &knobBitmap);
pKnobControl->SetTooltip("Attack Time");
pGraphics->AttachControl(pKnobControl);

pKnobControl = new IKnobMultiControl(this, 62, 280, kParamDecayTime, &knobBitmap);
pKnobControl->SetTooltip("Decay Time");
pGraphics->AttachControl(pKnobControl);

pKnobControl = new IKnobMultiControl(this, 62, 410, kParamSustainLevel, &knobBitmap);
pKnobControl->SetTooltip("Sustain Level");
pGraphics->AttachControl(pKnobControl);

pKnobControl = new IKnobMultiControl(this, 62, 540, kParamReleaseTime, &knobBitmap);
pKnobControl->SetTooltip("Release Time");
pGraphics->AttachControl(pKnobControl);

// Filter knobs

pKnobControl = new IKnobMultiControl(this, 214, 108, kParamCutoffFrequency, &knobBitmap);
pKnobControl->SetTooltip("Cutoff Frequency");
pGraphics->AttachControl(pKnobControl);

pKnobControl = new IKnobMultiControl(this, 214, 238, kParamResonance, &knobBitmap);
pKnobControl->SetTooltip("Resonance");
pGraphics->AttachControl(pKnobControl);

pKnobControl = new IKnobMultiControl(this, 214, 368, kParamLFOFrequency, &knobBitmap);
pKnobControl->SetTooltip("LFO Rate");
pGraphics->AttachControl(pKnobControl);

pKnobControl = new IKnobMultiControl(this, 214, 498, kParamLFOAmplitude, &knobBitmap);
pKnobControl->SetTooltip("LFO Depth");
pGraphics->AttachControl(pKnobControl);

AttachGraphics(pGraphics);
}

void DrMixAISynth::SetSampleRate(double rate)
Expand Down Expand Up @@ -184,3 +245,37 @@ void DrMixAISynth::ProcessDoubleReplacing(const double *const *inputs, double *c

m_midi_queue.Flush(samples);
}

bool DrMixAISynth::OnGUIRescale(int wantScale)
{
// Load image set depending on host GUI DPI.
IGraphics* pGraphics = GetGUI();
pGraphics->Rescale(wantScale);

typedef IGraphics::BitmapResource Resource;

// Half scale image set.
static const Resource halfScaleImageSet[] =
{
Resource(IPLUG_RESOURCE(BACKGROUND_PNG)),
Resource(IPLUG_RESOURCE(SWITCH_PNG)),
Resource(IPLUG_RESOURCE(KNOB_PNG)),
Resource()
};

// Full scale image set.
static const Resource fullScaleImageSet[] =
{
Resource(IPLUG_RESOURCE(BACKGROUND_2X_PNG)),
Resource(IPLUG_RESOURCE(SWITCH_2X_PNG)),
Resource(IPLUG_RESOURCE(KNOB_2X_PNG)),
Resource()
};

const Resource* pResources = halfScaleImageSet;
if (wantScale == IGraphics::kScaleFull) pResources = fullScaleImageSet;

pGraphics->LoadBitmapResources(pResources);

return true;
}
2 changes: 2 additions & 0 deletions DrMixAISynth.h
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,8 @@ class DrMixAISynth : public IPlug
m_synth->Process(output, samples, gate);
}

bool OnGUIRescale(int wantScale);

private:
SawtoothSynth *m_synth;

Expand Down
10 changes: 10 additions & 0 deletions DrMixAISynth.rc
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
#include "resource.h"
#include <windows.h>

// Image resources.

BACKGROUND_PNG_ID PNG BACKGROUND_PNG_FN
SWITCH_PNG_ID PNG SWITCH_PNG_FN
KNOB_PNG_ID PNG KNOB_PNG_FN

BACKGROUND_2X_PNG_ID PNG BACKGROUND_2X_PNG_FN
SWITCH_2X_PNG_ID PNG SWITCH_2X_PNG_FN
KNOB_2X_PNG_ID PNG KNOB_2X_PNG_FN

// Version info.

#ifdef VERSIONINFO_VERSION
Expand Down
105 changes: 98 additions & 7 deletions DrMixAISynth.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,24 @@
3D144CC428C4FAB3003FA6F7 /* IPlugCLAP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D144C4F28C4F8C8003FA6F7 /* IPlugCLAP.cpp */; };
3D144CC528C4FAB6003FA6F7 /* IPlugCLAP.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D144C5028C4F8C8003FA6F7 /* IPlugCLAP.h */; };
3D144CC628C4FAD4003FA6F7 /* clap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D144C5228C4F925003FA6F7 /* clap.h */; };
3D25412F29A398D200CB37ED /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412929A3984800CB37ED /* Background.png */; };
3D25413029A398D200CB37ED /* Switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412829A3984800CB37ED /* Switch.png */; };
3D25413129A398D200CB37ED /* Knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412A29A3984800CB37ED /* Knob.png */; };
3D25413229A398D200CB37ED /* Background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412B29A3985500CB37ED /* Background@2x.png */; };
3D25413329A398D200CB37ED /* Switch@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412D29A3985500CB37ED /* Switch@2x.png */; };
3D25413429A398D200CB37ED /* Knob@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412C29A3985500CB37ED /* Knob@2x.png */; };
3D25413629A398E600CB37ED /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412929A3984800CB37ED /* Background.png */; };
3D25413729A398E600CB37ED /* Switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412829A3984800CB37ED /* Switch.png */; };
3D25413829A398E600CB37ED /* Knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412A29A3984800CB37ED /* Knob.png */; };
3D25413929A398E600CB37ED /* Background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412B29A3985500CB37ED /* Background@2x.png */; };
3D25413A29A398E600CB37ED /* Switch@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412D29A3985500CB37ED /* Switch@2x.png */; };
3D25413B29A398E600CB37ED /* Knob@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412C29A3985500CB37ED /* Knob@2x.png */; };
3D25413D29A398F800CB37ED /* Background.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412929A3984800CB37ED /* Background.png */; };
3D25413E29A398F800CB37ED /* Switch.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412829A3984800CB37ED /* Switch.png */; };
3D25413F29A398F800CB37ED /* Knob.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412A29A3984800CB37ED /* Knob.png */; };
3D25414029A398F800CB37ED /* Background@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412B29A3985500CB37ED /* Background@2x.png */; };
3D25414129A398F800CB37ED /* Switch@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412D29A3985500CB37ED /* Switch@2x.png */; };
3D25414229A398F800CB37ED /* Knob@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D25412C29A3985500CB37ED /* Knob@2x.png */; };
3D27758225162D6300F354B7 /* IMidiQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D27758125162D6300F354B7 /* IMidiQueue.h */; };
3D27758325162D6300F354B7 /* IMidiQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D27758125162D6300F354B7 /* IMidiQueue.h */; };
3D27758525162F8400F354B7 /* denormal.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D27758425162F8300F354B7 /* denormal.h */; };
Expand Down Expand Up @@ -296,7 +314,13 @@
3D144C5028C4F8C8003FA6F7 /* IPlugCLAP.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IPlugCLAP.h; path = IPlug/IPlugCLAP.h; sourceTree = "<group>"; };
3D144C5228C4F925003FA6F7 /* clap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = clap.h; path = clap/clap.h; sourceTree = "<group>"; };
3D144CC228C4F93B003FA6F7 /* Doctor Mix AI Synth.clap */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Doctor Mix AI Synth.clap"; sourceTree = BUILT_PRODUCTS_DIR; };
3D144CC328C4F93B003FA6F7 /* CLAP-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "CLAP-Info.plist"; path = "CLAP-Info.plist"; sourceTree = "<group>"; };
3D144CC328C4F93B003FA6F7 /* CLAP-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CLAP-Info.plist"; sourceTree = "<group>"; };
3D25412829A3984800CB37ED /* Switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Switch.png; path = img/Switch.png; sourceTree = "<group>"; };
3D25412929A3984800CB37ED /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Background.png; path = img/Background.png; sourceTree = "<group>"; };
3D25412A29A3984800CB37ED /* Knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Knob.png; path = img/Knob.png; sourceTree = "<group>"; };
3D25412B29A3985500CB37ED /* Background@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Background@2x.png"; path = "img/Background@2x.png"; sourceTree = "<group>"; };
3D25412C29A3985500CB37ED /* Knob@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Knob@2x.png"; path = "img/Knob@2x.png"; sourceTree = "<group>"; };
3D25412D29A3985500CB37ED /* Switch@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Switch@2x.png"; path = "img/Switch@2x.png"; sourceTree = "<group>"; };
3D27758125162D6300F354B7 /* IMidiQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IMidiQueue.h; path = IPlug/IMidiQueue.h; sourceTree = "<group>"; };
3D27758425162F8300F354B7 /* denormal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = denormal.h; path = WDL/denormal.h; sourceTree = "<group>"; };
3D31A5D1246D7760000BAC95 /* ptrlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ptrlist.h; path = WDL/ptrlist.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -444,6 +468,27 @@
name = clap;
sourceTree = "<group>";
};
3D25412629A397FE00CB37ED /* Resources */ = {
isa = PBXGroup;
children = (
3D25412729A3981000CB37ED /* img */,
);
name = Resources;
sourceTree = "<group>";
};
3D25412729A3981000CB37ED /* img */ = {
isa = PBXGroup;
children = (
3D25412929A3984800CB37ED /* Background.png */,
3D25412829A3984800CB37ED /* Switch.png */,
3D25412A29A3984800CB37ED /* Knob.png */,
3D25412B29A3985500CB37ED /* Background@2x.png */,
3D25412D29A3985500CB37ED /* Switch@2x.png */,
3D25412C29A3985500CB37ED /* Knob@2x.png */,
);
name = img;
sourceTree = "<group>";
};
3D529C12245847D400527485 /* Frameworks */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -626,6 +671,7 @@
3D529CA72458517C00527485 /* WDL */,
3D144C5128C4F905003FA6F7 /* clap */,
3DC066E924599DCC00516437 /* VST2_SDK */,
3D25412629A397FE00CB37ED /* Resources */,
3D529C12245847D400527485 /* Frameworks */,
3DCA573124583673009F1E70 /* Products */,
);
Expand Down Expand Up @@ -844,6 +890,7 @@
3D144C7A28C4F93B003FA6F7 /* Headers */,
3D144C5428C4F93B003FA6F7 /* Sources */,
3D144C7728C4F93B003FA6F7 /* Frameworks */,
3D25413529A398DB00CB37ED /* Resources */,
);
buildRules = (
);
Expand All @@ -861,6 +908,7 @@
3D738531246E94E500582D74 /* Headers */,
3D43DA0C246E8C8D004AFF08 /* Sources */,
3D43DA0D246E8C8D004AFF08 /* Frameworks */,
3D25412E29A398B100CB37ED /* Resources */,
3D738598246E968C00582D74 /* Rez */,
);
buildRules = (
Expand All @@ -879,6 +927,7 @@
3DCA572E24583673009F1E70 /* Headers */,
3DCA572C24583673009F1E70 /* Sources */,
3DCA572D24583673009F1E70 /* Frameworks */,
3D25413C29A398EF00CB37ED /* Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -918,6 +967,48 @@
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
3D25412E29A398B100CB37ED /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3D25412F29A398D200CB37ED /* Background.png in Resources */,
3D25413029A398D200CB37ED /* Switch.png in Resources */,
3D25413129A398D200CB37ED /* Knob.png in Resources */,
3D25413229A398D200CB37ED /* Background@2x.png in Resources */,
3D25413329A398D200CB37ED /* Switch@2x.png in Resources */,
3D25413429A398D200CB37ED /* Knob@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
3D25413529A398DB00CB37ED /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3D25413629A398E600CB37ED /* Background.png in Resources */,
3D25413729A398E600CB37ED /* Switch.png in Resources */,
3D25413829A398E600CB37ED /* Knob.png in Resources */,
3D25413929A398E600CB37ED /* Background@2x.png in Resources */,
3D25413A29A398E600CB37ED /* Switch@2x.png in Resources */,
3D25413B29A398E600CB37ED /* Knob@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
3D25413C29A398EF00CB37ED /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3D25413D29A398F800CB37ED /* Background.png in Resources */,
3D25413E29A398F800CB37ED /* Switch.png in Resources */,
3D25413F29A398F800CB37ED /* Knob.png in Resources */,
3D25414029A398F800CB37ED /* Background@2x.png in Resources */,
3D25414129A398F800CB37ED /* Switch@2x.png in Resources */,
3D25414229A398F800CB37ED /* Knob@2x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXRezBuildPhase section */
3D738598246E968C00582D74 /* Rez */ = {
isa = PBXRezBuildPhase;
Expand Down Expand Up @@ -1062,7 +1153,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"IGRAPHICS_COCOA=$(PROJECT_NAME:identifier)_CLAP",
"IGRAPHICS_COCOA=$(PRODUCT_NAME:identifier)_CLAP",
"$(inherited)",
);
INFOPLIST_FILE = "$(SRCROOT)/CLAP-Info.plist";
Expand All @@ -1076,7 +1167,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"IGRAPHICS_COCOA=$(PROJECT_NAME:identifier)_CLAP",
"IGRAPHICS_COCOA=$(PRODUCT_NAME:identifier)_CLAP",
"$(inherited)",
);
INFOPLIST_FILE = "$(SRCROOT)/CLAP-Info.plist";
Expand All @@ -1091,7 +1182,7 @@
buildSettings = {
EXPORTED_SYMBOLS_FILE = "$(SRCROOT)/$(PROJECT).exp";
GCC_PREPROCESSOR_DEFINITIONS = (
"IGRAPHICS_COCOA=$(PROJECT_NAME:identifier)_AU",
"IGRAPHICS_COCOA=$(PRODUCT_NAME:identifier)_AU",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
Expand All @@ -1111,7 +1202,7 @@
buildSettings = {
EXPORTED_SYMBOLS_FILE = "$(SRCROOT)/$(PROJECT).exp";
GCC_PREPROCESSOR_DEFINITIONS = (
"IGRAPHICS_COCOA=$(PROJECT_NAME:identifier)_AU",
"IGRAPHICS_COCOA=$(PRODUCT_NAME:identifier)_AU",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
Expand Down Expand Up @@ -1211,7 +1302,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"IGRAPHICS_COCOA=$(PROJECT_NAME:identifier)_VST",
"IGRAPHICS_COCOA=$(PRODUCT_NAME:identifier)_VST",
"$(inherited)",
);
INFOPLIST_FILE = "$(SRCROOT)/VST2-Info.plist";
Expand All @@ -1225,7 +1316,7 @@
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"IGRAPHICS_COCOA=$(PROJECT_NAME:identifier)_VST",
"IGRAPHICS_COCOA=$(PRODUCT_NAME:identifier)_VST",
"$(inherited)",
);
INFOPLIST_FILE = "$(SRCROOT)/VST2-Info.plist";
Expand Down
13 changes: 11 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,19 @@ all : clap
"$(OUTDIR)/$(PROJECT)_VST2.obj" : "$(PROJECT).cpp" "$(PROJECT).h" resource.h IPlug/Containers.h IPlug/Hosts.h IPlug/IControl.h IPlug/IGraphics.h IPlug/IGraphicsWin.h IPlug/IParam.h IPlug/IPlug_include_in_plug_hdr.h IPlug/IPlug_include_in_plug_src.h IPlug/IPlugBase.h IPlug/IPlugStructs.h IPlug/IPlugVST2.h
$(CPP) $(CPPFLAGS) /D VST2_API /wd4244 /Fo$@ /Fa"$(OUTDIR)/_$(PROJECT)_VST2.asm" "$(PROJECT).cpp"

"$(OUTDIR)/$(PROJECT)_CLAP.res" : "$(PROJECT).rc" resource.h
RESOURCES = \
img/Background.png \
img/Switch.png \
img/Knob.png \
\
img/Background@2x.png \
img/Switch@2x.png \
img/Knob@2x.png

"$(OUTDIR)/$(PROJECT)_CLAP.res" : "$(PROJECT).rc" resource.h $(RESOURCES)
$(RC) $(RCFLAGS) /D CLAP_API /fo$@ "$(PROJECT).rc"

"$(OUTDIR)/$(PROJECT)_VST2.res" : "$(PROJECT).rc" resource.h
"$(OUTDIR)/$(PROJECT)_VST2.res" : "$(PROJECT).rc" resource.h $(RESOURCES)
$(RC) $(RCFLAGS) /D VST2_API /fo$@ "$(PROJECT).rc"

IPLUG = \
Expand Down
Binary file added img/Background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Background@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Knob.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Knob@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Switch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Switch@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions resource.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,26 @@

// To-do: Set AudioComponents type in AU-Info.plist to aufx (audio effect),
// aumu (instrument), or aumf (audio effect with MIDI input).

// Unique IDs for each image resource, bit 0 is scale (0 = full, 1 = half).

#define BACKGROUND_2X_PNG_ID 100
#define SWITCH_2X_PNG_ID 102
#define KNOB_2X_PNG_ID 104

#define BACKGROUND_PNG_ID 101
#define SWITCH_PNG_ID 103
#define KNOB_PNG_ID 105

// Image resource filenames (case-sensitive!).

#define BACKGROUND_2X_PNG_FN "img/Background@2x.png"
#define SWITCH_2X_PNG_FN "img/Switch@2x.png"
#define KNOB_2X_PNG_FN "img/Knob@2x.png"

#define BACKGROUND_PNG_FN "img/Background.png"
#define SWITCH_PNG_FN "img/Switch.png"
#define KNOB_PNG_FN "img/Knob.png"

// To-do: Set AudioComponents type in AU-Info.plist to aufx (audio effect),
// aumu (instrument), or aumf (audio effect with MIDI input).

0 comments on commit afcb593

Please sign in to comment.