Browse Source

utils - add nomalized scaling functions / move into namespace Heck

main
heck 7 months ago
parent
commit
8c37b46d82
  1. 160
      src/utils.cc
  2. 8
      src/utils.hh

160
src/utils.cc

@ -2,77 +2,95 @@
using namespace daisy; using namespace daisy;
void GetMidiTypeAsString(MidiEvent& msg, char* str) namespace Heck {
{
switch (msg.type) { void GetMidiTypeAsString(MidiEvent& msg, char* str)
case NoteOff: {
strcpy(str, "NoteOff"); switch (msg.type) {
break; case NoteOff:
case NoteOn: strcpy(str, "NoteOff");
strcpy(str, "NoteOn"); break;
break; case NoteOn:
case PolyphonicKeyPressure: strcpy(str, "NoteOn");
strcpy(str, "PolyKeyPres."); break;
break; case PolyphonicKeyPressure:
case ControlChange: strcpy(str, "PolyKeyPres.");
strcpy(str, "CC"); break;
break; case ControlChange:
case ProgramChange: strcpy(str, "CC");
strcpy(str, "Prog. Change"); break;
break; case ProgramChange:
case ChannelPressure: strcpy(str, "Prog. Change");
strcpy(str, "Chn. Pressure"); break;
break; case ChannelPressure:
case PitchBend: strcpy(str, "Chn. Pressure");
strcpy(str, "PitchBend"); break;
break; case PitchBend:
case SystemCommon: strcpy(str, "PitchBend");
strcpy(str, "Sys. Common"); break;
break; case SystemCommon:
case SystemRealTime: strcpy(str, "Sys. Common");
strcpy(str, "Sys. Realtime"); break;
break; case SystemRealTime:
case ChannelMode: strcpy(str, "Sys. Realtime");
strcpy(str, "Chn. Mode"); break;
break; case ChannelMode:
default: strcpy(str, "Chn. Mode");
strcpy(str, "Unknown"); break;
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;
} }
}
void GetMidiRTTypeAsString(MidiEvent& msg, char* str) float scalen_center_range(float val, float center, float range)
{ {
switch (msg.srt_type) { float min = center - (range / 2);
case TimingClock: float ret = min + (val * range);
strcpy(str, "TimingClock"); return ret;
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;
} }
} } // namespace Heck

8
src/utils.hh

@ -4,8 +4,12 @@
#include "daisy_seed.h" #include "daisy_seed.h"
#include "globals.hh" #include "globals.hh"
void GetMidiTypeAsString(daisy::MidiEvent& msg, char* str); namespace Heck {
void GetMidiRTTypeAsString(daisy::MidiEvent& msg, char* str); void GetMidiTypeAsString(daisy::MidiEvent& msg, char* str);
void GetMidiRTTypeAsString(daisy::MidiEvent& msg, char* str);
float scalen_min_max(float val, float min, float max);
float scalen_center_range(float val, float center, float range);
} // namespace Heck
#endif // HECK_DAISY_UTILS_HH #endif // HECK_DAISY_UTILS_HH
Loading…
Cancel
Save