// 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.*;
package com.github.cythara.tuning;



public class DropCSharpGuitarTuning implements Tuning {

    @Override
    public Note[] getNotes() {
        return Pitch.values();
    }

    @Override
    public Note findNote(String name) {
        return Pitch.valueOf(name);
    }

    private enum Pitch implements Note {

        C2_SHARP(C, 2, "#"),
        A2(A, 2),
        D3(D, 3),
        G3(G, 3),
// 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/DropCSharpGuitarTuning.java
import com.github.cythara.Note;
import com.github.cythara.NoteName;
import com.github.cythara.Tuning;
import static com.github.cythara.NoteName.*;

package com.github.cythara.tuning;



public class DropCSharpGuitarTuning implements Tuning {

    @Override
    public Note[] getNotes() {
        return Pitch.values();
    }

    @Override
    public Note findNote(String name) {
        return Pitch.valueOf(name);
    }

    private enum Pitch implements Note {

        C2_SHARP(C, 2, "#"),
        A2(A, 2),
        D3(D, 3),
        G3(G, 3),
        B3(B, 3),