@@ -1 +1 @@ | |||||
Subproject commit 30489c5aa1392f698e904c6aced1d7a486634c40 | |||||
Subproject commit 682f1cf203707f21c2eed4fa3f89c23c52accc49 |
@@ -23,7 +23,6 @@ struct SVGPanel; | |||||
// A 1U module should be 15x380. Thus the width of a module should be a factor of 15. | // A 1U module should be 15x380. Thus the width of a module should be a factor of 15. | ||||
#define RACK_GRID_WIDTH 15 | #define RACK_GRID_WIDTH 15 | ||||
#define RACK_GRID_HEIGHT 380 | #define RACK_GRID_HEIGHT 380 | ||||
static const Vec RACK_GRID_SIZE = Vec(15, 380); | static const Vec RACK_GRID_SIZE = Vec(15, 380); | ||||
@@ -1,59 +1,12 @@ | |||||
#pragma once | #pragma once | ||||
#include <string> | #include <string> | ||||
#include <list> | #include <list> | ||||
#include "tags.hpp" | |||||
namespace rack { | namespace rack { | ||||
enum ModelTag { | |||||
AMPLIFIER_TAG, | |||||
ATTENUATOR_TAG, | |||||
BLANK_TAG, | |||||
CLOCK_TAG, | |||||
CONTROLLER_TAG, | |||||
DELAY_TAG, | |||||
DIGITAL_TAG, | |||||
DISTORTION_TAG, | |||||
DRUM_TAG, | |||||
DUAL_TAG, | |||||
DYNAMICS_TAG, | |||||
EFFECT_TAG, | |||||
ENVELOPE_FOLLOWER_TAG, | |||||
ENVELOPE_GENERATOR_TAG, | |||||
EQUALIZER_TAG, | |||||
EXTERNAL_TAG, | |||||
FILTER_TAG, | |||||
FUNCTION_GENERATOR_TAG, | |||||
GRANULAR_TAG, | |||||
LFO_TAG, | |||||
LOGIC_TAG, | |||||
LOW_PASS_GATE_TAG, | |||||
MIDI_TAG, | |||||
MIXER_TAG, | |||||
MULTIPLE_TAG, | |||||
NOISE_TAG, | |||||
OSCILLATOR_TAG, | |||||
PANNING_TAG, | |||||
QUAD_TAG, | |||||
QUANTIZER_TAG, | |||||
RANDOM_TAG, | |||||
REVERB_TAG, | |||||
RING_MODULATOR_TAG, | |||||
SAMPLE_AND_HOLD_TAG, | |||||
SAMPLER_TAG, | |||||
SEQUENCER_TAG, | |||||
SLEW_LIMITER_TAG, | |||||
SWITCH_TAG, | |||||
SYNTH_VOICE_TAG, | |||||
TUNER_TAG, | |||||
UTILITY_TAG, | |||||
VISUAL_TAG, | |||||
WAVESHAPER_TAG, | |||||
NUM_TAGS | |||||
}; | |||||
struct ModuleWidget; | struct ModuleWidget; | ||||
struct Model; | struct Model; | ||||
@@ -118,7 +71,6 @@ std::string pluginGetLoginStatus(); | |||||
extern std::list<Plugin*> gPlugins; | extern std::list<Plugin*> gPlugins; | ||||
extern std::string gToken; | extern std::string gToken; | ||||
extern std::string gTagNames[NUM_TAGS]; | |||||
} // namespace rack | } // namespace rack | ||||
@@ -0,0 +1,72 @@ | |||||
#pragma once | |||||
#include <string> | |||||
namespace rack { | |||||
/** Describes the type(s) of each module | |||||
To see comments, turn word wrap on. I'm using inline comments so I can automatically sort the list when more tags are added. | |||||
*/ | |||||
enum ModelTag { | |||||
AMPLIFIER_TAG, | |||||
ATTENUATOR_TAG, | |||||
BLANK_TAG, | |||||
CHORUS_TAG, | |||||
CLOCK_TAG, | |||||
COMPRESSOR_TAG, | |||||
CONTROLLER_TAG, // Use only if the artist "performs" with this module. Knobs are not sufficient. Examples: on-screen keyboard, XY pad. | |||||
DELAY_TAG, | |||||
DIGITAL_TAG, | |||||
DISTORTION_TAG, | |||||
DRUM_TAG, | |||||
DUAL_TAG, // The core functionality times two. If multiple channels are a requirement for the module to exist (ring modulator, mixer, etc), it is not a Dual module. | |||||
DYNAMICS_TAG, | |||||
EFFECT_TAG, | |||||
ENVELOPE_FOLLOWER_TAG, | |||||
ENVELOPE_GENERATOR_TAG, | |||||
EQUALIZER_TAG, | |||||
EXTERNAL_TAG, | |||||
FILTER_TAG, | |||||
FLANGER_TAG, | |||||
FUNCTION_GENERATOR_TAG, | |||||
GRANULAR_TAG, | |||||
LFO_TAG, | |||||
LIMITER_TAG, | |||||
LOGIC_TAG, | |||||
LOW_PASS_GATE_TAG, | |||||
MIDI_TAG, | |||||
MIXER_TAG, | |||||
MULTIPLE_TAG, | |||||
NOISE_TAG, | |||||
OSCILLATOR_TAG, | |||||
PANNING_TAG, | |||||
PHASER_TAG, | |||||
PHYSICAL_MODELING_TAG, | |||||
QUAD_TAG, // The core functionality times four. If multiple channels are a requirement for the module to exist (ring modulator, mixer, etc), it is not a Quad module. | |||||
QUANTIZER_TAG, | |||||
RANDOM_TAG, | |||||
RECORDING_TAG, | |||||
REVERB_TAG, | |||||
RING_MODULATOR_TAG, | |||||
SAMPLE_AND_HOLD_TAG, | |||||
SAMPLER_TAG, | |||||
SEQUENCER_TAG, | |||||
SLEW_LIMITER_TAG, | |||||
SWITCH_TAG, | |||||
SYNTH_VOICE_TAG, // A synth voice must have an envelope built-in. | |||||
TUNER_TAG, | |||||
UTILITY_TAG, // Serves only extremely basic functions, like inverting, max, min, multiplying by 2, etc. | |||||
VISUAL_TAG, | |||||
VOCODER_TAG, | |||||
WAVESHAPER_TAG, | |||||
NUM_TAGS | |||||
}; | |||||
void tagsInit(); | |||||
extern std::string gTagNames[NUM_TAGS]; | |||||
} // namespace rack |
@@ -31,52 +31,6 @@ namespace rack { | |||||
std::list<Plugin*> gPlugins; | std::list<Plugin*> gPlugins; | ||||
std::string gToken; | std::string gToken; | ||||
std::string gTagNames[NUM_TAGS] = { | |||||
"Amplifier/VCA", | |||||
"Attenuator", | |||||
"Blank", | |||||
"Clock", | |||||
"Controller", | |||||
"Delay", | |||||
"Digital", | |||||
"Distortion", | |||||
"Drum", | |||||
"Dual/Stereo", | |||||
"Dynamics", | |||||
"Effect", | |||||
"Envelope Follower", | |||||
"Envelope Generator", | |||||
"Equalizer", | |||||
"External", | |||||
"Filter/VCF", | |||||
"Function Generator", | |||||
"Granular", | |||||
"LFO", | |||||
"Logic", | |||||
"Low Pass Gate", | |||||
"MIDI", | |||||
"Mixer", | |||||
"Multiple", | |||||
"Noise", | |||||
"Oscillator/VCO", | |||||
"Panning", | |||||
"Quad", | |||||
"Quantizer", | |||||
"Random", | |||||
"Reverb", | |||||
"Ring Modulator", | |||||
"Sample and Hold", | |||||
"Sampler", | |||||
"Sequencer", | |||||
"Slew Limiter", | |||||
"Switch", | |||||
"Synth Voice", | |||||
"Tuner", | |||||
"Utility", | |||||
"Visual", | |||||
"Waveshaper", | |||||
}; | |||||
static bool isDownloading = false; | static bool isDownloading = false; | ||||
static float downloadProgress = 0.0; | static float downloadProgress = 0.0; | ||||
@@ -293,6 +247,7 @@ static void refreshPurchase(json_t *pluginJ) { | |||||
//////////////////// | //////////////////// | ||||
void pluginInit() { | void pluginInit() { | ||||
tagsInit(); | |||||
// Load core | // Load core | ||||
// This function is defined in core.cpp | // This function is defined in core.cpp | ||||
Plugin *coreManufacturer = new Plugin(); | Plugin *coreManufacturer = new Plugin(); | ||||
@@ -0,0 +1,64 @@ | |||||
#include "tags.hpp" | |||||
namespace rack { | |||||
std::string gTagNames[NUM_TAGS]; | |||||
void tagsInit() { | |||||
gTagNames[AMPLIFIER_TAG] = "Amplifier/VCA"; | |||||
gTagNames[ATTENUATOR_TAG] = "Attenuator"; | |||||
gTagNames[BLANK_TAG] = "Blank"; | |||||
gTagNames[CHORUS_TAG] = "Chorus"; | |||||
gTagNames[CLOCK_TAG] = "Clock"; | |||||
gTagNames[COMPRESSOR_TAG] = "Compressor"; | |||||
gTagNames[CONTROLLER_TAG] = "Controller"; | |||||
gTagNames[DELAY_TAG] = "Delay"; | |||||
gTagNames[DIGITAL_TAG] = "Digital"; | |||||
gTagNames[DISTORTION_TAG] = "Distortion"; | |||||
gTagNames[DRUM_TAG] = "Drum"; | |||||
gTagNames[DUAL_TAG] = "Dual/Stereo"; | |||||
gTagNames[DYNAMICS_TAG] = "Dynamics"; | |||||
gTagNames[EFFECT_TAG] = "Effect"; | |||||
gTagNames[ENVELOPE_FOLLOWER_TAG] = "Envelope Follower"; | |||||
gTagNames[ENVELOPE_GENERATOR_TAG] = "Envelope Generator"; | |||||
gTagNames[EQUALIZER_TAG] = "Equalizer"; | |||||
gTagNames[EXTERNAL_TAG] = "External"; | |||||
gTagNames[FILTER_TAG] = "Filter/VCF"; | |||||
gTagNames[FLANGER_TAG] = "Flanger"; | |||||
gTagNames[FUNCTION_GENERATOR_TAG] = "Function Generator"; | |||||
gTagNames[GRANULAR_TAG] = "Granular"; | |||||
gTagNames[LFO_TAG] = "LFO"; | |||||
gTagNames[LIMITER_TAG] = "Limiter"; | |||||
gTagNames[LOGIC_TAG] = "Logic"; | |||||
gTagNames[LOW_PASS_GATE_TAG] = "Low Pass Gate"; | |||||
gTagNames[MIDI_TAG] = "MIDI"; | |||||
gTagNames[MIXER_TAG] = "Mixer"; | |||||
gTagNames[MULTIPLE_TAG] = "Multiple"; | |||||
gTagNames[NOISE_TAG] = "Noise"; | |||||
gTagNames[OSCILLATOR_TAG] = "Oscillator/VCO"; | |||||
gTagNames[PANNING_TAG] = "Panning"; | |||||
gTagNames[PHASER_TAG] = "Phaser"; | |||||
gTagNames[QUAD_TAG] = "Quad"; | |||||
gTagNames[QUANTIZER_TAG] = "Quantizer"; | |||||
gTagNames[RANDOM_TAG] = "Random"; | |||||
gTagNames[RECORDING_TAG] = "Recording"; | |||||
gTagNames[REVERB_TAG] = "Reverb"; | |||||
gTagNames[RING_MODULATOR_TAG] = "Ring Modulator"; | |||||
gTagNames[SAMPLE_AND_HOLD_TAG] = "Sample and Hold"; | |||||
gTagNames[SAMPLER_TAG] = "Sampler"; | |||||
gTagNames[SEQUENCER_TAG] = "Sequencer"; | |||||
gTagNames[SLEW_LIMITER_TAG] = "Slew Limiter"; | |||||
gTagNames[SWITCH_TAG] = "Switch"; | |||||
gTagNames[SYNTH_VOICE_TAG] = "Synth Voice"; | |||||
gTagNames[TUNER_TAG] = "Tuner"; | |||||
gTagNames[UTILITY_TAG] = "Utility"; | |||||
gTagNames[VISUAL_TAG] = "Visual"; | |||||
gTagNames[VOCODER_TAG] = "Vocoder"; | |||||
gTagNames[WAVESHAPER_TAG] = "Waveshaper"; | |||||
} | |||||
} // namespace rack |