[Scummvm-cvs-logs] SF.net SVN: scummvm:[48518] tools/branches/branch-1-1-0

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Apr 4 21:10:23 CEST 2010


Revision: 48518
          http://scummvm.svn.sourceforge.net/scummvm/?rev=48518&view=rev
Author:   fingolfin
Date:     2010-04-04 19:10:22 +0000 (Sun, 04 Apr 2010)

Log Message:
-----------
Backport patch #2981339: Tools GUI: fix use of audio options

Modified Paths:
--------------
    tools/branches/branch-1-1-0/compress.cpp
    tools/branches/branch-1-1-0/compress.h
    tools/branches/branch-1-1-0/gui/gui_tools.cpp

Modified: tools/branches/branch-1-1-0/compress.cpp
===================================================================
--- tools/branches/branch-1-1-0/compress.cpp	2010-04-04 19:09:59 UTC (rev 48517)
+++ tools/branches/branch-1-1-0/compress.cpp	2010-04-04 19:10:22 UTC (rev 48518)
@@ -773,6 +773,123 @@
 	encodeAudio(outName, true, real_samplerate, tempEncoded, compMode);
 }
 
+// mp3 settings
+void CompressionTool::setMp3CompressionType(const std::string& arg) {
+	encparms.abr = (arg == "ABR");
+}
+
+void CompressionTool::setMp3MpegQuality(const std::string& arg) {
+	encparms.algqual = atoi(arg.c_str());
+	
+	if (encparms.algqual == 0 && arg != "0")
+		throw ToolException("Quality (-q) must be a number.");
+	
+	if (encparms.algqual > 9)
+		throw ToolException("Quality (-q) out of bounds, must be between 0 and 9.");
+}
+
+void CompressionTool::setMp3ABRBitrate(const std::string& arg) {
+	setMp3VBRMinBitrate(arg);
+}
+
+void CompressionTool::setMp3VBRMinBitrate(const std::string& arg) {
+	encparms.minBitr = atoi(arg.c_str());
+	
+	if (encparms.minBitr == 0 && arg != "0")
+		throw ToolException("Minimum bitrate (-b) must be a number.");
+	
+	if (encparms.minBitr < 8 || encparms.minBitr > 160)
+		throw ToolException("Minimum bitrate out of bounds (-b), must be between 8 and 160.");
+}
+
+void CompressionTool::setMp3VBRMaxBitrate(const std::string& arg) {
+	encparms.maxBitr = atoi(arg.c_str());
+	
+	if (encparms.maxBitr == 0 && arg != "0")
+		throw ToolException("Maximum bitrate (-B) must be a number.");
+
+	if ((encparms.maxBitr % 8) != 0)
+		encparms.maxBitr -= encparms.maxBitr % 8;
+
+	if (encparms.maxBitr < 8 || encparms.maxBitr > 160)
+		throw ToolException("Maximum bitrate out of bounds (-B), must be between 8 and 160.");
+}
+
+void CompressionTool::setMp3VBRQuality(const std::string& arg) {
+	encparms.vbrqual = atoi(arg.c_str());
+	if (encparms.vbrqual > 9)
+		throw ToolException("Quality (-q) out of bounds, must be between 0 and 9.");
+}
+
+// flac
+void CompressionTool::setFlacCompressionLevel(const std::string& arg) {
+	flacparms.compressionLevel = atoi(arg.c_str());
+	
+	if (flacparms.compressionLevel == 0 && arg != "0")
+		throw ToolException("FLAC compression level must be a number.");
+
+	if (flacparms.compressionLevel < 0 || flacparms.compressionLevel > 8)
+		throw ToolException("FLAC compression level ot of bounds, must be between 0 and 8.");
+		
+}
+
+void CompressionTool::setFlacBlockSize(const std::string& arg) {
+	flacparms.blocksize = atoi(arg.c_str());
+
+	if (flacparms.blocksize == 0 && arg != "0")
+		throw ToolException("FLAC block size (-b) must be a number.");
+}
+
+// vorbis
+void CompressionTool::setOggQuality(const std::string& arg) {
+	oggparms.quality = (float)atoi(arg.c_str());
+	
+	if (oggparms.quality == 0. && arg != "0")
+		throw ToolException("Quality (-q) must be a number.");
+	
+	if (oggparms.quality < 0. || oggparms.quality > 10.)
+		throw ToolException("Quality out of bounds (-q), must be between 0 and 10.");
+}
+
+void CompressionTool::setOggMinBitrate(const std::string& arg) {
+	oggparms.minBitr = atoi(arg.c_str());
+
+	if (oggparms.minBitr == 0 && arg != "0")
+		throw ToolException("Minimum bitrate (-m) must be a number.");
+
+	if ((oggparms.minBitr % 8) != 0)
+		oggparms.minBitr -= oggparms.minBitr % 8;
+	
+	if (oggparms.minBitr < 8 || oggparms.minBitr > 160)
+		throw ToolException("Minimum bitrate out of bounds (-m), must be between 8 and 160.");
+}
+
+void CompressionTool::setOggAvgBitrate(const std::string& arg) {
+	oggparms.nominalBitr = atoi(arg.c_str());
+	
+	if (oggparms.nominalBitr == 0 && arg != "0")
+		throw ToolException("Nominal bitrate (-b) must be a number.");
+
+	if ((oggparms.nominalBitr % 8) != 0)
+		oggparms.nominalBitr -= oggparms.nominalBitr % 8;
+
+	if (oggparms.nominalBitr < 8 || oggparms.nominalBitr > 160)
+		throw ToolException("Nominal bitrate out of bounds (-b), must be between 8 and 160.");
+}
+
+void CompressionTool::setOggMaxBitrate(const std::string& arg) {
+	oggparms.maxBitr = atoi(arg.c_str());
+
+	if (oggparms.maxBitr == 0 && arg != "0")
+		throw ToolException("Maximum bitrate (-M) must be a number.");
+
+	if ((oggparms.maxBitr % 8) != 0)
+		oggparms.maxBitr -= oggparms.maxBitr % 8;
+
+	if (oggparms.maxBitr < 8 || oggparms.maxBitr > 160)
+		throw ToolException("Maximum bitrate out of bounds (-M), must be between 8 and 160.");
+}
+
 bool CompressionTool::processMp3Parms() {
 	while (!_arguments.empty()) {
 		std::string arg = _arguments.front();
@@ -782,60 +899,29 @@
 			encparms.abr = 0;
 		} else if (arg == "--abr") {
 			encparms.abr = 1;
+
 		} else if (arg == "-b") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -b");
-			encparms.minBitr = atoi(_arguments.front().c_str());
-
-			if (encparms.minBitr > 160)
-				throw ToolException("Minimum bitrate out of bounds (-b), must be between 8 and 160.");
-
-			if (encparms.minBitr == 0 && _arguments.front() != "0")
-				throw ToolException("Minimum bitrate (-b) must be a number.");
-
-			if (encparms.minBitr < 8)
-				throw ToolException("Minimum bitrate out of bounds (-b), must be between 8 and 160.");
-
+			setMp3VBRMinBitrate(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "-B") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -B");
-			encparms.maxBitr = atoi(_arguments.front().c_str());
-
-			if ((encparms.maxBitr % 8) != 0) {
-				encparms.maxBitr -= encparms.maxBitr % 8;
-			}
-
-			if (encparms.maxBitr > 160)
-				throw ToolException("Maximum bitrate out of bounds (-B), must be between 8 and 160.");
-
-			if (encparms.maxBitr == 0 && _arguments.front() != "0")
-				throw ToolException("Maximum bitrate (-B) must be a number.");
-
-			if (encparms.maxBitr < 8)
-				throw ToolException("Maximum bitrate out of bounds (-B), must be between 8 and 160.");
-
+			setMp3VBRMaxBitrate(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "-V") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -V");
-			encparms.vbrqual = atoi(_arguments.front().c_str());
-
-			if (encparms.vbrqual > 9)
-				throw ToolException("Quality (-q) out of bounds, must be between 0 and 9.");
-
+			setMp3VBRQuality(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "-q") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -q");
-			encparms.algqual = atoi(_arguments.front().c_str());
-
-			if (encparms.algqual > 9)
-				throw ToolException("Quality (-q) out of bounds, must be between 0 and 9.");
-
+			setMp3MpegQuality(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "--silent") {
@@ -857,66 +943,25 @@
 		if (arg == "-b") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -b");
-			oggparms.nominalBitr = atoi(_arguments.front().c_str());
-
-			if ((oggparms.nominalBitr % 8) != 0)
-				oggparms.nominalBitr -= oggparms.nominalBitr % 8;
-
-			if (oggparms.nominalBitr > 160)
-				throw ToolException("Nominal bitrate out of bounds (-b), must be between 8 and 160.");
-
-			if (oggparms.nominalBitr == 0 && _arguments.front() != "0")
-				throw ToolException("Nominal bitrate (-b) must be a number.");
-
-			if (oggparms.nominalBitr < 8)
-				throw ToolException("Nominal bitrate out of bounds (-b), must be between 8 and 160.");
-
+			setOggAvgBitrate(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "-m") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -m");
-			oggparms.minBitr = atoi(_arguments.front().c_str());
-
-			if ((oggparms.minBitr % 8) != 0)
-				oggparms.minBitr -= oggparms.minBitr % 8;
-
-			if (oggparms.minBitr > 160)
-				throw ToolException("Minimal bitrate out of bounds (-m), must be between 8 and 160.");
-
-			if (oggparms.minBitr == 0 && _arguments.front() != "0")
-				throw ToolException("Minimal bitrate (-m) must be a number.");
-
-			if (oggparms.minBitr < 8)
-				throw ToolException("Minimal bitrate out of bounds (-m), must be between 8 and 160.");
-
+			setOggMinBitrate(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "-M") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -M");
-			oggparms.maxBitr = atoi(_arguments.front().c_str());
-
-			if ((oggparms.maxBitr % 8) != 0)
-				oggparms.maxBitr -= oggparms.maxBitr % 8;
-
-			if (oggparms.maxBitr > 160)
-				throw ToolException("Minimal bitrate out of bounds (-M), must be between 8 and 160.");
-
-			if (oggparms.maxBitr == 0 && _arguments.front() != "0")
-				throw ToolException("Minimal bitrate (-M) must be a number.");
-
-			if (oggparms.maxBitr < 8)
-				throw ToolException("Minimal bitrate out of bounds (-M), must be between 8 and 160.");
-
+			setOggMaxBitrate(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "-q") {
-			oggparms.quality = (float)atoi(_arguments.front().c_str());
-
-			if (oggparms.quality == 0 && _arguments.front() != "0")
-				throw ToolException("Quality (-q) must be a number.");
-
+			if (_arguments.empty())
+				throw ToolException("Could not parse command line options, expected value after -q");
+			setOggQuality(_arguments.front());
 			_arguments.pop_front();
 
 		} else if (arg == "--silent") {
@@ -938,7 +983,7 @@
 		if (arg == "-b") {
 			if (_arguments.empty())
 				throw ToolException("Could not parse command line options, expected value after -b");
-			flacparms.blocksize = atoi(_arguments.front().c_str());
+			setFlacBlockSize(_arguments.front());
 			_arguments.pop_front();
 		} else if (arg == "--fast") {
 			flacparms.compressionLevel = 0;

Modified: tools/branches/branch-1-1-0/compress.h
===================================================================
--- tools/branches/branch-1-1-0/compress.h	2010-04-04 19:09:59 UTC (rev 48517)
+++ tools/branches/branch-1-1-0/compress.h	2010-04-04 19:10:22 UTC (rev 48518)
@@ -87,23 +87,24 @@
 	AudioFormat _format;
 
 	// Settings
+	// These functions are used by the GUI Tools and by CLI argument parsing functions
 	// mp3 settings
-	std::string _mp3CompressionType;
-	std::string _mp3MpegQuality;
-	std::string _mp3ABRBitrate;
-	std::string _mp3VBRMinBitrate;
-	std::string _mp3VBRMaxBitrate;
-	std::string _mp3VBRQuality;
+	void setMp3CompressionType(const std::string&);
+	void setMp3MpegQuality(const std::string&);
+	void setMp3ABRBitrate(const std::string&);
+	void setMp3VBRMinBitrate(const std::string&);
+	void setMp3VBRMaxBitrate(const std::string&);
+	void setMp3VBRQuality(const std::string&);
 
 	// flac
-	std::string _flacCompressionLevel;
-	std::string _flacBlockSize;
+	void setFlacCompressionLevel(const std::string&);
+	void setFlacBlockSize(const std::string&);
 
 	// vorbis
-	std::string _oggQuality;
-	std::string _oggMinBitrate;
-	std::string _oggAvgBitrate;
-	std::string _oggMaxBitrate;
+	void setOggQuality(const std::string&);
+	void setOggMinBitrate(const std::string&);
+	void setOggAvgBitrate(const std::string&);
+	void setOggMaxBitrate(const std::string&);
 
 public:
 	bool processMp3Parms();

Modified: tools/branches/branch-1-1-0/gui/gui_tools.cpp
===================================================================
--- tools/branches/branch-1-1-0/gui/gui_tools.cpp	2010-04-04 19:09:59 UTC (rev 48517)
+++ tools/branches/branch-1-1-0/gui/gui_tools.cpp	2010-04-04 19:10:22 UTC (rev 48518)
@@ -146,23 +146,22 @@
 		compression->_format               = conf.selectedAudioFormat;
 
 		// mp3
-		compression->_mp3ABRBitrate        = (const char *)conf.mp3ABRBitrate.mb_str();
-		compression->_mp3CompressionType   = (const char *)conf.mp3CompressionType.mb_str();
-		compression->_mp3MpegQuality       = (const char *)conf.mp3MpegQuality.mb_str();
-		compression->_mp3ABRBitrate        = (const char *)conf.mp3ABRBitrate.mb_str();
-		compression->_mp3VBRMinBitrate     = (const char *)conf.mp3VBRMinBitrate.mb_str();
-		compression->_mp3VBRMaxBitrate     = (const char *)conf.mp3VBRMaxBitrate.mb_str();
-		compression->_mp3VBRQuality        = (const char *)conf.mp3VBRQuality.mb_str();
+		compression->setMp3CompressionType( (const char *)conf.mp3CompressionType.mb_str() );
+		compression->setMp3MpegQuality    ( (const char *)conf.mp3MpegQuality.mb_str()     );
+		compression->setMp3ABRBitrate     ( (const char *)conf.mp3ABRBitrate.mb_str()      );
+		compression->setMp3VBRMinBitrate  ( (const char *)conf.mp3VBRMinBitrate.mb_str()   );
+		compression->setMp3VBRMaxBitrate  ( (const char *)conf.mp3VBRMaxBitrate.mb_str()   );
+		compression->setMp3VBRQuality     ( (const char *)conf.mp3VBRQuality.mb_str()      );
 
 		// flac
-		compression->_flacCompressionLevel = (const char *)conf.flacCompressionLevel.mb_str();
-		compression->_flacBlockSize        = (const char *)conf.flacBlockSize.mb_str();
+		compression->setFlacCompressionLevel( (const char *)conf.flacCompressionLevel.mb_str() );
+		compression->setFlacBlockSize       ( (const char *)conf.flacBlockSize.mb_str()        );
 
 		// vorbis
-		compression->_oggQuality           = (const char *)conf.oggQuality.mb_str();
-		compression->_oggMinBitrate        = (const char *)conf.oggMinBitrate.mb_str();
-		compression->_oggAvgBitrate        = (const char *)conf.oggAvgBitrate.mb_str();
-		compression->_oggMaxBitrate        = (const char *)conf.oggMaxBitrate.mb_str();
+		compression->setOggQuality    ( (const char *)conf.oggQuality.mb_str()    );
+		compression->setOggMinBitrate ( (const char *)conf.oggMinBitrate.mb_str() );
+		compression->setOggAvgBitrate ( (const char *)conf.oggAvgBitrate.mb_str() );
+		compression->setOggMaxBitrate ( (const char *)conf.oggMaxBitrate.mb_str() );
 	}
 
 	_backend->run();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list