🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.multimedia
Article #679

Re: looking for audio programing advice

#679
From: Marcelo R. Lopez, Jr.
Date: Tue, 15 Apr 2003 15:07
122 lines
6726 bytes
Peter,

What you're looking for is the Windows Multimedia Programmers Reference.
Look under "HELP" in the borland menu that comes up from
Start->Programs->Borland ( whatever version ). Under "HELP" look for "MS SDK
help files" ( or something similar ).
Under there, you'll find the Window MultiMEdia Programmers reference.

My guess is that their driver implements a standard MCI ( Media Control
Interface ), and not much else. MCI drivers are the base of any "MEDIA"
based drivers that exist under Windows. They provide the basic control
mechanism for manipulating the device ( that's why the manufacturer said
that you don't have to talk to the hardware directly ). How much of the MCI
is actually implemented within their driver ? Well, that's subjective...it's
up to the manufacturer to decide how much of it to implement. A good way to
see if something you want to do is supported, is to acutally query the
device. Most "good" MCI devices are SUPPOSED, to tell you what the will or
will not allow you to do. If you ask nicely enough. Subsequently, they're
also supposed to return back meaningful error codes if you try to ( for
example ) play audio in a way they don't support ( maybe they support A-LAW
ADPCM, but not Mu-Law. God knows why you wouldn't, but this is just any
example anyway ).

They probably don't support DirectX, because DirectX requires a bit more
from the driver writer, because at the heart of DirectX enabled sound
drivers, you want support to stream data based, on program control (
Otherwise, for another example, you'd see that character in your game
"talking" out of sync with the actions he's taking ).

Now mind you.....if they support 4 stereo and 8 mono lines, it implies that
they're able to support opening more than one instance of the audio device,
and are able to let YOU tell THEM whether you want to use one of the Stereo
or Mono lines. This is a little beyond the "standard MCI" and implies to me
that there SHOULD be extra commands implemented within their driver for
specifying such control functions.

If your sample application is supposed to demonstrate the ability to play,
and more importantly, CONTROL multiple audio streams, then you're going to
ask them what extra MCI ( If they have a blank expression on their face when
you ask this, I'd start to worry ) commands they have implemented within
their MCI driver to support opening multiple instances, and controlling the
output.
By "controlling the output", I mean, being able to do things like.....I want
to play the left channel stereo recorded file via one of the mono outputs.
Crazy insane stuff like that. Mind you, actually doing something like that
might actually involve you manipulating the Mixer itself ( i.e. taking
control of the mixer lines yourself...a whole other kettle of fish ).

But at least you've got a start. Incidentally, if at any time during the
conversation with them, the statement of "We never implemented anything like
that", comes up, you can always refer them to me, if they're looking for
someone to implement it for them in their MCI driver. (I'm sorry, that was a
shameless plug.....but a friend of mine and I, were Multimedia Device Driver
engineers...in another life, of course. ).

Marcelo R. Lopez, Jr.
Co-Author, Developing Multimedia Applications under OS/2
marcelol@dslx.net



"Peter" <peted@iinet.net.au> wrote in message
news:3e8ed8ef@newsgroups.borland.com...
> Hello, i need to use borland builder c++ v5 to develop some sample code
for
> a soundcard, HDSP-9652.  This is a multichannel card, with 4 stereo and 8
> mono lines.  the manufacturer says it does not support directx (it is a
new
> model however) and that i should use what they call WMME, and that this is
> doucmented in the windows sdk.  I cannot for the life of me find any
> reference to this WMME wich i think stands for windows multi media
extention
> regarding audio playback.  Can anyone point me in the right direction, of
> where i can find this info, or even any vcl components that support it.
It
> seems to suggest that this technique predates direct x, so i cant
understand
> why an internet search returns no hits ?
>
> any suggestions appreciated.
>
> See bellow the reply from the ,manufacturer
>
> thanks
>
> Peter
>
> Manufacturers reply-------------------------------------------------------
> for your application you don't need anything special. The Microsoft
> Windows SDK tells you how to easily play back two channels (stereo) via
> MME, the oldest and simplest way to play back audio. This MME support
> can be used with 4 x stereo (= 8 channels), or even as 1 x 8 (8 channel
> interleave) stream - our driver can use it all.
>
> We do not supply any programming examples - this is part of the MS SDK
> and not our job. Ypou do not need to 'control' or speak directly to our
> hardware to play back some sounds.
>
> You should not use DirectX. Our drivers do do not support it, so it will
> be used as emulated devices. The emulation is prone to big delays
> (latency) and bad performance, which might cause clicks or stutter.
>
>
>
>
>
> Hello, i am just begining a project that requires the use of the HDSP-9652
> used with a AEB8-0 analog expansion board, for a setup where in a room
there
> are 8 speakers around a user.
>
> I need to find programing information that will let we program this card,
so
> that i can direct sounds to specific speakers and channels, and attenuate
> sounds as objects move around on a computer screen.
>
> Can anyone direct me to a source of programinf information for this unit ?
>
> thanks in advance
>
>
>
Technical Details
Message-ID: <3e9c1ea7@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!iad-peer.news.verio.net!news.verio.net!newsfeed.wirehub.nl!news.kweb.on.ca!KWeb!newsgroups.borland.com!not-for-mail
References: <3e8ed8ef@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10d0fc,6168ee9f0250419c
X-Google-Attributes: gid10d0fc,public
X-Google-ArrivalTime: 2003-04-15 08:11:10 PST
Reply-To: "Marcelo R. Lopez, Jr." <marcelol@directvinternet.com>
From: "Marcelo R. Lopez, Jr." <marcelol@directvinternet.com>
Newsgroups: borland.public.cppbuilder.multimedia
References: <3e8ed8ef@newsgroups.borland.com>
Subject: Re: looking for audio programing advice
Date: Tue, 15 Apr 2003 11:07:03 -0400
Lines: 124
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
NNTP-Posting-Host: 64.221.40.13
Message-ID: <3e9c1ea7@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1050418855 64.221.40.13 (15 Apr 2003 08:00:55 -0700)
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-09!supernews.com!iad-peer.news.verio.net!news.verio.net!newsfeed.wirehub.nl!news.kweb.on.ca!KWeb!newsgroups.borland.com!not-for-mail