char * outputname = "output.swf";
int verbose = 2;
int stopframe0 = 0;
+int stopframe1 = 0;
#define DEFINESOUND_MP3 1 //define sound uses mp3?- undefine for raw sound.
{"o", "output"},
{"r", "framerate"},
{"s", "samplerate"},
-{"b", "bitrate"},
{"d", "definesound"},
{"l", "loop"},
{"C", "cgi"},
{"S", "stop"},
+{"E", "end"},
{"b", "bitrate"},
{"v", "verbose"},
{0,0}
stopframe0 = 1;
return 0;
}
+ else if(!strcmp(name, "E")) {
+ stopframe1 = 1;
+ return 0;
+ }
else if(!strcmp(name, "C")) {
do_cgi = 1;
return 0;
printf("-o , --output <filename> Explicitly specify output file. (Otherwise, output will go to output.swf)\n");
printf("-r , --framerate <fps> Set file framerate to <fps> frames per second.\n");
printf("-s , --samplerate <sps> Set samplerate to <sps> frames per second (default: 11025).\n");
- printf("-b , --bitrate bps Set mp3 bitrate to <bps>.\n");
printf("-d , --definesound Generate a DefineSound tag instead of streaming sound.\n");
printf("-l , --loop n (Only used with -d)\n");
printf("-C , --cgi For use as CGI- prepend http header, write to stdout.\n");
printf("-S , --stop Stop the movie at frame 0\n");
+ printf("-E , --end Stop the movie at the end frame\n");
printf("-b , --bitrate <bps> Set mp3 bitrate to <bps> (default: 32)\n");
printf("-v , --verbose Be more verbose\n");
printf("\n");
samples = (U16*)wav2.data;
numsamples = wav2.size/2;
+#ifdef WORDS_BIGENDIAN
+ /* swap bytes */
+ for(t=0;t<numsamples;t++) {
+ samples[t] = (samples[t]>>8)&0xff | (samples[t]<<8)&0xff00;
+ }
+#endif
+
if(numsamples%blocksize != 0)
{
// apply padding, so that block is a multiple of blocksize
info.loops = loop;
swf_SetSoundInfo(tag, &info);
tag = swf_InsertTag(tag, ST_SHOWFRAME);
+ if(stopframe1) {
+ ActionTAG*action = 0;
+ tag = swf_InsertTag(tag, ST_DOACTION);
+ action = action_Stop(action);
+ action = action_End(action);
+ swf_ActionSet(tag, action);
+ swf_ActionFree(action);
+ tag = swf_InsertTag(tag, ST_SHOWFRAME);
+ }
tag = swf_InsertTag(tag, ST_END);
}