// Path: app/src/main/java/com/github/cythara/Note.java
// public interface Note {
// 
//     NoteName getName();
// 
//     int getOctave();
// 
//     String getSign();
// }
// 
// Path: app/src/main/java/com/github/cythara/NoteName.java
// public enum NoteName {
// 
//     C("C", "Do"),
//     D("D", "Re"),
//     E("E", "Mi"),
//     F("F", "Fa"),
//     G("G", "Sol"),
//     A("A", "La"),
//     B("B", "Si");
// 
//     private final String scientific;
//     private final String sol;
// 
//     NoteName(String scientific, String sol) {
//         this.scientific = scientific;
//         this.sol = sol;
//     }
// 
//     public String getScientific() {
//         return scientific;
//     }
// 
//     public String getSol() {
//         return sol;
//     }
// 
//     public static NoteName fromScientificName(String scientificName) {
//         for (NoteName noteName : NoteName.values()) {
//             if (noteName.getScientific().equalsIgnoreCase(scientificName)) {
//                 return noteName;
//             }
//         }
// 
//         throw new IllegalArgumentException("Could not convert from name: " + scientificName);
//     }
// }
// 
// Path: app/src/main/java/com/github/cythara/Tuning.java
// public interface Tuning {
// 
//     Note[] getNotes();
// 
//     Note findNote(String name);
// }
// 
// Path: app/src/main/java/com/github/cythara/NoteName.java
// public enum NoteName {
// 
//     C("C", "Do"),
//     D("D", "Re"),
//     E("E", "Mi"),
//     F("F", "Fa"),
//     G("G", "Sol"),
//     A("A", "La"),
//     B("B", "Si");
// 
//     private final String scientific;
//     private final String sol;
// 
//     NoteName(String scientific, String sol) {
//         this.scientific = scientific;
//         this.sol = sol;
//     }
// 
//     public String getScientific() {
//         return scientific;
//     }
// 
//     public String getSol() {
//         return sol;
//     }
// 
//     public static NoteName fromScientificName(String scientificName) {
//         for (NoteName noteName : NoteName.values()) {
//             if (noteName.getScientific().equalsIgnoreCase(scientificName)) {
//                 return noteName;
//             }
//         }
// 
//         throw new IllegalArgumentException("Could not convert from name: " + scientificName);
//     }
// }


import com.github.cythara.Note;
import com.github.cythara.NoteName;
import com.github.cythara.Tuning;
import static com.github.cythara.NoteName.*;
        G7(G, 7),
        G7_SHARP(G, 7, "#"),
        A7(A, 7),
        A7_SHARP(A, 7, "#"),
        B7(B, 7),

        C8(C, 8),
        C8_SHARP(C, 8, "#"),
        D8(D, 8),
        D8_SHARP(D, 8, "#"),
        E8(E, 8),
        F8(F, 8),
        F8_SHARP(F, 8, "#"),
        G8(G, 8),
        G8_SHARP(G, 8, "#"),
        A8(A, 8),
        A8_SHARP(A, 8, "#"),
        B8(B, 8),

        C9(C, 9),
        C9_SHARP(C, 9, "#"),
        D9(D, 9),
        D9_SHARP(D, 9, "#"),
        E9(E, 9),
        F9(F, 9),
        F9_SHARP(F, 9, "#"),
        G9(G, 9);

        private final String sign;
        private final int octave;
// Path: app/src/main/java/com/github/cythara/Note.java
// public interface Note {
// 
//     NoteName getName();
// 
//     int getOctave();
// 
//     String getSign();
// }
// 
// Path: app/src/main/java/com/github/cythara/NoteName.java
// public enum NoteName {
// 
//     C("C", "Do"),
//     D("D", "Re"),
//     E("E", "Mi"),
//     F("F", "Fa"),
//     G("G", "Sol"),
//     A("A", "La"),
//     B("B", "Si");
// 
//     private final String scientific;
//     private final String sol;
// 
//     NoteName(String scientific, String sol) {
//         this.scientific = scientific;
//         this.sol = sol;
//     }
// 
//     public String getScientific() {
//         return scientific;
//     }
// 
//     public String getSol() {
//         return sol;
//     }
// 
//     public static NoteName fromScientificName(String scientificName) {
//         for (NoteName noteName : NoteName.values()) {
//             if (noteName.getScientific().equalsIgnoreCase(scientificName)) {
//                 return noteName;
//             }
//         }
// 
//         throw new IllegalArgumentException("Could not convert from name: " + scientificName);
//     }
// }
// 
// Path: app/src/main/java/com/github/cythara/Tuning.java
// public interface Tuning {
// 
//     Note[] getNotes();
// 
//     Note findNote(String name);
// }
// 
// Path: app/src/main/java/com/github/cythara/NoteName.java
// public enum NoteName {
// 
//     C("C", "Do"),
//     D("D", "Re"),
//     E("E", "Mi"),
//     F("F", "Fa"),
//     G("G", "Sol"),
//     A("A", "La"),
//     B("B", "Si");
// 
//     private final String scientific;
//     private final String sol;
// 
//     NoteName(String scientific, String sol) {
//         this.scientific = scientific;
//         this.sol = sol;
//     }
// 
//     public String getScientific() {
//         return scientific;
//     }
// 
//     public String getSol() {
//         return sol;
//     }
// 
//     public static NoteName fromScientificName(String scientificName) {
//         for (NoteName noteName : NoteName.values()) {
//             if (noteName.getScientific().equalsIgnoreCase(scientificName)) {
//                 return noteName;
//             }
//         }
// 
//         throw new IllegalArgumentException("Could not convert from name: " + scientificName);
//     }
// }


// Path: app/src/main/java/com/github/cythara/tuning/ChromaticTuning.java
import com.github.cythara.Note;
import com.github.cythara.NoteName;
import com.github.cythara.Tuning;
import static com.github.cythara.NoteName.*;

        G7(G, 7),
        G7_SHARP(G, 7, "#"),
        A7(A, 7),
        A7_SHARP(A, 7, "#"),
        B7(B, 7),

        C8(C, 8),
        C8_SHARP(C, 8, "#"),
        D8(D, 8),
        D8_SHARP(D, 8, "#"),
        E8(E, 8),
        F8(F, 8),
        F8_SHARP(F, 8, "#"),
        G8(G, 8),
        G8_SHARP(G, 8, "#"),
        A8(A, 8),
        A8_SHARP(A, 8, "#"),
        B8(B, 8),

        C9(C, 9),
        C9_SHARP(C, 9, "#"),
        D9(D, 9),
        D9_SHARP(D, 9, "#"),
        E9(E, 9),
        F9(F, 9),
        F9_SHARP(F, 9, "#"),
        G9(G, 9);

        private final String sign;
        private final int octave;
        private NoteName name;