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;
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;
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;
}
}
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_center_range(float val, float center, float range)
{
float min = center - (range / 2);
float ret = min + (val * range);
return ret;
}
}
} // namespace Heck

8
src/utils.hh

@ -4,8 +4,12 @@
#include "daisy_seed.h"
#include "globals.hh"
void GetMidiTypeAsString(daisy::MidiEvent& msg, char* str);
void GetMidiRTTypeAsString(daisy::MidiEvent& msg, char* str);
namespace Heck {
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
Loading…
Cancel
Save