} TAG, * LPTAG;
+typedef struct _SOUNDINFO
+{
+ U8 stop;
+ U8 multiple; //continue playing if already started
+
+ U32 inpoint;
+ U32 outpoint;
+
+ U16 loops;
+ U8 envelopes;
+
+ //envelope:
+ U32* pos;
+ U32* left;
+ U32* right;
+} SOUNDINFO;
typedef struct _SWF
{ U8 fileVersion;
void swf_FoldSprite(TAG*tag);
void swf_UnFoldSprite(TAG*tag);
+// tag reordering:
+
+void swf_OptimizeTagOrder(SWF*swf);
+
// basic routines:
TAG * swf_InsertTag(TAG * after,U16 id); // updates frames, if necessary
// swfsound.c
void swf_SetSoundStreamHead(TAG*tag, int avgnumsamples);
-/* expects 2304 samples */
-void swf_SetSoundStreamBlock(TAG*tag, S16*samples, char first);
+void swf_SetSoundStreamBlock(TAG*tag, S16*samples, char first); /* expects 2304 samples */
+
+void swf_SetSoundDefine(TAG*tag, S16*samples, int num);
+
+void swf_SetSoundInfo(TAG*tag, SOUNDINFO*info);
#endif // RFXSWF_DISABLESOUND