;-> MIDIConstants by Siefano Maria Regattin ;d> 27 Febbraio 2002 da MIDIDefs.h ;m> 1,15,16 marzo 2002 ;---------------------- ;*************** ;* C. A. M. D. * ;****************************************************** ;* CMU AMIGA Midi Driver - Carnegie Mellon University * ;****************************************************** ;* 1988 - Commodore AMIGA * ;*********************************************** ;* Design & Development - Roger B. Dannenberg * ;*********************************************** ;* - Jean-Christophe Dhellemmes * ;******************************** ;* - Bill Barton * ;********************************************* ;* Copyright 1989 Carnegie Mellon University * ;********************************************* ;**************** ;* * ;* Status Bytes * ;* * ;**************** ;* channel voice messages (1sssnnnn) (OR with channel number) * #_NoteOff=-128; $80 #_NoteOn=-112; $90 #_PolyphonicKeyPressure=-96;$A0 #_ControlChange=-80; $B0 #_Mode=-80; $B0 #_ProgramChange=-64; $C0 #_ChannelKeyPressure=-48; $E0 #_PitchBend=-32; $D0 #_StatusBits=-16; $F0 #_ChannelBits=%1111; $0F ;* system common messages (11110sss) * #_System=-16 ;* min system status byte * #_SystemExclusive=-16; $F0 #_QtrFrame=-15; $F1 #_SongPos=-14; $F2 #_SongSelect=-13; $F3 #_TuneReq=-10; $F6 #_EOX=-9; $F7 ;* system real time messages (11111sss) * #_RealTime=$F8 ;* Min real time status byte */ #_Clock=-8; $F8 #_Start=-6; $F9 #_Continue=-5; $FA #_Stop=-4; $FB #_ActiveSense=-2; $FE #_Reset=-1; $FF ;************************ ;* * ;* Standard Controllers * ;* * ;************************ ;* Continuous 14 bit - MSB: 0-1f, LSB: 20-3f */ #_Bank=$00 #_ModulationWheel=$01 #_Breath=$02 #_Foot=$04 #_PortaTime=$05 #_DataEntry=$06 #_Volume=$07 #_Balance=$08 #_Pan=$0A #_Expression=$0B #_GeneralOne=$10 #_GeneralTwo=$11 #_GeneralThree=$12 #_GeneralFour=$13 ;* Continuous 7 bit (switches: 0-3f=Off, 40-7f=On) */ #_Sustain=$40 #_Portamento=$41 #_Sostenuto=$42 #_SoftPedal=$43 #_HoldTwo=$45 #_GeneralFive=$50 #_GeneralSix=$51 #_GeneralSeven=$52 #_GeneralEight=$53 #_ExtDepth=$5B #_TremoloDepth=$5C #_ChorusDepth=$5D #_CelesteDepth=$5E #_PhaserDepth=$5f ;* Parameters * #_DataInc=$60 #_DataDec=$61 #_NRPNL=$62 #_NRPNH=$63 #_RPNL=$64 #_RPNH=$65 #_ControllerMaxValue=$78 ;***************** ;* * ;* Channel Modes * ;* * ;***************** #_MinModeValue=$79 #_ResetCtrl=$79 #_Local=$7A #_AllNotesOff=$7B #_OmniOff=$7C #_OmniOn=$7D #_Mono=$7E #_Poly=$7F ;******************************** ;* * ;* Registered Parameter Numbers * ;* * ;******************************************************************************** ;* these are 16 bit values that need To be separated into two bytes for use with ;* the _RPNH & _RPNL messages using 8 bit math (hi=MRP>>8,lo=MRP_&$ff) as opposed To 7 ;* bit math. This is done so that the defines match the ;* numbers from the MMA. ;* See MIDI 1.0 Detailed Spec v4.0 pp 12, 23 For more info. ;*********************************************************** #_PBSens=$0000 #_FineTune=$0001 #_CourseTune=$0002 ;****************************** ;* * ;* MTC Quarter Frame messages * ;* * ;***************************************** ;* Qtr Frame message is F1 0nnndddd where ;* ;* nnn is a message Type defined below ;* dddd is 4 bit Data nibble For those message types ;* ;* Each pair of nibbles is combined by the receiver into a single byte. ;* there are masks and type values defined for some of these Data bytes below. ;****************************************************************************** ;* Message Types * #_FrameL=$00 #_FrameH=$10 #_SecL=$20 #_SecH=$30 #_MinL=$40 #_MinH=$50 #_HourL=$60 #_HourH=$70 ;* also contains time code type * ;* Message Masks */ #_TypeMask=%01110000 ;* mask for type bits in message * #_DataMask=%00001111 ;* mask for data bits in message * ;* Hour Byte */ #_HourTypeMask=$60 ;* mask for time code type * #_HourMask=$1f ;* hours mask (range 0-23) * ;* Time code Type values For hour byte */ #_24FramesPerSecond=$00 #_25FramesPerSecond=$20 #_30FramesPerSecondDrop=$40 #_30FramesPerSecondNoDrop=$60 ;********************* ;* * ;* Sys/Ex ID numbers * ;* * ;******************************************************** ;* now includes 3 byte extension For the American Group. ;* this new format uses a $00 as the sys/ex id followed by two additional bytes ;* that actually identify the manufacturer. ;* these new extended id constants are 32 bit values with 24 significant bits. ;****************************************************************************** ;* north american group (1 byte) * #_MID_Sequential=$01 #_MID_IDP=$02 #_MID_OctavePlateau=$03 #_MID_Moog=$04 #_MID_Passport=$05 #_MID_Lexicon=$06 #_MID_Kurzweil=$07 #_MID_Fender=$08 #_MID_Gulbransen=$09 #_MID_AKG=$0A #_MID_Voyce=$0B #_MID_Waveframe=$0C #_MID_ADA=$0D #_MID_Garfield=$0E #_MID_Ensoniq=$0F #_MID_Oberheim=$10 #_MID_Apple=$11 #_MID_GreyMatte=$12 #_MID_PalmTree=$14 #_MID_JLCooper=$15 #_MID_Lowrey=$16 #_MID_AdamsSmith=$17 #_MID_Emu=$18 #_MID_Harmony=$19 #_MID_ART=$1A #_MID_Baldwin=$1B #_MID_Eventide=$1C #_MID_Inventronics=$1D #_MID_Clarity=$1F ;* north american group (3 bytes) * #_MID_XAmerica=$00 ;* north american 3 bytes prefix * #_MIDX_DigitalMusic=$000007 #_MIDX_Iota=$000008 #_MIDX_Artisyn=$00000A #_MIDX_IVL=$00000B #_MIDX_SouthernMusic=$00000C #_MIDX_LakeButler=$00000D #_MIDX_DOD=$000010 #_MIDX_PerfectFret=$000014 #_MIDX_KAT=$000015 #_MIDX_Opcode=$000016 #_MIDX_Rane=$000017 #_MIDX_SpatialSound=$000018 #_MIDX_KMX=$000019 #_MIDX_Brenell=$00001A #_MIDX_Peavey=$00001B #_MIDX_360=$00001C #_MIDX_Axxes=$000020 #_MIDX_CAE=$000026 #_MIDX_Cannon=$00002B #_MIDX_BlueSkyLogic=$00002E #_MIDX_Voce=$000031 ;* european group */ #_MID_SIEL=$21 #_MID_Synthaxe=$22 #_MID_Hohner=$24 #_MID_Twister=$25 #_MID_Solton=$26 #_MID_Jellinghaus=$27 #_MID_Southworth=$28 #_MID_PPG=$29 #_MID_JEN=$2A #_MID_SSL=$2B #_MID_AudioVeritrieb=$2C #_MID_Elka=$2F #_MID_Dynacord=$30 #_MID_Clavia=$33 #_MID_Soundcraft=$39 ;* japanese group */ #_MID_Kawai=$40 #_MID_Roland=$41 #_MID_Korg=$42 #_MID_Yamaha=$43 #_MID_Casio=$44 #_MID_Kamiya=$46 #_MID_Akai=$47 #_MID_JapanVictor=$48 #_MID_Mesosha=$49 ;* universal ID Numbers * #_MID_UNC=$7D #_MID_UNRT=$7E #_MID_URT=$7f ;***************** ;* * ;* Miscellaneous * ;* * ;***************** #_MiddleC=60 ;* Middle C note value * #_DefaultVelocity=64 ;* default note ON or OFF velocity * #_PitchBendCenter=$2000 ;* pitch bend center position as a 14 bit word * #_MClksPerQtr=24 ;* MIDI clocks per quarter note * #_MClksPerSP=6 ;* MIDI clocks per song position index * #_PanAndSimilarCenter=64 ;* center value for controllers like pan and balance *