source: smplayer/trunk/dxlist/main.cpp

Last change on this file was 142, checked in by Silvan Scherrer, 12 years ago

SMPlayer: update trunk to 0.8.5

File size: 2.2 KB
Line 
1/* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17*/
18
19#define DIRECTSOUND_VERSION 5
20#include <stdio.h>
21#include <dsound.h>
22#include <ddraw.h>
23
24int sound_devices;
25int display_devices;
26
27BOOL CALLBACK DirectSoundEnum(LPGUID guid, LPCSTR desc, LPCSTR module, LPVOID context)
28{
29 printf("%i: %s\n", sound_devices, desc);
30
31 sound_devices++;
32
33 return TRUE;
34}
35
36BOOL WINAPI DirectDrawEnum(GUID FAR *lpGUID, LPSTR lpDriverDescription, LPSTR lpDriverName, LPVOID lpContext, HMONITOR hm)
37{
38 if (!lpGUID)
39 printf("%i: %s\n", display_devices, "Primary Display Adapter");
40 else
41 printf("%i: %s\n", display_devices, lpDriverDescription);
42
43 display_devices++;
44
45 return TRUE;
46}
47
48int main(int argc, char* argv[])
49{
50 if (argc != 2){
51 printf("Usage: dxlist.exe [-sound] [-s] [-display] [-d]\n");
52 return 1;
53 }
54
55 if ((strcmp(argv[1],"-sound")==0) || (strcmp(argv[1],"-s")==0)) {
56 sound_devices = 0;
57 printf("Sound devices:\n");
58 if (DirectSoundEnumerateA(DirectSoundEnum, NULL) != DS_OK){
59 printf("Error: can't list the audio devices\n");
60 }
61 }
62 else
63 if ((strcmp(argv[1],"-display")==0) || (strcmp(argv[1],"-d")==0)) {
64 display_devices = 0;
65 printf("Display devices:\n");
66 if (DirectDrawEnumerateExA(DirectDrawEnum, NULL, DDENUM_ATTACHEDSECONDARYDEVICES) != DS_OK) {
67 printf("Error: can't list the display devices\n");
68 }
69 }
70 else
71 printf("Unknown option %s\n", argv[1]);
72
73 return 0;
74}
75
Note: See TracBrowser for help on using the repository browser.