Browse Source

lib tunes: Add string input method

sbg
Simone Guscetti 8 years ago committed by Daniel Agar
parent
commit
79ae413982
  1. 11
      src/lib/tunes/tunes.cpp
  2. 1
      src/lib/tunes/tunes.h

11
src/lib/tunes/tunes.cpp

@ -140,6 +140,17 @@ int Tunes::parse_cmd(struct tune_control_s &tune_control, unsigned &frequency, u @@ -140,6 +140,17 @@ int Tunes::parse_cmd(struct tune_control_s &tune_control, unsigned &frequency, u
return continue_sequnece;
}
int Tunes::parse_string(const char *string, unsigned &frequency, unsigned &duration, unsigned &silence)
{
// set tune string the first time
if (_tune == nullptr) {
_tune = string;
_next = _tune;
}
return next_note(frequency, duration, silence);
}
unsigned Tunes::note_to_frequency(unsigned note)
{
// compute the frequency (Hz)

1
src/lib/tunes/tunes.h

@ -54,6 +54,7 @@ public: @@ -54,6 +54,7 @@ public:
Tunes(unsigned tempo, unsigned octave, unsigned note_length, NoteMode mode);
~Tunes() = default;
int parse_cmd(tune_control_s &tune_control, unsigned &frequency, unsigned &duration, unsigned &silence);
int parse_string(const char *string, unsigned &frequency, unsigned &duration, unsigned &silence);
private:
static const unsigned _tune_max = 1024 * 8; // be reasonable about user tunes

Loading…
Cancel
Save