#include "utils.hh" using namespace daisy; namespace Heck { void GetMidiTypeAsString(MidiEvent& msg, char* str) { switch (msg.type) { case NoteOff: strcpy(str, "NoteOff"); break; case NoteOn: strcpy(str, "NoteOn"); break; case PolyphonicKeyPressure: strcpy(str, "PolyKeyPres."); break; case ControlChange: strcpy(str, "CC"); break; case ProgramChange: strcpy(str, "Prog. Change"); break; case ChannelPressure: strcpy(str, "Chn. Pressure"); break; case PitchBend: strcpy(str, "PitchBend"); break; case SystemCommon: strcpy(str, "Sys. Common"); break; case SystemRealTime: strcpy(str, "Sys. Realtime"); break; case ChannelMode: strcpy(str, "Chn. Mode"); break; default: strcpy(str, "Unknown"); break; } } void GetMidiRTTypeAsString(MidiEvent& msg, char* str) { switch (msg.srt_type) { case TimingClock: strcpy(str, "TimingClock"); break; case SRTUndefined0: strcpy(str, "SRTUndefined0"); break; case Start: strcpy(str, "Start"); break; case Continue: strcpy(str, "Continue"); break; case Stop: strcpy(str, "Stop"); break; case SRTUndefined1: strcpy(str, "SRTUndefined1"); break; case ActiveSensing: strcpy(str, "ActiveSensing"); break; case Reset: strcpy(str, "Reset"); break; case SystemRealTimeLast: strcpy(str, "SystemRealTimeLast"); break; default: strcpy(str, "Unknown"); break; } } float scalen_min_max(float val, float min, float max) { float range = max - min; float ret = min + (val * range); return ret; } float scalen_center_range(float val, float center, float range) { float min = center - (range / 2); float ret = min + (val * range); return ret; } } // namespace Heck