/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package data;

import java.util.LinkedHashMap;

/**
 *
 * @author Tom
 */
public class MIDIInstrumentData {
    private LinkedHashMap<String, Integer> pianos  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> chromaticpercussion  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> organs  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> guitars  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> basses  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> strings  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> ensembles  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> brasses  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> reeds  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> pipes  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> synthleads  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> synthpads  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> syntheffects  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> ethnics  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> percussivs  = new LinkedHashMap<>();
    private LinkedHashMap<String, Integer> soundeffects  = new LinkedHashMap<>();

    public MIDIInstrumentData() {
        pianos.put("Acoustic Grand Piano", 0);
        pianos.put("Bright Acoustic Piano", 1);
        pianos.put("Electric Grand Piano", 2);
        pianos.put("Honky-tonk Piano", 3);
        pianos.put("Electric Piano 1", 4);
        pianos.put("Electric Piano 2", 5);
        pianos.put("Harpsichord", 6);
        pianos.put("Clavi", 7);

        chromaticpercussion.put("Celesta",8);
        chromaticpercussion.put("Glockenspiel",9);
        chromaticpercussion.put("Music Box",10);
        chromaticpercussion.put("Vibraphone",11);
        chromaticpercussion.put("Marimba",12);
        chromaticpercussion.put("Xylophone",13);
        chromaticpercussion.put("Tubular Bells",14);
        chromaticpercussion.put("Dulcimer",15);

        organs.put("Drawbar Organ",16);
        organs.put("Percussive Organ",17);
        organs.put("Rock Organ",18);
        organs.put("Church Organ",19);
        organs.put("Reed Organ",20);
        organs.put("Accordion",21);
        organs.put("Harmonica",22);
        organs.put("Tango Accordion",23);

        guitars.put("Acoustic Guitar (nylon)",24);
        guitars.put("Acoustic Guitar (steel)",25);
        guitars.put("Electric Guitar (jazz)",26);
        guitars.put("Electric Guitar (clean)",27);
        guitars.put("Electric Guitar (muted)",28);
        guitars.put("Overdriven Guitar",29);
        guitars.put("Distortion Guitar",30);
        guitars.put("Guitar harmonics",31);

        basses.put("Acoustic Bass",32);
        basses.put("Electric Bass (finger)",33);
        basses.put("Electric Bass (pick)",34);
        basses.put("Fretless Bass",35);
        basses.put("Slap Bass 1",36);
        basses.put("Slap Bass 2",37);
        basses.put("Synth Bass 1",38);
        basses.put("Synth Bass 2",39);

        strings.put("Violin",40);
        strings.put("Viola",41);
        strings.put("Cello",42);
        strings.put("Contrabass",43);
        strings.put("Tremolo Strings",44);
        strings.put("Pizzicato Strings",45);
        strings.put("Orchestral Harp",46);
        strings.put("Timpani",47);

        ensembles.put("String Ensemble 1",48);
        ensembles.put("String Ensemble 2",49);
        ensembles.put("SynthStrings 1",50);
        ensembles.put("SynthStrings 2",51);
        ensembles.put("Choir Aahs",52);
        ensembles.put("Voice Oohs",53);
        ensembles.put("Synth Voice",54);
        ensembles.put("Orchestra Hit",55);

        brasses.put("Trumpet",56);
        brasses.put("Trombone",57);
        brasses.put("Tuba",58);
        brasses.put("Muted Trumpet",59);
        brasses.put("French Horn",60);
        brasses.put("Brass Section",61);
        brasses.put("SynthBrass 1",62);
        brasses.put("SynthBrass 2",63);

        reeds.put("Soprano Sax",64);
        reeds.put("Alto Sax",65);
        reeds.put("Tenor Sax",66);
        reeds.put("Baritone Sax",67);
        reeds.put("Oboe",68);
        reeds.put("English Horn",69);
        reeds.put("Bassoon",70);
        reeds.put("Clarinet",71);

        pipes.put("Piccolo",72);
        pipes.put("Flute",73);
        pipes.put("Recorder",74);
        pipes.put("Pan Flute",75);
        pipes.put("Blown Bottle",76);
        pipes.put("Shakuhachi",77);
        pipes.put("Whistle",78);
        pipes.put("Ocarina",79);

        synthleads.put("Lead 1 (square)",80);
        synthleads.put("Lead 2 (sawtooth)",81);
        synthleads.put("Lead 3 (calliope)",82);
        synthleads.put("Lead 4 (chiff)",83);
        synthleads.put("Lead 5 (charang)",84);
        synthleads.put("Lead 6 (voice)",85);
        synthleads.put("Lead 7 (fifths)",86);
        synthleads.put("Lead 8 (bass + lead)",87);

        synthpads.put("Pad 1 (new age)",88);
        synthpads.put("Pad 2 (warm)",89);
        synthpads.put("Pad 3 (polysynth)",90);
        synthpads.put("Pad 4 (choir)",91);
        synthpads.put("Pad 5 (bowed)",92);
        synthpads.put("Pad 6 (metallic)",93);
        synthpads.put("Pad 7 (halo)",94);
        synthpads.put("Pad 8 (sweep)",95);

        syntheffects.put("FX 1 (rain)",96);
        syntheffects.put("FX 2 (soundtrack)",97);
        syntheffects.put("FX 3 (crystal)",98);
        syntheffects.put("FX 4 (atmosphere)",99);
        syntheffects.put("FX 5 (brightness)",100);
        syntheffects.put("FX 6 (goblins)",101);
        syntheffects.put("FX 7 (echoes)",102);
        syntheffects.put("FX 8 (sci-fi)",103);

        ethnics.put("Sitar",104);
        ethnics.put("Banjo",105);
        ethnics.put("Shamisen",106);
        ethnics.put("Koto",107);
        ethnics.put("Kalimba",108);
        ethnics.put("Bag pipe",109);
        ethnics.put("Fiddle",110);
        ethnics.put("Shanai",111);

        percussivs.put("Tinkle Bell",112);
        percussivs.put("Agogo",113);
        percussivs.put("Steel Drums",114);
        percussivs.put("Woodblock",115);
        percussivs.put("Taiko Drum",116);
        percussivs.put("Melodic Tom",117);
        percussivs.put("Synth Drum",118);
        percussivs.put("Reverse Cymbal",119);

        soundeffects.put("Guitar Fret Noise",120);
        soundeffects.put("Breath Noise",121);
        soundeffects.put("Seashore",122);
        soundeffects.put("Bird Tweet",123);
        soundeffects.put("Telephone Ring",124);
        soundeffects.put("Helicopter",125);
        soundeffects.put("Applause",126);
        soundeffects.put("Gunshot",127);
    }
    
