summaryrefslogtreecommitdiffstats
path: root/arm-fm-22k/lib_src/eas_rtttldata.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm-fm-22k/lib_src/eas_rtttldata.h')
-rw-r--r--arm-fm-22k/lib_src/eas_rtttldata.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/arm-fm-22k/lib_src/eas_rtttldata.h b/arm-fm-22k/lib_src/eas_rtttldata.h
new file mode 100644
index 0000000..bf4c38b
--- /dev/null
+++ b/arm-fm-22k/lib_src/eas_rtttldata.h
@@ -0,0 +1,70 @@
+/*----------------------------------------------------------------------------
+ *
+ * File:
+ * eas_rtttldata.h
+ *
+ * Contents and purpose:
+ * SMF File Parser
+ *
+ * This file contains data declarations for the RTTTL parser.
+ *
+ * Copyright Sonic Network Inc. 2005
+
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * 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: 82 $
+ * $Date: 2006-07-10 11:45:19 -0700 (Mon, 10 Jul 2006) $
+ *----------------------------------------------------------------------------
+*/
+
+#ifndef EAS_RTTTLDATA_H
+#define EAS_RTTTLDATA_H
+
+#include "eas_data.h"
+
+
+/* maximum line size as specified in iMelody V1.2 spec */
+#define MAX_LINE_SIZE 75
+
+/*----------------------------------------------------------------------------
+ *
+ * S_RTTTL_DATA
+ *
+ * This structure contains the state data for the iMelody parser
+ *----------------------------------------------------------------------------
+*/
+
+typedef struct
+{
+ EAS_FILE_HANDLE fileHandle; /* file handle */
+ S_SYNTH *pSynth; /* synthesizer handle */
+ S_METADATA_CB metadata; /* metadata callback */
+ EAS_I32 fileOffset; /* offset to start of data */
+ EAS_I32 time; /* current time in 256ths of a msec */
+ EAS_I32 tick; /* length of 32nd note in 256th of a msec */
+ EAS_I32 restTicks; /* ticks to rest after current note */
+ EAS_I32 repeatOffset; /* file offset to start of repeat section */
+ EAS_U8 repeatCount; /* repeat counter */
+ EAS_I8 dataByte; /* storage for characters that are "put back" */
+ EAS_U8 state; /* current state EAS_STATE_XXXX */
+ EAS_I8 style; /* from STYLE */
+ EAS_U8 note; /* MIDI note number */
+ EAS_U8 octave; /* decault octave prefix */
+ EAS_I8 duration; /* default note duration */
+} S_RTTTL_DATA;
+
+#endif
+
+