|
|
|
#ifndef _MIDI_EFFECTS_H
|
|
|
|
#define _MIDI_EFFECTS_H
|
|
|
|
|
|
|
|
#include "effect_midi/midi_effect_base.h"
|
|
|
|
#include "effect_midi/midi_arp.h"
|
|
|
|
|
|
|
|
class MidiEffects
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum Types
|
|
|
|
{
|
|
|
|
NONE = MidiEffect::ID,
|
|
|
|
ARP = MidiArp::ID,
|
|
|
|
UNKNOWN
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
inline MidiEffect* newMidiEffect(unsigned type, float32_t samplerate, CDexedAdapter* synth)
|
|
|
|
{
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case MidiEffects::Types::ARP:
|
|
|
|
return new MidiArp(samplerate, synth);
|
|
|
|
default:
|
|
|
|
return new MidiEffect(samplerate, synth);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
inline std::string getMidiFXTypeName(int type)
|
|
|
|
{
|
|
|
|
switch (type)
|
|
|
|
{
|
|
|
|
case MidiEffects::Types::ARP:
|
|
|
|
return MidiArp::NAME;
|
|
|
|
case MidiEffects::Types::NONE:
|
|
|
|
default:
|
|
|
|
return MidiEffect::NAME;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
inline std::string ToMidiFXType (int value)
|
|
|
|
{
|
|
|
|
return getMidiFXTypeName(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline std::string ToArpDivision (int value)
|
|
|
|
{
|
|
|
|
switch (value)
|
|
|
|
{
|
|
|
|
case MidiArp::Division::D_1_1:
|
|
|
|
return "1/1";
|
|
|
|
case MidiArp::Division::D_1_2:
|
|
|
|
return "1/2";
|
|
|
|
case MidiArp::Division::D_1_3:
|
|
|
|
return "1/3";
|
|
|
|
case MidiArp::Division::D_1_4:
|
|
|
|
return "1/4";
|
|
|
|
case MidiArp::Division::D_1_4D:
|
|
|
|
return "1/4.";
|
|
|
|
case MidiArp::Division::D_1_4T:
|
|
|
|
return "1/4T";
|
|
|
|
case MidiArp::Division::D_1_8:
|
|
|
|
return "1/8";
|
|
|
|
case MidiArp::Division::D_1_8D:
|
|
|
|
return "1/8.";
|
|
|
|
case MidiArp::Division::D_1_8T:
|
|
|
|
return "1/8T";
|
|
|
|
case MidiArp::Division::D_1_16:
|
|
|
|
return "1/16";
|
|
|
|
case MidiArp::Division::D_1_16D:
|
|
|
|
return "1/16.";
|
|
|
|
case MidiArp::Division::D_1_16T:
|
|
|
|
return "1/16T";
|
|
|
|
case MidiArp::Division::D_1_32:
|
|
|
|
default:
|
|
|
|
return "1/32";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
inline std::string ToArpMode (int value)
|
|
|
|
{
|
|
|
|
switch (value)
|
|
|
|
{
|
|
|
|
case MidiArp::Mode::UP:
|
|
|
|
return "Up";
|
|
|
|
case MidiArp::Mode::DOWN:
|
|
|
|
return "Down";
|
|
|
|
case MidiArp::Mode::UP_DOWN:
|
|
|
|
return "Up-Down";
|
|
|
|
case MidiArp::Mode::UP_DOWN_ALT:
|
|
|
|
return "Up-Down Alt";
|
|
|
|
case MidiArp::Mode::PLAYED:
|
|
|
|
return "Played";
|
|
|
|
case MidiArp::Mode::RANDOM:
|
|
|
|
default:
|
|
|
|
return "Random";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
inline std::string ToArpOctMode (int value)
|
|
|
|
{
|
|
|
|
switch (value)
|
|
|
|
{
|
|
|
|
case MidiArp::OctMode::OM_UP:
|
|
|
|
return "Up";
|
|
|
|
case MidiArp::OctMode::OM_DOWN:
|
|
|
|
return "Down";
|
|
|
|
case MidiArp::OctMode::OM_UP_DOWN:
|
|
|
|
return "Up-Down";
|
|
|
|
case MidiArp::OctMode::OM_DOWN_UP:
|
|
|
|
return "Down-Up";
|
|
|
|
case MidiArp::OctMode::OM_UP_CYCLE:
|
|
|
|
default:
|
|
|
|
return "Up-Cycle";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // _MIDI_EFFECTS_H
|