plectrum

Plectrum: instrument tuner for Android
Log | Files | Refs | README | LICENSE

ChromaticTuning.java (4115B)


      1 package com.github.cythara.tuning;
      2 
      3 import com.github.cythara.Note;
      4 import com.github.cythara.NoteName;
      5 import com.github.cythara.Tuning;
      6 
      7 import static com.github.cythara.NoteName.*;
      8 
      9 public class ChromaticTuning implements Tuning {
     10 
     11     @Override
     12     public Note[] getNotes() {
     13         return Pitch.values();
     14     }
     15 
     16     @Override
     17     public Note findNote(String name) {
     18         return Pitch.valueOf(name);
     19     }
     20 
     21     private enum Pitch implements Note {
     22 
     23         C_MINUS_1(C, -1),
     24         C_MINUS_1_SHARP(C, -1, "#"),
     25         D_MINUS_1(D, -1),
     26         D_MINUS_1_SHARP(D, -1, "#"),
     27         E_MINUS_1(E, -1),
     28         F_MINUS_1(F, -1),
     29         F_MINUS_1_SHARP(F, -1, "#"),
     30         G_MINUS_1(G, -1),
     31         G_MINUS_1_SHARP(G, -1, "#"),
     32         A_MINUS_1(A, -1),
     33         A_MINUS_1_SHARP(A, -1, "#"),
     34         B_MINUS_1(B, -1),
     35 
     36         C0(C, 0),
     37         C0_SHARP(C, 0, "#"),
     38         D0(D, 0),
     39         D0_SHARP(D, 0, "#"),
     40         E0(E, 0),
     41         F0(F, 0),
     42         F0_SHARP(F, 0, "#"),
     43         G0(G, 0),
     44         G0_SHARP(G, 0, "#"),
     45         A0(A, 0),
     46         A0_SHARP(A, 0, "#"),
     47         B0(B, 0),
     48 
     49         C1(C, 1),
     50         C1_SHARP(C, 1, "#"),
     51         D1(D, 1),
     52         D1_SHARP(D, 1, "#"),
     53         E1(E, 1),
     54         F1(F, 1),
     55         F1_SHARP(F, 1, "#"),
     56         G1(G, 1),
     57         G1_SHARP(G, 1, "#"),
     58         A1(A, 1),
     59         A1_SHARP(A, 1, "#"),
     60         B1(B, 1),
     61 
     62         C2(C, 2),
     63         C2_SHARP(C, 2, "#"),
     64         D2(D, 2),
     65         D2_SHARP(D, 2, "#"),
     66         E2(E, 2),
     67         F2(F, 2),
     68         F2_SHARP(F, 2, "#"),
     69         G2(G, 2),
     70         G2_SHARP(G, 2, "#"),
     71         A2(A, 2),
     72         A2_SHARP(A, 2, "#"),
     73         B2(B, 2),
     74 
     75         C3(C, 3),
     76         C3_SHARP(C, 3, "#"),
     77         D3(D, 3),
     78         D3_SHARP(D, 3, "#"),
     79         E3(E, 3),
     80         F3(F, 3),
     81         F3_SHARP(F, 3, "#"),
     82         G3(G, 3),
     83         G3_SHARP(G, 3, "#"),
     84         A3(A, 3),
     85         A3_SHARP(A, 3, "#"),
     86         B3(B, 3),
     87 
     88         C4(C, 4),
     89         C4_SHARP(C, 4, "#"),
     90         D4(D, 4),
     91         D4_SHARP(D, 4, "#"),
     92         E4(E, 4),
     93         F4(F, 4),
     94         F4_SHARP(F, 4, "#"),
     95         G4(G, 4),
     96         G4_SHARP(G, 4, "#"),
     97         A4(A, 4),
     98         A4_SHARP(A, 4, "#"),
     99         B4(B, 4),
    100 
    101         C5(C, 5),
    102         C5_SHARP(C, 5, "#"),
    103         D5(D, 5),
    104         D5_SHARP(D, 5, "#"),
    105         E5(E, 5),
    106         F5(F, 5),
    107         F5_SHARP(F, 5, "#"),
    108         G5(G, 5),
    109         G5_SHARP(G, 5, "#"),
    110         A5(A, 5),
    111         A5_SHARP(A, 5, "#"),
    112         B5(B, 5),
    113 
    114         C6(C, 6),
    115         C6_SHARP(C, 6, "#"),
    116         D6(D, 6),
    117         D6_SHARP(D, 6, "#"),
    118         E6(E, 6),
    119         F6(F, 6),
    120         F6_SHARP(F, 6, "#"),
    121         G6(G, 6),
    122         G6_SHARP(G, 6, "#"),
    123         A6(A, 6),
    124         A6_SHARP(A, 6, "#"),
    125         B6(B, 6),
    126 
    127         C7(C, 7),
    128         C7_SHARP(C, 7, "#"),
    129         D7(D, 7),
    130         D7_SHARP(D, 7, "#"),
    131         E7(E, 7),
    132         F7(F, 7),
    133         F7_SHARP(F, 7, "#"),
    134         G7(G, 7),
    135         G7_SHARP(G, 7, "#"),
    136         A7(A, 7),
    137         A7_SHARP(A, 7, "#"),
    138         B7(B, 7),
    139 
    140         C8(C, 8),
    141         C8_SHARP(C, 8, "#"),
    142         D8(D, 8),
    143         D8_SHARP(D, 8, "#"),
    144         E8(E, 8),
    145         F8(F, 8),
    146         F8_SHARP(F, 8, "#"),
    147         G8(G, 8),
    148         G8_SHARP(G, 8, "#"),
    149         A8(A, 8),
    150         A8_SHARP(A, 8, "#"),
    151         B8(B, 8),
    152 
    153         C9(C, 9),
    154         C9_SHARP(C, 9, "#"),
    155         D9(D, 9),
    156         D9_SHARP(D, 9, "#"),
    157         E9(E, 9),
    158         F9(F, 9),
    159         F9_SHARP(F, 9, "#"),
    160         G9(G, 9);
    161 
    162         private final String sign;
    163         private final int octave;
    164         private NoteName name;
    165 
    166         Pitch(NoteName name, int octave, String sign) {
    167             this.name = name;
    168             this.octave = octave;
    169             this.sign = sign;
    170         }
    171 
    172         Pitch(NoteName name, int octave) {
    173             this.name = name;
    174             this.octave = octave;
    175             this.sign = "";
    176         }
    177 
    178         public NoteName getName() {
    179             return name;
    180         }
    181 
    182         @Override
    183         public int getOctave() {
    184             return octave;
    185         }
    186 
    187         @Override
    188         public String getSign() {
    189             return sign;
    190         }
    191     }
    192 }