Solved

WAVEOUTCAPS vs my 24-bit capapble MAudio Delta 1010 sound card ...

Posted on 2004-04-29
3
577 Views
Last Modified: 2013-12-03
I have an MAudio delta 1010 (10 ins / outs, 24-bit/96kHz capable).  I want to query its capabilities in c++, but the windows WAVEOUTCAPS.dwFormats definitions appear to be limited to 16-bit/44.1kHz:

WAVE_FORMAT_1M08 11.025 kHz, mono, 8-bit
WAVE_FORMAT_1M16 11.025 kHz, mono, 16-bit
WAVE_FORMAT_1S08 11.025 kHz, stereo, 8-bit
WAVE_FORMAT_1S16 11.025 kHz, stereo, 16-bit
WAVE_FORMAT_2M08 22.05 kHz, mono, 8-bit
WAVE_FORMAT_2M16 22.05 kHz, mono, 16-bit
WAVE_FORMAT_2S08 22.05 kHz, stereo, 8-bit
WAVE_FORMAT_2S16 22.05 kHz, stereo, 16-bit
WAVE_FORMAT_4M08 44.1 kHz, mono, 8-bit
WAVE_FORMAT_4M16 44.1 kHz, mono, 16-bit
WAVE_FORMAT_4S08 44.1 kHz, stereo, 8-bit
WAVE_FORMAT_4S16 44.1 kHz, stereo, 16-bit

1) Is there a way to parse out DWORD dwFormats to get the actual capabilities of my card?
2) Will windows fill the member with WAVE_INVALIDFORMAT? (I havent actually tried querying the Delta yet)
3) What can I do? Oh My!

:)
0
Comment
Question by:madhtrr
  • 2
3 Comments
 
LVL 6

Accepted Solution

by:
joghurt earned 250 total points
ID: 10980847
Quote from mmsystem.h:

#define WAVE_FORMAT_44M08      0x00000100       /* 44.1   kHz, Mono,   8-bit  */
#define WAVE_FORMAT_44S08      0x00000200       /* 44.1   kHz, Stereo, 8-bit  */
#define WAVE_FORMAT_44M16      0x00000400       /* 44.1   kHz, Mono,   16-bit */
#define WAVE_FORMAT_44S16      0x00000800       /* 44.1   kHz, Stereo, 16-bit */
#define WAVE_FORMAT_48M08      0x00001000       /* 48     kHz, Mono,   8-bit  */
#define WAVE_FORMAT_48S08      0x00002000       /* 48     kHz, Stereo, 8-bit  */
#define WAVE_FORMAT_48M16      0x00004000       /* 48     kHz, Mono,   16-bit */
#define WAVE_FORMAT_48S16      0x00008000       /* 48     kHz, Stereo, 16-bit */
#define WAVE_FORMAT_96M08      0x00010000       /* 96     kHz, Mono,   8-bit  */
#define WAVE_FORMAT_96S08      0x00020000       /* 96     kHz, Stereo, 8-bit  */
#define WAVE_FORMAT_96M16      0x00040000       /* 96     kHz, Mono,   16-bit */
#define WAVE_FORMAT_96S16      0x00080000       /* 96     kHz, Stereo, 16-bit */

AND: Why don't you use the wChannels member of this structure?
0
 

Author Comment

by:madhtrr
ID: 10981077
I'm using vc++ 6 from Microsoft Visual Studio 6, must not have the latest mmsystem.h file.  I wonder if I'll have to upgrade, mebbe the older stuff just can't deal with it.

In any case, u get the points because u defined them for me :)

     >>>>
    Why don't you use the wChannels member of this structure

Is there a way to use the wChannels member to determine the sampling rate and resolution?

thanx:)






0
 
LVL 6

Expert Comment

by:joghurt
ID: 10982110
The wChannels member is only to get that you have a 10-channel device you otherwise wouldn't get using dwFormats.
0

Featured Post

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

zlib is a free compression library (a DLL) on which the popular gzip utility is built.  In this article, we'll see how to use the zlib functions to compress and decompress data in memory; that is, without needing to use a temporary file.  We'll be c…
With most software applications trying to cater to multiple user needs nowadays, the focus is to make them as configurable as possible. For e.g., when creating Silverlight applications which will connect to WCF services, the service end point usuall…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question