[Scummvm-cvs-logs] CVS: tools Makefile,1.52,1.53 compress.c,1.7,1.8 compress.h,1.2,1.3 compress_saga.c,1.4,1.5 compress_san.cpp,1.40,1.41 compress_scumm_bun.cpp,1.25,1.26 compress_scumm_sou.c,1.5,1.6 compress_simon.c,1.5,1.6 compress_sword1.c,1.5,1.6 compress_sword2.c,1.4,1.5

Torbjörn Andersson eriktorbjorn at users.sourceforge.net
Thu Jun 9 05:43:59 CEST 2005


Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9477

Modified Files:
	Makefile compress.c compress.h compress_saga.c 
	compress_san.cpp compress_scumm_bun.cpp compress_scumm_sou.c 
	compress_simon.c compress_sword1.c compress_sword2.c 
Log Message:
Applied patch #1217438 to allow setting encoder params in the BUN and SAN
compressing tools.


Index: Makefile
===================================================================
RCS file: /cvsroot/scummvm/tools/Makefile,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- Makefile	17 May 2005 23:35:17 -0000	1.52
+++ Makefile	9 Jun 2005 12:38:44 -0000	1.53
@@ -37,7 +37,7 @@
 
 all: $(TARGETS)
 
-compress_san$(EXEEXT): compress_san.o util.o
+compress_san$(EXEEXT): compress_san.o compress.o util.o
 	$(CXX) $(LDFLAGS) -o $@ $+ -lz
 
 descumm$(EXEEXT): descumm-tool.o descumm.o descumm6.o descumm-common.o util.o
@@ -55,7 +55,7 @@
 compress_scumm_sou$(EXEEXT): compress_scumm_sou.o compress.o util.o
 	$(CC) $(LDFLAGS) -o $@ $+
 
-compress_scumm_bun$(EXEEXT): compress_scumm_bun.o util.o
+compress_scumm_bun$(EXEEXT): compress_scumm_bun.o compress.o util.o
 	$(CXX) $(LDFLAGS) -o $@ $+
 
 extract_loom_tg16$(EXEEXT): extract_loom_tg16.o

Index: compress.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- compress.c	7 Feb 2005 13:38:32 -0000	1.7
+++ compress.c	9 Jun 2005 12:38:44 -0000	1.8
@@ -290,7 +290,7 @@
 	encodeAudio(outName, true, real_samplerate, tempEncoded, compMode);
 }
 
