diff options
author | RJ Ryan <rryan@mixxx.org> | 2014-03-27 10:54:41 -0400 |
---|---|---|
committer | RJ Ryan <rryan@mixxx.org> | 2014-03-29 02:40:30 -0400 |
commit | 5583f2c5eb901a32f5b13d4d5aed7bd1ba22b65d (patch) | |
tree | 353e44ce42725bbbf372cf1d71c17ace233e1433 | |
parent | 144f016137306359181f3014ff5fc5704373c030 (diff) |
Add MidiUtils class for holding random utility methods, translation strings.
-rw-r--r-- | build/depends.py | 1 | ||||
-rw-r--r-- | src/controllers/midi/midiutils.cpp | 61 | ||||
-rw-r--r-- | src/controllers/midi/midiutils.h | 14 |
3 files changed, 76 insertions, 0 deletions
diff --git a/build/depends.py b/build/depends.py index 75bae17621..e0e72c916b 100644 --- a/build/depends.py +++ b/build/depends.py @@ -648,6 +648,7 @@ class MixxxCore(Feature): "controllers/controllerpresetinfo.cpp", "controllers/controlpickermenu.cpp", "controllers/learningutils.cpp", + "controllers/midi/midiutils.cpp", "controllers/midi/midicontroller.cpp", "controllers/midi/midicontrollerpresetfilehandler.cpp", "controllers/midi/midienumerator.cpp", diff --git a/src/controllers/midi/midiutils.cpp b/src/controllers/midi/midiutils.cpp new file mode 100644 index 0000000000..93abb552f9 --- /dev/null +++ b/src/controllers/midi/midiutils.cpp @@ -0,0 +1,61 @@ +#include "controllers/midi/midiutils.h" + +// static +QString MidiUtils::opCodeToTranslatedString(MidiOpCode code) { + if (code < 0x00 || code > 0xFF) { + return QObject::tr("Invalid"); + } + switch (code) { + case MIDI_NOTE_ON: + return QObject::tr("Note On"); + case MIDI_NOTE_OFF: + return QObject::tr("Note Off"); + case MIDI_CC: + return QObject::tr("CC"); + case MIDI_PITCH_BEND: + return QObject::tr("Pitch Bend"); + default: + return QObject::tr("Unknown (0x%1)").arg( + code, 2, 16, QLatin1Char('0')); + } +} + +// static +QString MidiUtils::formatByte(unsigned char value) { + // Construct a hex string formatted like 0xFF. + return QString("0x") + QString("%1") + .arg(value, 2, 16, QLatin1Char('0')).toUpper(); +} + +// static +QString MidiUtils::midiOptionToTranslatedString(MidiOption option) { + switch (option) { + case MIDI_OPTION_INVERT: + return QObject::tr("Invert"); + case MIDI_OPTION_ROT64: + return QObject::tr("Rot64"); + case MIDI_OPTION_ROT64_INV: + return QObject::tr("Rot64Inv"); + case MIDI_OPTION_ROT64_FAST: + return QObject::tr("Rot64Fast"); + case MIDI_OPTION_DIFF: + return QObject::tr("Diff"); + case MIDI_OPTION_BUTTON: + return QObject::tr("Button"); + case MIDI_OPTION_SWITCH: + return QObject::tr("Switch"); + case MIDI_OPTION_SPREAD64: + return QObject::tr("Spread64"); + case MIDI_OPTION_HERC_JOG: + return QObject::tr("HercJog"); + case MIDI_OPTION_SELECTKNOB: + return QObject::tr("SelectKnob"); + case MIDI_OPTION_SOFT_TAKEOVER: + return QObject::tr("SoftTakeover"); + case MIDI_OPTION_SCRIPT: + return QObject::tr("Script"); + default: + return QObject::tr("Unknown (0x%1)") + .arg(option, 4, 16, QLatin1Char('0')); + } +} diff --git a/src/controllers/midi/midiutils.h b/src/controllers/midi/midiutils.h new file mode 100644 index 0000000000..dbcc9a4009 --- /dev/null +++ b/src/controllers/midi/midiutils.h @@ -0,0 +1,14 @@ +#ifndef MIDIUTILS_H +#define MIDIUTILS_H + +#include "controllers/midi/midimessage.h" + +class MidiUtils { + public: + static QString opCodeToTranslatedString(MidiOpCode code); + static QString formatByte(unsigned char value); + static QString midiOptionToTranslatedString(MidiOption option); +}; + + +#endif /* MIDIUTILS_H */ |