summaryrefslogtreecommitdiff
path: root/dxlist/main.cpp
diff options
context:
space:
mode:
authorMaia Kozheva <sikon@ubuntu.com>2009-11-20 18:22:19 +0600
committerMaia Kozheva <sikon@ubuntu.com>2009-11-20 18:22:19 +0600
commit263b32f108c15cd1c55a8f4eb4704fac6553f1ac (patch)
tree1c49e7848aa2d3d64a9d9b96b8852cb1884da2f7 /dxlist/main.cpp
Imported Upstream version 0.6.8
Diffstat (limited to 'dxlist/main.cpp')
-rw-r--r--dxlist/main.cpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/dxlist/main.cpp b/dxlist/main.cpp
new file mode 100644
index 0000000..3f41a68
--- /dev/null
+++ b/dxlist/main.cpp
@@ -0,0 +1,75 @@
+/* smplayer, GUI front-end for mplayer.
+ Copyright (C) 2006-2008 Ricardo Villalba <rvm@escomposlinux.org>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#define DIRECTSOUND_VERSION 5
+#include <stdio.h>
+#include <dsound.h>
+#include <ddraw.h>
+
+int sound_devices;
+int display_devices;
+
+BOOL CALLBACK DirectSoundEnum(LPGUID guid, LPCSTR desc, LPCSTR module, LPVOID context)
+{
+ printf("%i: %s\n", sound_devices, desc);
+
+ sound_devices++;
+
+ return TRUE;
+}
+
+BOOL WINAPI DirectDrawEnum(GUID FAR *lpGUID, LPSTR lpDriverDescription, LPSTR lpDriverName, LPVOID lpContext, HMONITOR hm)
+{
+ if (!lpGUID)
+ printf("%i: %s\n", display_devices, "Primary Display Adapter");
+ else
+ printf("%i: %s\n", display_devices, lpDriverDescription);
+
+ display_devices++;
+
+ return TRUE;
+}
+
+int main(int argc, char* argv[])
+{
+ if (argc != 2){
+ printf("Usage: dxlist.exe [-sound] [-s] [-display] [-d]\n");
+ return 1;
+ }
+
+ if ((strcmp(argv[1],"-sound")==0) || (strcmp(argv[1],"-s")==0)) {
+ sound_devices = 0;
+ printf("Sound devices:\n");
+ if (DirectSoundEnumerateA(DirectSoundEnum, NULL) != DS_OK){
+ printf("Error: can't list the audio devices\n");
+ }
+ }
+ else
+ if ((strcmp(argv[1],"-display")==0) || (strcmp(argv[1],"-d")==0)) {
+ display_devices = 0;
+ printf("Display devices:\n");
+ if (DirectDrawEnumerateExA(DirectDrawEnum, NULL, DDENUM_ATTACHEDSECONDARYDEVICES) != DS_OK) {
+ printf("Error: can't list the display devices\n");
+ }
+ }
+ else
+ printf("Unknown option %s\n", argv[1]);
+
+ return 0;
+}
+