/* * JFugue - API for Music Programming * Copyright (C) 2003-2008 David Koelle * * http://www.jfugue.org * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ package org.jfugue; import java.util.Map; /** * Loads default definitions into the JFugue dictionary. This allows users to * refer to instruments, percussion sounds, and controller events by * easy-to-remember names. * * <p> * Dictionary items can be added via the Music String. See the documentation for * more information. * </p> * * @author David Koelle * @version 2.0 */ public final class JFugueDefinitions { private JFugueDefinitions() { } /** * Loads default definitions into the JFugue dictionary. This includes all * of the string representations for instrument names, percussion sounds, * controller events, and some controller values. * * @param dictionaryMap * the dictionary instantiated by the parser */ protected static void populateDictionary( Map<String, Object> dictionaryMap) { // // Instrument names // dictionaryMap.put("PIANO", "0"); dictionaryMap.put("ACOUSTIC_GRAND", "0"); dictionaryMap.put("BRIGHT_ACOUSTIC", "1"); dictionaryMap.put("ELECTRIC_GRAND", "2"); dictionaryMap.put("HONKEY_TONK", "3"); dictionaryMap.put("ELECTRIC_PIANO", "4"); dictionaryMap.put("ELECTRIC_PIANO_1", "4"); dictionaryMap.put("ELECTRIC_PIANO_2", "5"); dictionaryMap.put("HARPISCHORD", "6"); dictionaryMap.put("CLAVINET", "7"); dictionaryMap.put("CELESTA", "8"); dictionaryMap.put("GLOCKENSPIEL", "9"); dictionaryMap.put("MUSIC_BOX", "10"); dictionaryMap.put("VIBRAPHONE", "11"); dictionaryMap.put("MARIMBA", "12"); dictionaryMap.put("XYLOPHONE", "13"); dictionaryMap.put("TUBULAR_BELLS", "14"); dictionaryMap.put("DULCIMER", "15"); dictionaryMap.put("DRAWBAR_ORGAN", "16"); dictionaryMap.put("PERCUSSIVE_ORGAN", "17"); dictionaryMap.put("ROCK_ORGAN", "18"); dictionaryMap.put("CHURCH_ORGAN", "19"); dictionaryMap.put("REED_ORGAN", "20"); dictionaryMap.put("ACCORDIAN", "21"); dictionaryMap.put("HARMONICA", "22"); dictionaryMap.put("TANGO_ACCORDIAN", "23"); dictionaryMap.put("GUITAR", "24"); dictionaryMap.put("NYLON_STRING_GUITAR", "24"); dictionaryMap.put("STEEL_STRING_GUITAR", "25"); dictionaryMap.put("ELECTRIC_JAZZ_GUITAR", "26"); dictionaryMap.put("ELECTRIC_CLEAN_GUITAR", "27"); dictionaryMap.put("ELECTRIC_MUTED_GUITAR", "28"); dictionaryMap.put("OVERDRIVEN_GUITAR", "29"); dictionaryMap.put("DISTORTION_GUITAR", "30"); dictionaryMap.put("GUITAR_HARMONICS", "31"); dictionaryMap.put("ACOUSTIC_BASS", "32"); dictionaryMap.put("ELECTRIC_BASS_FINGER", "33"); dictionaryMap.put("ELECTRIC_BASS_PICK", "34"); dictionaryMap.put("FRETLESS_BASS", "35"); dictionaryMap.put("SLAP_BASS_1", "36"); dictionaryMap.put("SLAP_BASS_2", "37"); dictionaryMap.put("SYNTH_BASS_1", "38"); dictionaryMap.put("SYNTH_BASS_2", "39"); dictionaryMap.put("VIOLIN", "40"); dictionaryMap.put("VIOLA", "41"); dictionaryMap.put("CELLO", "42"); dictionaryMap.put("CONTRABASS", "43"); dictionaryMap.put("TREMOLO_STRINGS", "44"); dictionaryMap.put("PIZZICATO_STRINGS", "45"); dictionaryMap.put("ORCHESTRAL_STRINGS", "46"); dictionaryMap.put("TIMPANI", "47"); dictionaryMap.put("STRING_ENSEMBLE_1", "48"); dictionaryMap.put("STRING_ENSEMBLE_2", "49"); dictionaryMap.put("SYNTH_STRINGS_1", "50"); dictionaryMap.put("SYNTH_STRINGS_2", "51"); dictionaryMap.put("CHOIR_AAHS", "52"); dictionaryMap.put("VOICE_OOHS", "53"); dictionaryMap.put("SYNTH_VOICE", "54"); dictionaryMap.put("ORCHESTRA_HIT", "55"); dictionaryMap.put("TRUMPET", "56"); dictionaryMap.put("TROMBONE", "57"); dictionaryMap.put("TUBA", "58"); dictionaryMap.put("MUTED_TRUMPET", "59"); dictionaryMap.put("FRENCH_HORN", "60"); dictionaryMap.put("BRASS_SECTION", "61"); dictionaryMap.put("SYNTHBRASS_1", "62"); dictionaryMap.put("SYNTHBRASS_2", "63"); dictionaryMap.put("SOPRANO_SAX", "64"); dictionaryMap.put("ALTO_SAX", "65"); dictionaryMap.put("TENOR_SAX", "66"); dictionaryMap.put("BARITONE_SAX", "67"); dictionaryMap.put("OBOE", "68"); dictionaryMap.put("ENGLISH_HORN", "69"); dictionaryMap.put("BASSOON", "70"); dictionaryMap.put("CLARINET", "71"); dictionaryMap.put("PICCOLO", "72"); dictionaryMap.put("FLUTE", "73"); dictionaryMap.put("RECORDER", "74"); dictionaryMap.put("PAN_FLUTE", "75"); dictionaryMap.put("BLOWN_BOTTLE", "76"); dictionaryMap.put("SKAKUHACHI", "77"); dictionaryMap.put("WHISTLE", "78"); dictionaryMap.put("OCARINA", "79"); dictionaryMap.put("LEAD_SQUARE", "80"); dictionaryMap.put("SQUARE", "80"); dictionaryMap.put("LEAD_SAWTOOTH", "81"); dictionaryMap.put("SAWTOOTH", "81"); dictionaryMap.put("LEAD_CALLIOPE", "82"); dictionaryMap.put("CALLIOPE", "82"); dictionaryMap.put("LEAD_CHIFF", "83"); dictionaryMap.put("CHIFF", "83"); dictionaryMap.put("LEAD_CHARANG", "84"); dictionaryMap.put("CHARANG", "84"); dictionaryMap.put("LEAD_VOICE", "85"); dictionaryMap.put("VOICE", "85"); dictionaryMap.put("LEAD_FIFTHS", "86"); dictionaryMap.put("FIFTHS", "86"); dictionaryMap.put("LEAD_BASSLEAD", "87"); dictionaryMap.put("BASSLEAD", "87"); dictionaryMap.put("PAD_NEW_AGE", "88"); dictionaryMap.put("NEW_AGE", "88"); dictionaryMap.put("PAD_WARM", "89"); dictionaryMap.put("WARM", "89"); dictionaryMap.put("PAD_POLYSYNTH", "90"); dictionaryMap.put("POLYSYNTH", "90"); dictionaryMap.put("PAD_CHOIR", "91"); dictionaryMap.put("CHOIR", "91"); dictionaryMap.put("PAD_BOWED", "92"); dictionaryMap.put("BOWED", "92"); dictionaryMap.put("PAD_METALLIC", "93"); dictionaryMap.put("METALLIC", "93"); dictionaryMap.put("PAD_HALO", "94"); dictionaryMap.put("HALO", "94"); dictionaryMap.put("PAD_SWEEP", "95"); dictionaryMap.put("SWEEP", "95"); dictionaryMap.put("FX_RAIN", "96"); dictionaryMap.put("RAIN", "96"); dictionaryMap.put("FX_SOUNDTRACK", "97"); dictionaryMap.put("SOUNDTRACK", "97"); dictionaryMap.put("FX_CRYSTAL", "98"); dictionaryMap.put("CRYSTAL", "98"); dictionaryMap.put("FX_ATMOSPHERE", "99"); dictionaryMap.put("ATMOSPHERE", "99"); dictionaryMap.put("FX_BRIGHTNESS", "100"); dictionaryMap.put("BRIGHTNESS", "100"); dictionaryMap.put("FX_GOBLINS", "101"); dictionaryMap.put("GOBLINS", "101"); dictionaryMap.put("FX_ECHOES", "102"); dictionaryMap.put("ECHOES", "102"); dictionaryMap.put("FX_SCI-FI", "103"); dictionaryMap.put("SCI-FI", "103"); dictionaryMap.put("SITAR", "104"); dictionaryMap.put("BANJO", "105"); dictionaryMap.put("SHAMISEN", "106"); dictionaryMap.put("KOTO", "107"); dictionaryMap.put("KALIMBA", "108"); dictionaryMap.put("BAGPIPE", "109"); dictionaryMap.put("FIDDLE", "110"); dictionaryMap.put("SHANAI", "111"); dictionaryMap.put("TINKLE_BELL", "112"); dictionaryMap.put("AGOGO", "113"); dictionaryMap.put("STEEL_DRUMS", "114"); dictionaryMap.put("WOODBLOCK", "115"); dictionaryMap.put("TAIKO_DRUM", "116"); dictionaryMap.put("MELODIC_TOM", "117"); dictionaryMap.put("SYNTH_DRUM", "118"); dictionaryMap.put("REVERSE_CYMBAL", "119"); dictionaryMap.put("GUITAR_FRET_NOISE", "120"); dictionaryMap.put("BREATH_NOISE", "121"); dictionaryMap.put("SEASHORE", "122"); dictionaryMap.put("BIRD_TWEET", "123"); dictionaryMap.put("TELEPHONE_RING", "124"); dictionaryMap.put("HELICOPTER", "125"); dictionaryMap.put("APPLAUSE", "126"); dictionaryMap.put("GUNSHOT", "127"); // // Percussion names // dictionaryMap.put("ACOUSTIC_BASS_DRUM", "35"); dictionaryMap.put("BASS_DRUM", "36"); dictionaryMap.put("SIDE_STICK", "37"); dictionaryMap.put("ACOUSTIC_SNARE", "38"); dictionaryMap.put("HAND_CLAP", "39"); dictionaryMap.put("ELECTRIC_SNARE", "40"); dictionaryMap.put("LOW_FLOOR_TOM", "41"); dictionaryMap.put("CLOSED_HI_HAT", "42"); dictionaryMap.put("HIGH_FLOOR_TOM", "43"); dictionaryMap.put("PEDAL_HI_HAT", "44"); dictionaryMap.put("LOW_TOM", "45"); dictionaryMap.put("OPEN_HI_HAT", "46"); dictionaryMap.put("LOW_MID_TOM", "47"); dictionaryMap.put("HI_MID_TOM", "48"); dictionaryMap.put("CRASH_CYMBAL_1", "49"); dictionaryMap.put("HIGH_TOM", "50"); dictionaryMap.put("RIDE_CYMBAL_1", "51"); dictionaryMap.put("CHINESE_CYMBAL", "52"); dictionaryMap.put("RIDE_BELL", "53"); dictionaryMap.put("TAMBOURINE", "54"); dictionaryMap.put("SPLASH_CYMBAL", "55"); dictionaryMap.put("COWBELL", "56"); dictionaryMap.put("CRASH_CYMBAL_2", "57"); dictionaryMap.put("VIBRASLAP", "58"); dictionaryMap.put("RIDE_CYMBAL_2", "59"); dictionaryMap.put("HI_BONGO", "60"); dictionaryMap.put("LOW_BONGO", "61"); dictionaryMap.put("MUTE_HI_CONGA", "62"); dictionaryMap.put("OPEN_HI_CONGA", "63"); dictionaryMap.put("LOW_CONGA", "64"); dictionaryMap.put("HIGH_TIMBALE", "65"); dictionaryMap.put("LOW_TIMBALE", "66"); dictionaryMap.put("HIGH_AGOGO", "67"); dictionaryMap.put("LOW_AGOGO", "68"); dictionaryMap.put("CABASA", "69"); dictionaryMap.put("MARACAS", "70"); dictionaryMap.put("SHORT_WHISTLE", "71"); dictionaryMap.put("LONG_WHISTLE", "72"); dictionaryMap.put("SHORT_GUIRO", "73"); dictionaryMap.put("LONG_GUIRO", "74"); dictionaryMap.put("CLAVES", "75"); dictionaryMap.put("HI_WOOD_BLOCK", "76"); dictionaryMap.put("LOW_WOOD_BLOCK", "77"); dictionaryMap.put("MUTE_CUICA", "78"); dictionaryMap.put("OPEN_CUICA", "79"); dictionaryMap.put("MUTE_TRIANGLE", "80"); dictionaryMap.put("OPEN_TRIANGLE", "81"); // // Controller names // dictionaryMap.put("BANK_SELECT_COARSE", "0"); dictionaryMap.put("MOD_WHEEL_COARSE", "1"); dictionaryMap.put("BREATH_COARSE", "2"); dictionaryMap.put("FOOT_PEDAL_COARSE", "4"); dictionaryMap.put("PORTAMENTO_TIME_COARSE", "5"); dictionaryMap.put("DATA_ENTRY_COARSE", "6"); dictionaryMap.put("VOLUME_COARSE", "7"); dictionaryMap.put("BALANCE_COARSE", "8"); dictionaryMap.put("PAN_POSITION_COARSE", "10"); dictionaryMap.put("EXPRESSION_COARSE", "11"); dictionaryMap.put("EFFECT_CONTROL_1_COARSE", "12"); dictionaryMap.put("EFFECT_CONTROL_2_COARSE", "13"); dictionaryMap.put("SLIDER_1", "16"); dictionaryMap.put("SLIDER_2", "17"); dictionaryMap.put("SLIDER_3", "18"); dictionaryMap.put("SLIDER_4", "19"); dictionaryMap.put("BANK_SELECT_FINE", "32"); dictionaryMap.put("MOD_WHEEL_FINE", "33"); dictionaryMap.put("BREATH_FINE", "34"); dictionaryMap.put("FOOT_PEDAL_FINE", "36"); dictionaryMap.put("PORTAMENTO_TIME_FINE", "37"); dictionaryMap.put("DATA_ENTRY_FINE", "38"); dictionaryMap.put("VOLUME_FINE", "39"); dictionaryMap.put("BALANCE_FINE", "40"); dictionaryMap.put("PAN_POSITION_FINE", "42"); dictionaryMap.put("EXPRESSION_FINE", "43"); dictionaryMap.put("EFFECT_CONTROL_1_FINE", "44"); dictionaryMap.put("EFFECT_CONTROL_2_FINE", "45"); dictionaryMap.put("HOLD_PEDAL", "64"); dictionaryMap.put("HOLD", "64"); dictionaryMap.put("PORTAMENTO", "65"); dictionaryMap.put("SUSTENUTO_PEDAL", "66"); dictionaryMap.put("SUSTENUTO", "66"); dictionaryMap.put("SOFT_PEDAL", "67"); dictionaryMap.put("SOFT", "67"); dictionaryMap.put("LEGATO_PEDAL", "68"); dictionaryMap.put("LEGATO", "68"); dictionaryMap.put("HOLD_2_PEDAL", "69"); dictionaryMap.put("HOLD_2", "69"); dictionaryMap.put("SOUND_VARIATION", "70"); dictionaryMap.put("VARIATION", "70"); dictionaryMap.put("SOUND_TIMBRE", "71"); dictionaryMap.put("TIMBRE", "71"); dictionaryMap.put("SOUND_RELEASE_TIME", "72"); dictionaryMap.put("RELEASE_TIME", "72"); dictionaryMap.put("SOUND_ATTACK_TIME", "73"); dictionaryMap.put("ATTACK_TIME", "73"); dictionaryMap.put("SOUND_BRIGHTNESS", "74"); dictionaryMap.put("BRIGHTNESS", "74"); dictionaryMap.put("SOUND_CONTROL_6", "75"); dictionaryMap.put("CONTROL_6", "75"); dictionaryMap.put("SOUND_CONTROL_7", "76"); dictionaryMap.put("CONTROL_7", "76"); dictionaryMap.put("SOUND_CONTROL_8", "77"); dictionaryMap.put("CONTROL_8", "77"); dictionaryMap.put("SOUND_CONTROL_9", "78"); dictionaryMap.put("CONTROL_9", "78"); dictionaryMap.put("SOUND_CONTROL_10", "79"); dictionaryMap.put("CONTROL_10", "79"); dictionaryMap.put("GENERAL_PURPOSE_BUTTON_1", "80"); dictionaryMap.put("GENERAL_BUTTON_1", "80"); dictionaryMap.put("BUTTON_1", "80"); dictionaryMap.put("GENERAL_PURPOSE_BUTTON_2", "81"); dictionaryMap.put("GENERAL_BUTTON_2", "81"); dictionaryMap.put("BUTTON_2", "81"); dictionaryMap.put("GENERAL_PURPOSE_BUTTON_3", "82"); dictionaryMap.put("GENERAL_BUTTON_3", "82"); dictionaryMap.put("BUTTON_3", "82"); dictionaryMap.put("GENERAL_PURPOSE_BUTTON_4", "83"); dictionaryMap.put("GENERAL_BUTTON_4", "83"); dictionaryMap.put("BUTTON_4", "83"); dictionaryMap.put("EFFECTS_LEVEL", "91"); dictionaryMap.put("EFFECTS", "91"); dictionaryMap.put("TREMULO_LEVEL", "92"); dictionaryMap.put("TREMULO", "92"); dictionaryMap.put("CHORUS_LEVEL", "93"); dictionaryMap.put("CHORUS", "93"); dictionaryMap.put("CELESTE_LEVEL", "94"); dictionaryMap.put("CELESTE", "94"); dictionaryMap.put("PHASER_LEVEL", "95"); dictionaryMap.put("PHASER", "95"); dictionaryMap.put("DATA_BUTTON_INCREMENT", "96"); dictionaryMap.put("DATA_BUTTON_INC", "96"); dictionaryMap.put("BUTTON_INC", "96"); dictionaryMap.put("DATA_BUTTON_DECREMENT", "97"); dictionaryMap.put("DATA_BUTTON_DEC", "97"); dictionaryMap.put("BUTTON_DEC", "97"); dictionaryMap.put("NON_REGISTERED_COARSE", "98"); dictionaryMap.put("NON_REGISTERED_FINE", "99"); dictionaryMap.put("REGISTERED_COARSE", "100"); dictionaryMap.put("REGISTERED_FINE", "101"); dictionaryMap.put("ALL_SOUND_OFF", "120"); dictionaryMap.put("ALL_CONTROLLERS_OFF", "121"); dictionaryMap.put("LOCAL_KEYBOARD", "122"); dictionaryMap.put("ALL_NOTES_OFF", "123"); dictionaryMap.put("OMNI_MODE_OFF", "124"); dictionaryMap.put("OMNI_OFF", "124"); dictionaryMap.put("OMNI_MODE_ON", "125"); dictionaryMap.put("OMNI_ON", "125"); dictionaryMap.put("MONO_OPERATION", "126"); dictionaryMap.put("MONO", "126"); dictionaryMap.put("POLY_OPERATION", "127"); dictionaryMap.put("POLY", "127"); // // Combined Controller names // (index = coarse_controller_index * 128 + fine_controller_index) // dictionaryMap.put("BANK_SELECT", "16383"); dictionaryMap.put("MOD_WHEEL", "161"); dictionaryMap.put("BREATH", "290"); dictionaryMap.put("FOOT_PEDAL", "548"); dictionaryMap.put("PORTAMENTO_TIME", "677"); dictionaryMap.put("DATA_ENTRY", "806"); dictionaryMap.put("VOLUME", "935"); dictionaryMap.put("BALANCE", "1064"); dictionaryMap.put("PAN_POSITION", "1322"); dictionaryMap.put("EXPRESSION", "1451"); dictionaryMap.put("EFFECT_CONTROL_1", "1580"); dictionaryMap.put("EFFECT_CONTROL_2", "1709"); dictionaryMap.put("NON_REGISTERED", "12770"); dictionaryMap.put("REGISTERED", "13028"); // // Values for controllers // dictionaryMap.put("ON", "127"); dictionaryMap.put("OFF", "0"); dictionaryMap.put("DEFAULT", "64"); // // Tempo values // (NEW for JFugue 4.0) dictionaryMap.put("GRAVE", "40"); dictionaryMap.put("LARGO", "45"); dictionaryMap.put("LARGHETTO", "50"); dictionaryMap.put("LENTO", "55"); dictionaryMap.put("ADAGIO", "60"); dictionaryMap.put("ADAGIETTO", "65"); dictionaryMap.put("ANDANTE", "70"); dictionaryMap.put("ANDANTINO", "80"); dictionaryMap.put("MODERATO", "95"); dictionaryMap.put("ALLEGRETTO", "110"); dictionaryMap.put("ALLEGRO", "120"); dictionaryMap.put("VIVACE", "145"); dictionaryMap.put("PRESTO", "180"); dictionaryMap.put("PRETISSIMO", "220"); } }