    public LinkedHashMap<String, Integer> getPianos() {
        return pianos;
    }

    public LinkedHashMap<String, Integer> getChromaticpercussion() {
        return chromaticpercussion;
    }

    public LinkedHashMap<String, Integer> getOrgans() {
        return organs;
    }

    public LinkedHashMap<String, Integer> getGuitars() {
        return guitars;
    }

    public LinkedHashMap<String, Integer> getBasses() {
        return basses;
    }

    public LinkedHashMap<String, Integer> getStrings() {
        return strings;
    }

    public LinkedHashMap<String, Integer> getEnsembles() {
        return ensembles;
    }

    public LinkedHashMap<String, Integer> getBrasses() {
        return brasses;
    }

    public LinkedHashMap<String, Integer> getReeds() {
        return reeds;
    }

    public LinkedHashMap<String, Integer> getPipes() {
        return pipes;
    }

    public LinkedHashMap<String, Integer> getSynthleads() {
        return synthleads;
    }

    public LinkedHashMap<String, Integer> getSynthpads() {
        return synthpads;
    }

    public LinkedHashMap<String, Integer> getSyntheffects() {
        return syntheffects;
    }

    public LinkedHashMap<String, Integer> getEthnics() {
        return ethnics;
    }

    public LinkedHashMap<String, Integer> getPercussivs() {
        return percussivs;
    }

    public LinkedHashMap<String, Integer> getSoundeffects() {
        return soundeffects;
    }
}
