[Scummvm-cvs-logs] scummvm master -> debd94fbaa69121e4bf9720dfe354eff2bbf7081

lordhoto lordhoto at gmail.com
Wed Nov 23 17:02:21 CET 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
debd94fbaa BASE: Implement a command to list all available audio devices on the shell.


Commit: debd94fbaa69121e4bf9720dfe354eff2bbf7081
    https://github.com/scummvm/scummvm/commit/debd94fbaa69121e4bf9720dfe354eff2bbf7081
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2011-11-23T08:01:04-08:00

Commit Message:
BASE: Implement a command to list all available audio devices on the shell.

Changed paths:
    README
    base/commandLine.cpp



diff --git a/README b/README
index 4e306d3..9d554be 100644
--- a/README
+++ b/README
@@ -956,6 +956,7 @@ arguments -- see the next section.
   --themepath=PATH         Path to where GUI themes are stored
   --list-themes            Display list of all usable GUI themes
   -e, --music-driver=MODE  Select music driver (see also section 7.0)
+  --list-audio-devices     List all available audio devices
   -q, --language=LANG      Select game's language (see also section 5.2)
   -m, --music-volume=NUM   Set the music volume, 0-255 (default: 192)
   -s, --sfx-volume=NUM     Set the sfx volume, 0-255 (default: 192)
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index 6550f60..c3059ce 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -39,6 +39,8 @@
 
 #include "gui/ThemeEngine.h"
 
+#include "audio/musicplugin.h"
+
 #define DETECTOR_TESTING_HACK
 #define UPGRADE_ALL_TARGETS_HACK
 
@@ -81,6 +83,7 @@ static const char HELP_STRING[] =
 	"  --themepath=PATH         Path to where GUI themes are stored\n"
 	"  --list-themes            Display list of all usable GUI themes\n"
 	"  -e, --music-driver=MODE  Select music driver (see README for details)\n"
+	"  --list-audio-devices     List all available audio devices\n"
 	"  -q, --language=LANG      Select language (en,de,fr,it,pt,es,jp,zh,kr,se,gb,\n"
 	"                           hb,ru,cz)\n"
 	"  -m, --music-volume=NUM   Set the music volume, 0-255 (default: 192)\n"
@@ -381,6 +384,9 @@ Common::String parseCommandLine(Common::StringMap &settings, int argc, const cha
 			DO_OPTION('e', "music-driver")
 			END_OPTION
 
+			DO_LONG_COMMAND("list-audio-devices")
+			END_OPTION
+
 			DO_LONG_OPTION_INT("output-rate")
 			END_OPTION
 
@@ -689,6 +695,21 @@ static void listThemes() {
 		printf("%-14s %s\n", i->id.c_str(), i->name.c_str());
 }
 
+/** Lists all output devices */
+static void listAudioDevices() {
+	MusicPlugin::List pluginList = MusicMan.getPlugins();
+
+	printf("ID                             Description\n");
+	printf("------------------------------ ------------------------------------------------\n");
+
+	for (MusicPlugin::List::const_iterator i = pluginList.begin(), iend = pluginList.end(); i != iend; ++i) {
+		MusicDevices deviceList = (**i)->getDevices();
+		for (MusicDevices::iterator j = deviceList.begin(), jend = deviceList.end(); j != jend; ++j) {
+			printf("%-30s %s\n", Common::String::format("\"%s\"", j->getCompleteId().c_str()).c_str(), j->getCompleteName().c_str());
+		}
+	}
+}
+
 
 #ifdef DETECTOR_TESTING_HACK
 static void runDetectorTest() {
@@ -906,6 +927,9 @@ bool processSettings(Common::String &command, Common::StringMap &settings, Commo
 	} else if (command == "list-themes") {
 		listThemes();
 		return true;
+	} else if (command == "list-audio-devices") {
+		listAudioDevices();
+		return true;
 	} else if (command == "version") {
 		printf("%s\n", gScummVMFullVersion);
 		printf("Features compiled in: %s\n", gScummVMFeatures);






More information about the Scummvm-git-logs mailing list