Skip to content

Commit 6c19abc

Browse files
authored
Make loaded effects a bit easier to manage (#63)
* Make loaded effects a bit easier to manage (no renumbering)
1 parent bc6bfd6 commit 6c19abc

File tree

1 file changed

+46
-40
lines changed

1 file changed

+46
-40
lines changed

Software/GuitarPedal/loaded_effects.h

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
#define LOADED_EFFECTS_H
66
#pragma once
77

8+
#include "Effect-Modules/base_effect_module.h"
9+
10+
// Include all effect modules
811
#include "Effect-Modules/autopan_module.h"
912
#include "Effect-Modules/chopper_module.h"
1013
#include "Effect-Modules/chorus_module.h"
@@ -18,12 +21,11 @@
1821
#include "Effect-Modules/overdrive_module.h"
1922
#include "Effect-Modules/peq_module.h"
2023
// #include "Effect-Modules/pitch_shifter_module.h" // Commented out to make room in DTCRAM
21-
#include "Effect-Modules/reverb_module.h"
22-
#include "Effect-Modules/tuner_module.h"
23-
2424
#include "Effect-Modules/amp_module.h"
2525
#include "Effect-Modules/cloudseed_module.h" // Takes up significant SDRAM (about 30%)
2626
#include "Effect-Modules/nam_module.h"
27+
#include "Effect-Modules/reverb_module.h"
28+
#include "Effect-Modules/tuner_module.h"
2729
// #include "Effect-Modules/midi_keys_module.h"
2830
#include "Effect-Modules/delay_module.h"
2931
// #include "Effect-Modules/pluckecho_module.h"
@@ -32,46 +34,50 @@
3234
#include "Effect-Modules/polyoctave_module.h"
3335
#include "Effect-Modules/scifi_module.h"
3436
#include "Effect-Modules/spectral_delay_module.h"
35-
#include "Effect-Modules/spectral_delay_module.h"
36-
//#include "Effect-Modules/fm_keys_module.h"
37+
// #include "Effect-Modules/fm_keys_module.h"
3738
#include "Effect-Modules/granulardelay_module.h"
3839

3940
void load_effects(int &availableEffectsCount, BaseEffectModule **&availableEffects) {
40-
// Make sure this count matches the maxindex - 1 (count) of effects that get
41-
// added to the array
42-
availableEffectsCount = 23;
43-
availableEffects = new BaseEffectModule *[availableEffectsCount];
44-
availableEffects[0] = new ModulatedTremoloModule();
45-
availableEffects[1] = new OverdriveModule();
46-
availableEffects[2] = new AutoPanModule();
47-
availableEffects[3] = new ChorusModule();
48-
availableEffects[4] = new ChopperModule();
49-
availableEffects[5] = new ReverbModule();
50-
availableEffects[6] = new MultiDelayModule();
51-
availableEffects[7] = new MetroModule();
52-
availableEffects[8] = new TunerModule();
53-
// availableEffects[9] = new PitchShifterModule();
54-
availableEffects[9] = new CompressorModule();
55-
availableEffects[10] = new LooperModule();
56-
availableEffects[11] = new GraphicEQModule();
57-
availableEffects[12] = new ParametricEQModule();
58-
availableEffects[13] = new NoiseGateModule();
41+
// clang-format off
42+
static BaseEffectModule* effectList[] = {
43+
new ModulatedTremoloModule(),
44+
new OverdriveModule(),
45+
new AutoPanModule(),
46+
new ChorusModule(),
47+
new ChopperModule(),
48+
new ReverbModule(),
49+
new MultiDelayModule(),
50+
new MetroModule(),
51+
new TunerModule(),
52+
// new PitchShifterModule(),
53+
new CompressorModule(),
54+
new LooperModule(),
55+
new GraphicEQModule(),
56+
new ParametricEQModule(),
57+
new NoiseGateModule(),
58+
new CloudSeedModule(),
59+
new AmpModule(),
60+
new DelayModule(),
61+
new NamModule(),
62+
new SciFiModule(),
63+
new PolyOctaveModule(),
64+
new SpectralDelayModule(),
65+
new DistortionModule(),
66+
new GranularDelayModule(),
5967

60-
availableEffects[14] = new CloudSeedModule();
61-
availableEffects[15] = new AmpModule();
62-
availableEffects[16] = new DelayModule();
63-
availableEffects[17] = new NamModule();
64-
availableEffects[18] = new SciFiModule();
65-
availableEffects[19] = new PolyOctaveModule();
66-
availableEffects[20] = new SpectralDelayModule();
67-
availableEffects[21] = new DistortionModule();
68-
availableEffects[22] = new GranularDelayModule();
69-
// The following require a MIDI keyboard
70-
// availableEffects[23] = new MidiKeysModule();
71-
// availableEffects[24] = new PluckEchoModule();
72-
// availableEffects[25] = new StringKeysModule();
73-
// availableEffects[26] = new ModalKeysModule();
74-
// availableEffects[22] = new FmKeysModule();
68+
// The following require a MIDI keyboard
69+
// new MidiKeysModule(),
70+
// new PluckEchoModule(),
71+
// new StringKeysModule(),
72+
// new ModalKeysModule()
73+
};
74+
// clang-format on
75+
76+
availableEffectsCount = sizeof(effectList) / sizeof(effectList[0]);
77+
availableEffects = new BaseEffectModule *[availableEffectsCount];
78+
for (int i = 0; i < availableEffectsCount; ++i) {
79+
availableEffects[i] = effectList[i];
80+
}
7581
}
7682

77-
#endif
83+
#endif

0 commit comments

Comments
 (0)