-void process_mp3_parms(int argc, char *argv[], int i) {
+int process_mp3_parms(int argc, char *argv[], int i) {
 	for (; i < argc; i++) {
 		if (strcmp(argv[i], "--vbr") == 0) {
 			encparms.abr=0;
@@ -331,19 +331,20 @@
 		} else if (strcmp(argv[i], "--silent") == 0) {
 			encparms.silent = 1;
 		} else if (strcmp(argv[i], "--help") == 0) {
-			showhelp(argv[0]);
+			return 0;
 		} else if (argv[i][0] == '-') {
-			showhelp(argv[0]);
+			return 0;
 		} else {
 			break;
 		}
 	}
 	if (i != (argc - 1)) {
-		showhelp(argv[0]);
+		return 0;
 	}
+	return 1;
 }
 
-void process_ogg_parms(int argc, char *argv[], int i) {
+int process_ogg_parms(int argc, char *argv[], int i) {
 	for (; i < argc; i++) {
 		if (strcmp(argv[i], "-b") == 0) {
 			oggparms.nominalBitr = atoi(argv[i + 1]);
@@ -365,23 +366,24 @@
 			oggparms.silent = 1;
 		}
 		else if (strcmp(argv[i], "--help") == 0) {
-			showhelp(argv[0]);
+			return 0;
 		}
 		else if (argv[i][0] == '-') {
-			showhelp(argv[0]);
+			return 0;
 		}
 		else
 			break;
 	}
 	if (i != argc - 1)
-		showhelp(argv[0]);
+		return 0;
+	return 1;
 }
 
-void process_flac_parms(int argc, char *argv[], int i){
+int process_flac_parms(int argc, char *argv[], int i){
 	flacparms.argv = &argv[i];
 	flacparms.numArgs = argc - 1 - i;
 
 	if (i >= argc)
-		showhelp(argv[0]);
+		return 0;
+	return 1;
 }
-

Index: compress.h
===================================================================
RCS file: /cvsroot/scummvm/tools/compress.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- compress.h	1 Jan 2005 10:33:29 -0000	1.2
+++ compress.h	9 Jun 2005 12:38:44 -0000	1.3
@@ -24,6 +24,9 @@
 
 #include "util.h"
 
+#if defined(__cplusplus)
+extern "C" {
+#endif
 
 /* These are the defaults parameters for the Lame invocation */
 #define minBitrDef 24
@@ -48,19 +51,18 @@
 
 const extern char *tempEncoded;
 
-extern void process_mp3_parms(int argc, char *argv[], int i);
-extern void process_ogg_parms(int argc, char *argv[], int i);
-extern void process_flac_parms(int argc, char *argv[], int i);
+extern int process_mp3_parms(int argc, char *argv[], int i);
+extern int process_ogg_parms(int argc, char *argv[], int i);
+extern int process_flac_parms(int argc, char *argv[], int i);
 
 extern void extractAndEncodeVOC(const char *outName, FILE *input, CompressMode compMode);
 extern void extractAndEncodeWAV(const char *outName, FILE *input, CompressMode compMode);
 
 extern void encodeAudio(const char *inname, bool rawInput, int rawSamplerate, const char *outname, CompressMode compmode);
 extern void setRawAudioType(bool isLittleEndian, bool isStereo, uint8 bitsPerSample);
-/*
- * Stuff which is in compress_scumm_sou.c / compress_simon.c / compress_sword2.c
- */
-extern void showhelp(char *exename);
 
+#if defined(__cplusplus)
+}
+#endif
 
 #endif

Index: compress_saga.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_saga.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- compress_saga.c	1 Jan 2005 10:33:29 -0000	1.4
+++ compress_saga.c	9 Jun 2005 12:38:44 -0000	1.5
@@ -221,15 +221,18 @@
 	switch (gCompMode) {
 	case kMP3Mode:
 		tempEncoded = TEMP_MP3;
-		process_mp3_parms(argc, argv, i);
+		if (!process_mp3_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kVorbisMode:
 		tempEncoded = TEMP_OGG;
-		process_ogg_parms(argc, argv, i);
+		if (!process_ogg_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kFlacMode:
 		tempEncoded = TEMP_FLAC;
-		process_flac_parms(argc, argv, i);
+		if (!process_flac_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	}
 

Index: compress_san.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_san.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- compress_san.cpp	5 Jun 2005 18:26:25 -0000	1.40
+++ compress_san.cpp	9 Jun 2005 12:38:44 -0000	1.41
@@ -19,7 +19,7 @@
  *
  */
 
-#include "util.h"
+#include "compress.h"
 #include "zlib.h"
 
 inline uint16 READ_LE_UINT16(const void *ptr) {
@@ -44,7 +44,7 @@
 }
 
 void showhelp(char *exename) {
-	printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg]\n", exename);
+	printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg] [encoder params]\n", exename);
 	exit(2);
 }
 
@@ -85,28 +85,19 @@
 
 void encodeWaveWithOgg(char *filename) {
 	char fbuf[2048];
-	bool err = false;
-
-	sprintf(fbuf, "oggenc -q 0 %s.wav", filename);
-	err = system(fbuf) != 0;
-	if (err) {
-		printf("Got error from encoder. (check your parameters)\n");
-		printf("Encoder Commandline: %s\n", fbuf );
-		exit(-1);
-	}
+	char fbuf2[2048];
+	sprintf(fbuf, "\"%s\".wav", filename);
+	sprintf(fbuf2, "\"%s\".ogg", filename);
+	encodeAudio(fbuf, false, -1, fbuf2, kVorbisMode);
 }
 
 void encodeWaveWithLame(char *filename) {
 	char fbuf[2048];
-	bool err = false;
+	char fbuf2[2048];
 
-	sprintf(fbuf, "lame --vbr-new -V 9 -quiet -t \"%s\".wav \"%s\".mp3", filename, filename);
-	err = system(fbuf) != 0;
-	if (err) {
-		printf("Got error from encoder. (check your parameters)\n");
-		printf("Encoder Commandline: %s\n", fbuf );
-		exit(-1);
-	}
+	sprintf(fbuf, "\"%s\".wav", filename);
+	sprintf(fbuf2, "\"%s\".mp3", filename);
+	encodeAudio(fbuf, false, -1, fbuf2, kMP3Mode);
 }
 
 void writeWaveHeader(int s_size) {
@@ -662,8 +653,38 @@
 	strcpy(inputDir, argv[2]);
 	strcpy(outputDir, argv[3]);
 
-	if ((argc == 5) && (strcmp(argv[4], "--ogg") == 0)) {
-		_oggMode = true;
+	if (argc > 4) {
+		int i = 4;
+
+		if (strcmp(argv[i], "--ogg") == 0) {
+			_oggMode = true;
+			i++;
+		}
+
+		if (argc > i) {
+			// HACK: The functions in compress.c expect the last
+			// argument to be a filename. As we don't expect one,
+			// we simply add a dummy argument to the list.
+			char **args = (char **)malloc((argc + 1) * sizeof(char *));
+			char dummyName[] = "dummy";
+			int j;
+
+			for (j = 0; j < argc; j++)
+				args[j] = argv[j];
+			args[j] = dummyName;
+		
+			int result;
+
+			if (_oggMode)
+				result = process_ogg_parms(argc + 1, args, i);
+			else
+				result = process_mp3_parms(argc + 1, args, i);
+
+			if (!result)
+				showhelp(argv[0]);
+
+			free(args);
+		}
 	}
 
 	char *index = strrchr(inputFilename, '.');

Index: compress_scumm_bun.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_scumm_bun.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- compress_scumm_bun.cpp	5 Jun 2005 18:26:25 -0000	1.25
+++ compress_scumm_bun.cpp	9 Jun 2005 12:38:44 -0000	1.26
@@ -19,7 +19,7 @@
  *
  */
 
-#include "util.h"
+#include "compress.h"
 
 inline uint16 READ_LE_UINT16(const void *ptr) {
 	const byte *b = (const byte *)ptr;
@@ -655,7 +655,7 @@
 }
 
 void showhelp(char *exename) {
-	printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg]\n", exename);
+	printf("\nUsage: %s <inputfile> <inputdir> <outputdir> [--ogg] [encoder params]\n", exename);
 	exit(2);
 }
 
@@ -673,28 +673,19 @@
 
 void encodeWaveWithOgg(char *filename) {
 	char fbuf[2048];
-	bool err = false;
-
-	sprintf(fbuf, "oggenc -q 0 \"%s\".wav", filename);
-	err = system(fbuf) != 0;
-	if (err) {
-		printf("Got error from encoder. (check your parameters)\n");
-		printf("Encoder Commandline: %s\n", fbuf );
-		exit(-1);
-	}
+	char fbuf2[2048];
+	sprintf(fbuf, "\"%s\".wav", filename);
+	sprintf(fbuf2, "\"%s\".ogg", filename);
+	encodeAudio(fbuf, false, -1, fbuf2, kVorbisMode);
 }
 
 void encodeWaveWithLame(char *filename) {
 	char fbuf[2048];
-	bool err = false;
+	char fbuf2[2048];
 
-	sprintf(fbuf, "lame --vbr-new -V 9 -quiet -t \"%s\".wav \"%s\".mp3", filename, filename);
-	err = system(fbuf) != 0;
-	if (err) {
-		printf("Got error from encoder. (check your parameters)\n");
-		printf("Encoder Commandline: %s\n", fbuf );
-		exit(-1);
-	}
+	sprintf(fbuf, "\"%s\".wav", filename);
+	sprintf(fbuf2, "\"%s\".wav", filename);
+	encodeAudio(fbuf, false, -1, fbuf2, kMP3Mode);
 }
 
 void writeWaveHeader(int s_size, int rate, int chan) {
@@ -1103,8 +1094,38 @@
 	strcpy(inputDir, argv[2]);
 	strcpy(outputDir, argv[3]);
 
-	if ((argc == 5) && (strcmp(argv[4], "--ogg") == 0)) {
-		_oggMode = true;
+	if (argc > 4) {
+		i = 4;
+
+		if (strcmp(argv[i], "--ogg") == 0) {
+			_oggMode = true;
+			i++;
+		}
+
+		if (argc > i) {
+			// HACK: The functions in compress.c expect the last
+			// argument to be a filename. As we don't expect one,
+			// we simply add a dummy argument to the list.
+			char **args = (char **)malloc((argc + 1) * sizeof(char *));
+			char dummyName[] = "dummy";
+			int j;
+
+			for (j = 0; j < argc; j++)
+				args[j] = argv[j];
+			args[j] = dummyName;
+		
+			int result;
+
+			if (_oggMode)
+				result = process_ogg_parms(argc + 1, args, i);
+			else
+				result = process_mp3_parms(argc + 1, args, i);
+
+			if (!result)
+				showhelp(argv[0]);
+
+			free(args);
+		}
 	}
 
 	char *index = strrchr(inputFilename, '.');

Index: compress_scumm_sou.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_scumm_sou.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- compress_scumm_sou.c	2 Mar 2005 04:02:49 -0000	1.5
+++ compress_scumm_sou.c	9 Jun 2005 12:38:44 -0000	1.6
@@ -206,17 +206,20 @@
 	case kMP3Mode:
 		outputName = OUTPUT_MP3;
 		tempEncoded = TEMP_MP3;
-		process_mp3_parms(argc, argv, i);
+		if (!process_mp3_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kVorbisMode:
 		outputName = OUTPUT_OGG;
 		tempEncoded = TEMP_OGG;
-		process_ogg_parms(argc, argv, i);
+		if (!process_ogg_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kFlacMode:
 		outputName = OUTPUT_FLAC;
 		tempEncoded = TEMP_FLAC;
-		process_flac_parms(argc, argv, i);
+		if (!process_flac_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	}
 

Index: compress_simon.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_simon.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- compress_simon.c	29 Mar 2005 21:16:13 -0000	1.5
+++ compress_simon.c	9 Jun 2005 12:38:44 -0000	1.6
@@ -332,15 +332,18 @@
 	switch (gCompMode) {
 	case kMP3Mode:
 		tempEncoded = TEMP_MP3;
-		process_mp3_parms(argc, argv, i);
+		if (!process_mp3_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kVorbisMode:
 		tempEncoded = TEMP_OGG;
-		process_ogg_parms(argc, argv, i);
+		if (!process_ogg_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kFlacMode:
 		tempEncoded = TEMP_FLAC;
-		process_flac_parms(argc, argv, i);
+		if (!process_flac_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	}
 

Index: compress_sword1.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_sword1.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- compress_sword1.c	7 Feb 2005 13:38:37 -0000	1.5
+++ compress_sword1.c	9 Jun 2005 12:38:44 -0000	1.6
@@ -527,17 +527,20 @@
 	/*       As we don't expect one, we simply add a dummy argument to the list. */
 	char **args;
 	int cnt;
+	int result;
 	char dummyName[] = "dummy";
 	args = (char **)malloc((argc + 1) * sizeof(char *));
 	for (cnt = 0; cnt < argc; cnt++)
 		args[cnt] = argv[cnt];
 	args[argc] = dummyName;
-    if (mode == kMP3Mode)
-		process_mp3_parms(argc + 1, args, i);
+	if (mode == kMP3Mode)
+		result = process_mp3_parms(argc + 1, args, i);
 	else if (mode == kVorbisMode)
-		process_ogg_parms(argc + 1, args, i);
+		result = process_ogg_parms(argc + 1, args, i);
 	else
 		error("Unknown encoding method");
+	if (!result)
+		showhelp(argv[0]);
 	free(args);
 }
 

Index: compress_sword2.c
===================================================================
RCS file: /cvsroot/scummvm/tools/compress_sword2.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- compress_sword2.c	1 Jan 2005 10:33:29 -0000	1.4
+++ compress_sword2.c	9 Jun 2005 12:38:44 -0000	1.5
@@ -122,15 +122,18 @@
 	switch (gCompMode) {
 	case kMP3Mode:
 		tempEncoded = TEMP_MP3;
-		process_mp3_parms(argc, argv, i);
+		if (!process_mp3_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kVorbisMode:
 		tempEncoded = TEMP_OGG;
-		process_ogg_parms(argc, argv, i);
+		if (!process_ogg_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	case kFlacMode:
 		tempEncoded = TEMP_FLAC;
-		process_flac_parms(argc, argv, i);
+		if (!process_flac_parms(argc, argv, i))
+			showhelp(argv[0]);
 		break;
 	}
 





More information about the Scummvm-git-logs mailing list