[comp.sys.mac.programmer] Sound Manager Question...

duggie@jessica.stanford.edu (Doug Felt) (11/12/88)

I am trying to play a sampled format 2 'snd ' resource using the sound
manager.  I open a channel using the sampledSynth, load the resource,
issue a bufferCmd using a pointer to the sound buffer portion of the
resource, and get sound-- but at the wrong rate.  I have tried issuing
a rateCmd before playing the buffer, but it seems to have no affect.
Neither does ampCmd, although perhaps the sound has to be currently
playing.  I have tried issuing soundCmd before the bufferCmd and this
seems to make no difference.

I do things in this rather awkward way because I want sounds to play
asynchronously of other activity (animation) and I was having trouble
getting SndPlay to handle format 2 'snd ' resources at all, let along
playing them asyncronously.

Could someone please tell me what I am doing wrong?  Thanks.


Doug Felt
Courseware Authoring Tools Project
Sweet Hall 3rd Floor
Stanford University
Stanford, CA 94305
duggie@jessica.stanford.edu

gollman@tuvie (Georg Gollman) (11/21/88)

I'm having trouble using the Sound Manager, maybe my documentation (final APDA 
draft of IM V) or my system software (system file 4.2 on a MacII) is just 
too old ...

Anyway, what I want to do is to use more than one channel on the sampled sound
synthesizer, but only the first channel I open (SndNewChannel) plays. BTW, the 
order of channel initialisation (soundCmd) has no effect.

Any ideas, any experience with the SM ???

Georg Gollmann                                  e-mail: gollman@tuvie.uucp
TU Wien, EDVZ                                   tel:    (222) 58801/3611

han@Apple.COM (Byron Han, Architect) (12/02/88)

In article <638@tuvie> gollman@tuvie (Georg Gollman) writes:
>
>
>
>I'm having trouble using the Sound Manager, maybe my documentation (final APDA 
>draft of IM V) or my system software (system file 4.2 on a MacII) is just 
>too old ...
>
>Anyway, what I want to do is to use more than one channel on the sampled sound
>synthesizer, but only the first channel I open (SndNewChannel) plays. BTW, the 
>order of channel initialisation (soundCmd) has no effect.
>
>Any ideas, any experience with the SM ???
>
First off, you should try and get ahold of the latest system software -
6.0.2 I believe is the latest.

Secondly, are you freeing the sound channel via SndDisposeChannel or passing
a freeCmd via SndDoCommand?  It seems like the channel and synthesizer
resources are not being freed up so that other calls are failing to
produce sound.

Hope this helps.

+-----------------------------------------------------------------------------+
| Disclaimer: Apple has no connection with my postings.                       |
+-----------------------------------------------------------------------------+
Byron Han, Communications Architect      Macintosh xxx: The Next Generation...
Apple Computer, Inc.                     -------------------------------------
20525 Mariani Ave, MS27Y                 Internet: han@apple.COM
Cupertino, CA 95014                      UUCP:{sun,voder,nsc,decwrl}!apple!han
--------------------------------------   GENIE: BYRONHAN
ATTnet: 408-974-6450   Applelink: HAN1   CompuServe: 72167,1664
------------------------------------------------------------------------------

oster@well.sf.ca.us (David Phillip Oster) (04/11/90)

If you read the fine print, you'll discover that the Sound Manager does not
implement 4-voice sound on a MacPlus, or an SE. You should probably just use
Sound Driver. It is what Hypercard uses to do telephone touch tones.

Another problem: The sound driver loads 1/60 sec of sound at a time into
video memory, synthesized from the parameters in the Sound driver parameter
block. If your rythym requirements make you divide time into finer intervals
than 60 parts per second, you'll have to give up on the managers and access the
sound buffers directly. Heaven help you when you want to be compatible with 
future machines.
-- 
-- David Phillip Oster - Note new address. Old one has gone Bye Bye.
-- oster@well.sf.ca.us = {backbone}!well!oster