diff options
Diffstat (limited to 'arm-wt-22k/lib_src/jet_data.h')
-rw-r--r-- | arm-wt-22k/lib_src/jet_data.h | 342 |
1 files changed, 171 insertions, 171 deletions
diff --git a/arm-wt-22k/lib_src/jet_data.h b/arm-wt-22k/lib_src/jet_data.h index 27b9cb1..6bd72e0 100644 --- a/arm-wt-22k/lib_src/jet_data.h +++ b/arm-wt-22k/lib_src/jet_data.h @@ -1,12 +1,12 @@ -/*----------------------------------------------------------------------------
- *
- * File:
- * jet_data.h
- *
- * Contents and purpose:
- * Internal data structures and interfaces for JET
- *
- * Copyright (c) 2006 Sonic Network Inc.
+/*---------------------------------------------------------------------------- + * + * File: + * jet_data.h + * + * Contents and purpose: + * Internal data structures and interfaces for JET + * + * Copyright (c) 2006 Sonic Network Inc. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,165 +19,165 @@ * 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: 554 $
- * $Date: 2007-02-02 11:06:10 -0800 (Fri, 02 Feb 2007) $
- *----------------------------------------------------------------------------
-*/
-
-#ifndef _JET_DATA_H
-#define _JET_DATA_H
-
-#include "eas.h"
-#include "jet.h"
-
-/* maximum number of segments allowed in a JET file */
-#ifndef JET_MAX_SEGMENTS
-#define JET_MAX_SEGMENTS 32
-#endif
-
-/* maximum number of DLS collections allowed in a JET file */
-#ifndef JET_MAX_DLS_COLLECTIONS
-#define JET_MAX_DLS_COLLECTIONS 4
-#endif
-
-/* maximum number of JET events in internal queue */
-#ifndef JET_EVENT_QUEUE_SIZE
-#define JET_EVENT_QUEUE_SIZE 32
-#endif
-
-/* maximum number of JET events in application queue */
-#ifndef APP_EVENT_QUEUE_SIZE
-#define APP_EVENT_QUEUE_SIZE 32
-#endif
-
-/* maximum number of active mute events */
-#ifndef JET_MUTE_QUEUE_SIZE
-#define JET_MUTE_QUEUE_SIZE 8
-#endif
-
-/*----------------------------------------------------------------------------
- * JET event definitions
- *----------------------------------------------------------------------------
-*/
-#define JET_EVENT_APP_LOW 80
-#define JET_EVENT_APP_HIGH 83
-#define JET_EVENT_LOW 102
-#define JET_EVENT_HIGH 119
-#define JET_EVENT_MARKER 102
-#define JET_EVENT_TRIGGER_CLIP 103
-
-#define JET_MARKER_LOOP_END 0
-
-#define JET_CLIP_ACTIVE_FLAG 0x80
-#define JET_CLIP_TRIGGER_FLAG 0x40
-#define JET_CLIP_ID_MASK 0x3f
-
-/*----------------------------------------------------------------------------
- * JET file definitions
- *----------------------------------------------------------------------------
-*/
-#define JET_TAG(a,b,c,d) (\
- ( ((EAS_U32)(a) & 0xFF) << 24 ) \
- + ( ((EAS_U32)(b) & 0xFF) << 16 ) \
- + ( ((EAS_U32)(c) & 0xFF) << 8 ) \
- + ( ((EAS_U32)(d) & 0xFF)))
-
-#define JET_VERSION 0x01000000
-#define JET_HEADER_TAG JET_TAG('J','E','T',' ')
-#define JET_INFO_CHUNK JET_TAG('J','I','N','F')
-#define JET_SMF_CHUNK JET_TAG('J','S','M','F')
-#define JET_DLS_CHUNK JET_TAG('J','D','L','S')
-#define INFO_JET_COPYRIGHT JET_TAG('J','C','O','P')
-#define JET_APP_DATA_CHUNK JET_TAG('J','A','P','P')
-
-#define INFO_NUM_SMF_CHUNKS JET_TAG('S','M','F','#')
-#define INFO_NUM_DLS_CHUNKS JET_TAG('D','L','S','#')
-#define INFO_JET_VERSION JET_TAG('J','V','E','R')
-
-/*----------------------------------------------------------------------------
- * S_JET_SEGMENT
- *
- * JET segment data
- *----------------------------------------------------------------------------
-*/
-typedef struct s_jet_segment_tag
-{
- EAS_HANDLE streamHandle;
- EAS_U32 muteFlags;
- EAS_I16 repeatCount;
- EAS_U8 userID;
- EAS_I8 transpose;
- EAS_I8 libNum;
- EAS_U8 state;
- EAS_U8 flags;
-} S_JET_SEGMENT;
-
-/* S_JET_SEGMENT.state */
-typedef enum
-{
- JET_STATE_CLOSED,
- JET_STATE_OPEN,
- JET_STATE_READY,
- JET_STATE_PLAYING,
- JET_STATE_PAUSED,
- JET_STATE_STOPPING
-} E_JET_SEGMENT_STATE;
-
-/* S_JEG_SEGMENT.flags */
-#define JET_SEG_FLAG_MUTE_UPDATE 0x01
-
-/*----------------------------------------------------------------------------
- * S_JET_DATA
- *
- * Main JET data structure
- *----------------------------------------------------------------------------
-*/
-#define SEG_QUEUE_DEPTH 3
-typedef struct s_jet_data_tag
-{
- EAS_FILE_HANDLE jetFileHandle;
- S_JET_SEGMENT segQueue[SEG_QUEUE_DEPTH];
- EAS_I32 segmentOffsets[JET_MAX_SEGMENTS];
- EAS_I32 appDataOffset;
- EAS_I32 appDataSize;
- EAS_DLSLIB_HANDLE libHandles[JET_MAX_DLS_COLLECTIONS];
- EAS_U32 jetEventQueue[JET_EVENT_QUEUE_SIZE];
- EAS_U32 appEventQueue[APP_EVENT_QUEUE_SIZE];
- S_JET_CONFIG config;
- EAS_U32 segmentTime;
- EAS_U8 muteQueue[JET_MUTE_QUEUE_SIZE];
- EAS_U8 numSegments;
- EAS_U8 numLibraries;
- EAS_U8 flags;
- EAS_U8 playSegment;
- EAS_U8 queueSegment;
- EAS_U8 numQueuedSegments;
- EAS_U8 jetEventQueueRead;
- EAS_U8 jetEventQueueWrite;
- EAS_U8 appEventQueueRead;
- EAS_U8 appEventQueueWrite;
-} S_JET_DATA;
-
-/* flags for S_JET_DATA.flags */
-#define JET_FLAGS_PLAYING 1
-
-#define JET_EVENT_VAL_MASK 0x0000007f /* mask for value */
-#define JET_EVENT_CTRL_MASK 0x00003f80 /* mask for controller */
-#define JET_EVENT_CHAN_MASK 0x0003c000 /* mask for channel */
-#define JET_EVENT_TRACK_MASK 0x00fc0000 /* mask for track number */
-#define JET_EVENT_SEG_MASK 0xff000000 /* mask for segment ID */
-#define JET_EVENT_CTRL_SHIFT 7 /* shift for controller number */
-#define JET_EVENT_CHAN_SHIFT 14 /* shift to for MIDI channel */
-#define JET_EVENT_TRACK_SHIFT 18 /* shift to get track ID to bit 0 */
-#define JET_EVENT_SEG_SHIFT 24 /* shift to get segment ID to bit 0 */
-
-/* prototype for callback function */
-extern void JET_Event (EAS_DATA_HANDLE easHandle, EAS_U32 segTrack, EAS_U8 channel, EAS_U8 controller, EAS_U8 value);
-
-/* prototype for JET render function */
-extern EAS_PUBLIC EAS_RESULT JET_Process (EAS_DATA_HANDLE easHandle);
-
-#endif
-
+ *---------------------------------------------------------------------------- + * Revision Control: + * $Revision: 554 $ + * $Date: 2007-02-02 11:06:10 -0800 (Fri, 02 Feb 2007) $ + *---------------------------------------------------------------------------- +*/ + +#ifndef _JET_DATA_H +#define _JET_DATA_H + +#include "eas.h" +#include "jet.h" + +/* maximum number of segments allowed in a JET file */ +#ifndef JET_MAX_SEGMENTS +#define JET_MAX_SEGMENTS 32 +#endif + +/* maximum number of DLS collections allowed in a JET file */ +#ifndef JET_MAX_DLS_COLLECTIONS +#define JET_MAX_DLS_COLLECTIONS 4 +#endif + +/* maximum number of JET events in internal queue */ +#ifndef JET_EVENT_QUEUE_SIZE +#define JET_EVENT_QUEUE_SIZE 32 +#endif + +/* maximum number of JET events in application queue */ +#ifndef APP_EVENT_QUEUE_SIZE +#define APP_EVENT_QUEUE_SIZE 32 +#endif + +/* maximum number of active mute events */ +#ifndef JET_MUTE_QUEUE_SIZE +#define JET_MUTE_QUEUE_SIZE 8 +#endif + +/*---------------------------------------------------------------------------- + * JET event definitions + *---------------------------------------------------------------------------- +*/ +#define JET_EVENT_APP_LOW 80 +#define JET_EVENT_APP_HIGH 83 +#define JET_EVENT_LOW 102 +#define JET_EVENT_HIGH 119 +#define JET_EVENT_MARKER 102 +#define JET_EVENT_TRIGGER_CLIP 103 + +#define JET_MARKER_LOOP_END 0 + +#define JET_CLIP_ACTIVE_FLAG 0x80 +#define JET_CLIP_TRIGGER_FLAG 0x40 +#define JET_CLIP_ID_MASK 0x3f + +/*---------------------------------------------------------------------------- + * JET file definitions + *---------------------------------------------------------------------------- +*/ +#define JET_TAG(a,b,c,d) (\ + ( ((EAS_U32)(a) & 0xFF) << 24 ) \ + + ( ((EAS_U32)(b) & 0xFF) << 16 ) \ + + ( ((EAS_U32)(c) & 0xFF) << 8 ) \ + + ( ((EAS_U32)(d) & 0xFF))) + +#define JET_VERSION 0x01000000 +#define JET_HEADER_TAG JET_TAG('J','E','T',' ') +#define JET_INFO_CHUNK JET_TAG('J','I','N','F') +#define JET_SMF_CHUNK JET_TAG('J','S','M','F') +#define JET_DLS_CHUNK JET_TAG('J','D','L','S') +#define INFO_JET_COPYRIGHT JET_TAG('J','C','O','P') +#define JET_APP_DATA_CHUNK JET_TAG('J','A','P','P') + +#define INFO_NUM_SMF_CHUNKS JET_TAG('S','M','F','#') +#define INFO_NUM_DLS_CHUNKS JET_TAG('D','L','S','#') +#define INFO_JET_VERSION JET_TAG('J','V','E','R') + +/*---------------------------------------------------------------------------- + * S_JET_SEGMENT + * + * JET segment data + *---------------------------------------------------------------------------- +*/ +typedef struct s_jet_segment_tag +{ + EAS_HANDLE streamHandle; + EAS_U32 muteFlags; + EAS_I16 repeatCount; + EAS_U8 userID; + EAS_I8 transpose; + EAS_I8 libNum; + EAS_U8 state; + EAS_U8 flags; +} S_JET_SEGMENT; + +/* S_JET_SEGMENT.state */ +typedef enum +{ + JET_STATE_CLOSED, + JET_STATE_OPEN, + JET_STATE_READY, + JET_STATE_PLAYING, + JET_STATE_PAUSED, + JET_STATE_STOPPING +} E_JET_SEGMENT_STATE; + +/* S_JEG_SEGMENT.flags */ +#define JET_SEG_FLAG_MUTE_UPDATE 0x01 + +/*---------------------------------------------------------------------------- + * S_JET_DATA + * + * Main JET data structure + *---------------------------------------------------------------------------- +*/ +#define SEG_QUEUE_DEPTH 3 +typedef struct s_jet_data_tag +{ + EAS_FILE_HANDLE jetFileHandle; + S_JET_SEGMENT segQueue[SEG_QUEUE_DEPTH]; + EAS_I32 segmentOffsets[JET_MAX_SEGMENTS]; + EAS_I32 appDataOffset; + EAS_I32 appDataSize; + EAS_DLSLIB_HANDLE libHandles[JET_MAX_DLS_COLLECTIONS]; + EAS_U32 jetEventQueue[JET_EVENT_QUEUE_SIZE]; + EAS_U32 appEventQueue[APP_EVENT_QUEUE_SIZE]; + S_JET_CONFIG config; + EAS_U32 segmentTime; + EAS_U8 muteQueue[JET_MUTE_QUEUE_SIZE]; + EAS_U8 numSegments; + EAS_U8 numLibraries; + EAS_U8 flags; + EAS_U8 playSegment; + EAS_U8 queueSegment; + EAS_U8 numQueuedSegments; + EAS_U8 jetEventQueueRead; + EAS_U8 jetEventQueueWrite; + EAS_U8 appEventQueueRead; + EAS_U8 appEventQueueWrite; +} S_JET_DATA; + +/* flags for S_JET_DATA.flags */ +#define JET_FLAGS_PLAYING 1 + +#define JET_EVENT_VAL_MASK 0x0000007f /* mask for value */ +#define JET_EVENT_CTRL_MASK 0x00003f80 /* mask for controller */ +#define JET_EVENT_CHAN_MASK 0x0003c000 /* mask for channel */ +#define JET_EVENT_TRACK_MASK 0x00fc0000 /* mask for track number */ +#define JET_EVENT_SEG_MASK 0xff000000 /* mask for segment ID */ +#define JET_EVENT_CTRL_SHIFT 7 /* shift for controller number */ +#define JET_EVENT_CHAN_SHIFT 14 /* shift to for MIDI channel */ +#define JET_EVENT_TRACK_SHIFT 18 /* shift to get track ID to bit 0 */ +#define JET_EVENT_SEG_SHIFT 24 /* shift to get segment ID to bit 0 */ + +/* prototype for callback function */ +extern void JET_Event (EAS_DATA_HANDLE easHandle, EAS_U32 segTrack, EAS_U8 channel, EAS_U8 controller, EAS_U8 value); + +/* prototype for JET render function */ +extern EAS_PUBLIC EAS_RESULT JET_Process (EAS_DATA_HANDLE easHandle); + +#endif + |