Home  |  Linux  | Mysql  | PHP  | XML
From:Elliott Moreton Date:Fri Dec 27 10:36:05 2002
Subject:Re: [MacPerl-Toolbox] Sound Manager and "file reference numbers"
Hi,

Off-list help has partially solved the problem; however, another lurks 
beyond it.  

Inside Macintosh says that in order to have the whole file played, you
should pass SndStartFilePlay a NIL for a parameter called theSelection,
which is of type AudioSelection (Ch. 2, "Using the Sound Manager", p.
2-53).  MacPerl won't accept 0, '', (), [], or {} as a null value for this 
parameter:

	use Mac::Sound;
	
	$sounddir = "Macintosh HD:Moreton:exp14:SW:testsounds";

	$infile = "$sounddir:000.aiff";
	open (IN, $infile) || die "Couldn't open $infile";

	$Chan = SndNewChannel (sampledSynth (), initMono (), 0);
	$kBufferSize = 20000;

	$err = SndStartFilePlay ($Chan, IN, 0, $kBufferSize, '', 0, 0);
                                                             ^
                                                             |
                                                        theSelection

The error I get is 

	# theSelection is not of type AudioSelection

The Sound.pm code section on SndStartFilePlay has the following variable 
declarations:

	SndChannel	chan
	short		fRefNum	 (filehandle seems to work)
	short		resNum	 (0, since this is a file, not a resource)
	long		bufferSize
	AudioSelection	&theSelection
	SV		*theCompletion
	Boolean		async

Can anyone see what the problem is?  I'm sure this is extremely basic, but 
I'm baffled.

Thanks,
Elliott Moreton


Navigate in group perl.macperl.toolbox at sever nntp.perl.org
Previous Next




  
© No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants