for the one listed below. Seems to work fine at least in the first octave. Playing a little I realize the right-hand pinky is too far away for this configuration. This means that I may make a PCB version with the last sensor closer. But this is a project for the future. I want to thank you for making the software/hardware open.
Code: Select all
const struct gaita_explicit_entry gaita_explicit[256]PROGMEM = { //general fingering pattern for each MIDI note. In this case, the index (position from right) of the leftmost uncovered hole is used to determine the MIDI note. This way all other holes below that one are ignored.
{75}, //00000000 C
{75}, //00000001
{75}, //00000010 C
{75}, //00000011
{75}, //00000100
{75}, //00000101
{75}, //00000110
{75}, //00000111
{75}, //00001000
{75}, //00001001 C
{75}, //00001010
{75}, //00001011
{75}, //00001100
{75}, //00001101
{75}, //00001110
{74}, //00001111 B
{75}, //00010000
{75}, //00010001
{75}, //00010010
{75}, //00010011
{75}, //00010100
{75}, //00010101
{75}, //00010110
{75}, //00010111
{75}, //00011000
{75}, //00011001
{75}, //00011010
{75}, //00011011
{75}, //00011100
{75}, //00011101
{75}, //00011110
{75}, //00011111
{75}, //00100000
{75}, //00100001
{75}, //00100010
{75}, //00100011
{75}, //00100100
{75}, //00100101
{75}, //00100110
{75}, //00100111
{75}, //00101000
{75}, //00101001
{75}, //00101010
{73}, //00101011 A#
{73}, //00101100
{73}, //00101101
{73}, //00101110
{73}, //00101111
{80}, //00110000 F
{74}, //00110001 B
{74}, //00110010
{74}, //00110011
{74}, //00110100
{74}, //00110101
{74}, //00110110
{74}, //00110111
{79}, //00111000 E
{74}, //00111001
{78}, //00111010 D#
{74}, //00111011
{77}, //00111100 D
{74}, //00111101
{75}, //00111110
{74}, //00111111 B
{84}, //01000000 A
{84}, //01000001 A
{84}, //01000010 A
{73}, //01000011 A#
{73}, //01000100
{73}, //01000101
{84}, //01000110 A
{84}, //01000111
{84}, //01001000
{74}, //01001001 B
{74}, //01001010
{74}, //01001011
{74}, //01001100 B
{74}, //01001101
{74}, //01001110
{74}, //01001111 B
{83}, //01010000 G#
{83}, //01010001
{83}, //01010010
{83}, //01010011
{83}, //01010100 G#
{83}, //01010101
{83}, //01010110
{75}, //01010111 C
{75}, //01011000
{75}, //01011001
{75}, //01011010
{75}, //01011011
{75}, //01011100
{75}, //01011101
{83}, //01011110 G#
{75}, //01011111
{82}, //01100000 G
{82}, //01100001 G
{82}, //01100010 G
{82}, //01100011 G
{82}, //01100100
{82}, //01100101
{82}, //01100110
{82}, //01100111
{82}, //01101000
{82}, //01101001 G
{82}, //01101010
{82}, //01101011
{81}, //01101100 F#
{81}, //01101101
{81}, //01101110
{82}, //01101111 G
{80}, //01110000 F
{80}, //01110001 F
{80}, //01110010 F
{80}, //01110011
{80}, //01110100
{80}, //01110101
{80}, //01110110 F
{80}, //01110111 F
{79}, //01111000 E
{79}, //01111001 E
{79}, //01111010 E
{79}, //01111011 E
{77}, //01111100 D
{76}, //01111101 C#
{75}, //01111110 C
{75}, //01111111 C
{73}, //10000000 A#/Bb
{73}, //10000001
{73}, //10000010
{73}, //10000011
{73}, //10000100
{73}, //10000101
{73}, //10000110
{73}, //10000111
{73}, //10001000
{73}, //10001001
{73}, //10001010
{73}, //10001011
{73}, //10001100
{73}, //10001101
{73}, //10001110
{73}, //10001111 A#
{73}, //10010000
{73}, //10010001
{73}, //10010010
{73}, //10010011
{73}, //10010100
{73}, //10010101
{73}, //10010110
{73}, //10010111
{73}, //10011000
{73}, //10011001
{73}, //10011010
{73}, //10011011
{73}, //10011100
{73}, //10011101
{73}, //10011110
{73}, //10011111
{73}, //10100000 A#
{73}, //10100001 A#
{73}, //10100010 A#
{73}, //10100011 A#
{73}, //10100100 A#
{73}, //10100101 A#
{73}, //10100110 A#
{73}, //10100111 A#
{73}, //10101000 A#
{73}, //10101001 A#
{73}, //10101010 A#
{73}, //10101011
{73}, //10101100 A#
{73}, //10101101 A#
{73}, //10101110 A#
{73}, //10101111 A#
{73}, //10110000
{73}, //10110001
{73}, //10110010
{73}, //10110011
{73}, //10110100
{73}, //10110101
{73}, //10110110
{73}, //10110111 A#
{73}, //10111000
{73}, //10111001 A#
{73}, //10111010 A#
{73}, //10111011 A#
{73}, //10111100 A#
{73}, //10111101
{73}, //10111110 A#
{73}, //10111111 A#
{72}, //11000000 A
{72}, //11000001 A
{72}, //11000010 A
{72}, //11000011 A
{72}, //11000100
{72}, //11000101
{72}, //11000110 A
{72}, //11000111
{72}, //11001000
{72}, //11001001 A
{72}, //11001010 A
{72}, //11001011
{72}, //11001100
{72}, //11001101
{72}, //11001110 A
{72}, //11001111 A
{71}, //11010000 G#
{74}, //11010001 B
{71}, //11010010 G#
{71}, //11010011 G#
{71}, //11010100
{71}, //11010101
{71}, //11010110 G#
{71}, //11010111
{71}, //11011000
{71}, //11011001 G#
{71}, //11011010 G#
{71}, //11011011
{71}, //11011100
{71}, //11011101
{71}, //11011110 G#
{71}, //11011111 G#
{70}, //11100000 G
{70}, //11100001 G
{70}, //11100010 G
{70}, //11100011
{70}, //11100100
{70}, //11100101 G
{70}, //11100110 G
{70}, //11100111 G
{69}, //11101000 F#
{70}, //11101001 G
{70}, //11101010 G
{70}, //11101011
{69}, //11101100 F#
{69}, //11101101
{70}, //11101110 G
{70}, //11101111
{68}, //11110000 F
{68}, //11110001 F
{68}, //11110010 F
{68}, //11110011 F
{68}, //11110100
{68}, //11110101 F
{68}, //11110110 F
{68}, //11110111 F
{67}, //11111000 E
{67}, //11111001 E
{67}, //11111010 E
{67}, //11111011 E
{65}, //11111100 D
{65}, //11111101 D
{63}, //11111110 C
{62}, //11111111 B
};