/*----------------------------------------------------------------------------
 *
 * File:
 * eas_midictrl.h
 *
 * Contents and purpose:
 * MIDI controller definitions
 *
 * This header only contains declarations that are specific
 * to this implementation.
 *
 * Copyright Sonic Network Inc. 2005

 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *----------------------------------------------------------------------------
 * Revision Control:
 *   $Revision: 82 $
 *   $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $
 *----------------------------------------------------------------------------
*/

#ifndef _EAS_MIDICTRL_H
#define _EAS_MIDICTRL_H

/* define controller types */
/*
    Note that these controller types are specified in base 10 (decimal)
    and not in hexadecimal. The above midi messages are specified
    in hexadecimal.
*/
#define MIDI_CONTROLLER_BANK_SELECT         0
#define MIDI_CONTROLLER_BANK_SELECT_MSB     0
#define MIDI_CONTROLLER_MOD_WHEEL           1
#define MIDI_CONTROLLER_ENTER_DATA_MSB      6
#define MIDI_CONTROLLER_VOLUME              7
#define MIDI_CONTROLLER_PAN                 10
#define MIDI_CONTROLLER_EXPRESSION          11
#define MIDI_CONTROLLER_BANK_SELECT_LSB     32
#define MIDI_CONTROLLER_ENTER_DATA_LSB      38      /* 0x26 */
#define MIDI_CONTROLLER_SUSTAIN_PEDAL       64
#define MIDI_CONTROLLER_REVERB_SEND         91
#define MIDI_CONTROLLER_CHORUS_SEND         93
#define MIDI_CONTROLLER_SELECT_NRPN_LSB     98
#define MIDI_CONTROLLER_SELECT_NRPN_MSB     99
#define MIDI_CONTROLLER_SELECT_RPN_LSB      100     /* 0x64 */
#define MIDI_CONTROLLER_SELECT_RPN_MSB      101     /* 0x65 */
#define MIDI_CONTROLLER_ALL_SOUND_OFF       120
#define MIDI_CONTROLLER_RESET_CONTROLLERS   121
#define MIDI_CONTROLLER_ALL_NOTES_OFF       123
#define MIDI_CONTROLLER_OMNI_OFF            124
#define MIDI_CONTROLLER_OMNI_ON             125
#define MIDI_CONTROLLER_MONO_ON_POLY_OFF    126
#define MIDI_CONTROLLER_POLY_ON_MONO_OFF    127

#endif /* #ifndef _EAS_MIDICTRL_H */
