1 /*---------------------------------------------------------------------------- 2 * 3 * File: 4 * eas_xmf.h 5 * 6 * Contents and purpose: 7 * XMF Type 0 and 1 File Parser 8 * 9 * Copyright Sonic Network Inc. 2005 10 11 * Licensed under the Apache License, Version 2.0 (the "License"); 12 * you may not use this file except in compliance with the License. 13 * You may obtain a copy of the License at 14 * 15 * http://www.apache.org/licenses/LICENSE-2.0 16 * 17 * Unless required by applicable law or agreed to in writing, software 18 * distributed under the License is distributed on an "AS IS" BASIS, 19 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 20 * See the License for the specific language governing permissions and 21 * limitations under the License. 22 * 23 *---------------------------------------------------------------------------- 24 * Revision Control: 25 * $Revision: 82 $ 26 * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $ 27 *---------------------------------------------------------------------------- 28 */ 29 30 #ifndef _EAS_XMF_H 31 #define _EAS_XMF_H 32 33 #ifndef MAX_XMF_STREAMS 34 #define MAX_XMF_STREAMS 16 35 #endif 36 37 /* offsets in to the XMF file */ 38 #define XMF_OFS_HEADER_SIZE 4 39 #define XMF_OFS_FILE_TYPE 8 40 #define XMF_OFS_NUM_TRACKS 10 41 42 /* size of chunk info (chunk ID + chunk size) */ 43 #define XMF_CHUNK_INFO_SIZE 8 44 45 /* 'MTrk' track chunk ID */ 46 #define XMF_CHUNK_TYPE_TRACK 0x4d54726bL 47 48 /* some useful meta-events */ 49 #define XMF_META_END_OF_TRACK 0x2f 50 #define XMF_META_TEMPO 0x51 51 52 /* default timebase (120BPM) */ 53 #define XMF_DEFAULT_TIMEBASE 500000L 54 55 /* value for pXMFStream->ticks to signify end of track */ 56 #define XMF_END_OF_TRACK 0xffffffff 57 58 #endif /* end _EAS_XMF_H */ 59 60 61