eas_xmf.h revision 56c99cd2c2c1e6ab038dac5fced5b92ccf11ff6c
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