uMIDI
The swiss army knife for quick and easy developement of MIDI applications.
Enumerations | Functions
whammy.h File Reference

Whammy module API. More...

#include <stdint.h>
#include "lib/gpio.h"
#include "lib/wave.h"
Include dependency graph for whammy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  whammy_note {
  WHAMMY_NOTE_UNISON = 0, WHAMMY_NOTE_MINOR_SECOND = 13, WHAMMY_NOTE_MAJOR_SECOND = 24, WHAMMY_NOTE_MINOR_THIRD = 32,
  WHAMMY_NOTE_MAJOR_THIRD = 42, WHAMMY_NOTE_PERFECT_FOURTH = 52, WHAMMY_NOTE_TRITONE = 63, WHAMMY_NOTE_PERFECT_FIFTH = 74,
  WHAMMY_NOTE_MINOR_SIXTH = 84, WHAMMY_NOTE_MAJOR_SIXTH = 95, WHAMMY_NOTE_MINOR_SEVENTH = 106, WHAMMY_NOTE_MAJOR_SEVENTH = 116,
  WHAMMY_NOTE_OCTAVE = 127, WHAMMY_NOTE_1ST_MINOR_SECOND = 5, WHAMMY_NOTE_1ST_MAJOR_SECOND = 10, WHAMMY_NOTE_1ST_MINOR_THIRD = 16,
  WHAMMY_NOTE_1ST_MAJOR_THIRD = 21, WHAMMY_NOTE_1ST_PERFECT_FOURTH = 26, WHAMMY_NOTE_1ST_TRITONE = 32, WHAMMY_NOTE_1ST_PERFECT_FIFTH = 37,
  WHAMMY_NOTE_1ST_MINOR_SIXTH = 42, WHAMMY_NOTE_1ST_MAJOR_SIXTH = 48, WHAMMY_NOTE_1ST_MINOR_SEVENTH = 53, WHAMMY_NOTE_1ST_MAJOR_SEVENTH = 58,
  WHAMMY_NOTE_1ST_OCTAVE = 63, WHAMMY_NOTE_2ND_MINOR_SECOND = 69, WHAMMY_NOTE_2ND_MAJOR_SECOND = 74, WHAMMY_NOTE_2ND_MINOR_THIRD = 79,
  WHAMMY_NOTE_2ND_MAJOR_THIRD = 85, WHAMMY_NOTE_2ND_PERFECT_FOURTH = 90, WHAMMY_NOTE_2ND_TRITONE = 95, WHAMMY_NOTE_2ND_PERFECT_FIFTH = 100,
  WHAMMY_NOTE_2ND_MINOR_SIXTH = 106, WHAMMY_NOTE_2ND_MAJOR_SIXTH = 111, WHAMMY_NOTE_2ND_MINOR_SEVENTH = 117, WHAMMY_NOTE_2ND_MAJOR_SEVENTH = 122,
  WHAMMY_NOTE_2ND_OCTAVE = 127
}
 Amplitudes that represent certain intervals on a DigiTech Whammy pedal. More...
 

Functions

bool exec_pattern (const char *command)
 
bool exec_speed (const char *command)
 
bool exec_tap (const char *command)
 
void decrease_speed (void)
 
void increase_speed (void)
 
void init_whammy_module (void)
 
void select_next_pattern (void)
 
void select_previous_pattern (void)
 
void tap_tempo (void)
 
void toggle_sequencing (void)
 

Detailed Description

Whammy module API.

Enumeration Type Documentation

◆ whammy_note

Amplitudes that represent certain intervals on a DigiTech Whammy pedal.

Enumerator
WHAMMY_NOTE_UNISON 

Unison, valid in every mode.

WHAMMY_NOTE_MINOR_SECOND 

Minor second in 1oct mode.

WHAMMY_NOTE_MAJOR_SECOND 

Major second in 1oct mode.

WHAMMY_NOTE_MINOR_THIRD 

Minor third in 1oct mode.

WHAMMY_NOTE_MAJOR_THIRD 

