1/*---------------------------------------------------------------------------- 2 * 3 * File: 4 * eas_smfdata.h 5 * 6 * Contents and purpose: 7 * SMF File Parser 8 * 9 * This file contains data definitions for the SMF parser. 10 * 11 * Copyright Sonic Network Inc. 2005 12 13 * Licensed under the Apache License, Version 2.0 (the "License"); 14 * you may not use this file except in compliance with the License. 15 * You may obtain a copy of the License at 16 * 17 * http://www.apache.org/licenses/LICENSE-2.0 18 * 19 * Unless required by applicable law or agreed to in writing, software 20 * distributed under the License is distributed on an "AS IS" BASIS, 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 22 * See the License for the specific language governing permissions and 23 * limitations under the License. 24 * 25 *---------------------------------------------------------------------------- 26 * Revision Control: 27 * $Revision: 686 $ 28 * $Date: 2007-05-03 14:10:54 -0700 (Thu, 03 May 2007) $ 29 *---------------------------------------------------------------------------- 30*/ 31 32#ifndef _EAS_SMF_DATA_H 33#define _EAS_SMF_DATA_H 34 35#ifndef MAX_SMF_STREAMS 36#define MAX_SMF_STREAMS 17 37#endif 38 39/* offsets in to the SMF file */ 40#define SMF_OFS_HEADER_SIZE 4 41#define SMF_OFS_FILE_TYPE 8 42#define SMF_OFS_NUM_TRACKS 10 43 44/* size of chunk info (chunk ID + chunk size) */ 45#define SMF_CHUNK_INFO_SIZE 8 46 47/* 'MTrk' track chunk ID */ 48#define SMF_CHUNK_TYPE_TRACK 0x4d54726bL 49 50/* some useful meta-events */ 51#define SMF_META_TEXT 0x01 52#define SMF_META_COPYRIGHT 0x02 53#define SMF_META_SEQTRK_NAME 0x03 54#define SMF_META_LYRIC 0x05 55#define SMF_META_END_OF_TRACK 0x2f 56#define SMF_META_TEMPO 0x51 57#define SMF_META_TIME_SIGNATURE 0x58 58 59/* default timebase (120BPM) */ 60#define SMF_DEFAULT_TIMEBASE 500000L 61 62/* value for pSMFStream->ticks to signify end of track */ 63#define SMF_END_OF_TRACK 0xffffffff 64 65#endif 66 67