Major third in 1oct mode.

WHAMMY_NOTE_PERFECT_FOURTH 

Perfect fourth in 1oct mode.

WHAMMY_NOTE_TRITONE 

Tritone in 1oct mode.

WHAMMY_NOTE_PERFECT_FIFTH 

Perfect fifth in 1oct mode.

WHAMMY_NOTE_MINOR_SIXTH 

Minor sixth in 1oct mode.

WHAMMY_NOTE_MAJOR_SIXTH 

Major sixth in 1oct mode.

WHAMMY_NOTE_MINOR_SEVENTH 

Minor seventh in 1oct mode.

WHAMMY_NOTE_MAJOR_SEVENTH 

Major seventh in 1oct mode.

WHAMMY_NOTE_OCTAVE 

Octave in 1oct mode.

WHAMMY_NOTE_1ST_MINOR_SECOND 

First minor second in 2oct mode.

WHAMMY_NOTE_1ST_MAJOR_SECOND 

First major second in 2oct mode.

WHAMMY_NOTE_1ST_MINOR_THIRD 

First minor third in 2oct mode.

WHAMMY_NOTE_1ST_MAJOR_THIRD 

First major third in 2oct mode.

WHAMMY_NOTE_1ST_PERFECT_FOURTH 

First perfect fourth in 2oct mode.

WHAMMY_NOTE_1ST_TRITONE 

First tritone in 2oct mode.

WHAMMY_NOTE_1ST_PERFECT_FIFTH 

First perfect fifth in 2oct mode.

WHAMMY_NOTE_1ST_MINOR_SIXTH 

First minor sixth in 2oct mode.

WHAMMY_NOTE_1ST_MAJOR_SIXTH 

First major sixth in 2oct mode.

WHAMMY_NOTE_1ST_MINOR_SEVENTH 

First minor seventh in 2oct mode.

WHAMMY_NOTE_1ST_MAJOR_SEVENTH 

First major seventh in 2oct mode.

WHAMMY_NOTE_1ST_OCTAVE 

First octave in 2oct mode.

WHAMMY_NOTE_2ND_MINOR_SECOND 

Second minor second in 2oct mode.

WHAMMY_NOTE_2ND_MAJOR_SECOND 

Second major second in 2oct mode.

WHAMMY_NOTE_2ND_MINOR_THIRD 

Second minor third in 2oct mode.

WHAMMY_NOTE_2ND_MAJOR_THIRD 

Second major third in 2oct mode.

WHAMMY_NOTE_2ND_PERFECT_FOURTH 

Second perfect fourth in 2oct mode.

WHAMMY_NOTE_2ND_TRITONE 

Second tritone in 2oct mode.

WHAMMY_NOTE_2ND_PERFECT_FIFTH 

Second perfect fifth in 2oct mode.

WHAMMY_NOTE_2ND_MINOR_SIXTH 

Second minor sixth in 2oct mode.

WHAMMY_NOTE_2ND_MAJOR_SIXTH 

Second major sixth in 2oct mode.

WHAMMY_NOTE_2ND_MINOR_SEVENTH 

Second minor seventh in 2oct mode.

WHAMMY_NOTE_2ND_MAJOR_SEVENTH 

Second major seventh in 2oct mode.

WHAMMY_NOTE_2ND_OCTAVE 

Second octave in 2oct mode.

Function Documentation

◆ decrease_speed()

void decrease_speed ( void  )

◆ exec_pattern()

bool exec_pattern ( const char *  command)

◆ exec_speed()

bool exec_speed ( const char *  command)

◆ exec_tap()

bool exec_tap ( const char *  command)

◆ increase_speed()

void increase_speed ( void  )

◆ init_whammy_module()

void init_whammy_module ( void  )

◆ select_next_pattern()

void select_next_pattern ( void  )

◆ select_previous_pattern()

void select_previous_pattern ( void  )

◆ tap_tempo()

void tap_tempo ( void  )

◆ toggle_sequencing()

void toggle_sequencing ( void  )