Path: chuka.playstation.co.uk!scea!greg_labrec@interactive.sony.com From: Rob Vawter Newsgroups: scea.yaroze.programming.sound,scee.yaroze.programming.sound Subject: Re: -=> Request for New Function <=- Date: Fri, 30 Jan 1998 14:05:24 -0800 Organization: SCEA News Server Lines: 53 Message-ID: <34D24EA4.5219@playstation.sony.com> References: <348CFEEC.6D50@uiuc.edu> NNTP-Posting-Host: 206.41.6.40 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.0Gold (Win95; I) Xref: chuka.playstation.co.uk scea.yaroze.programming.sound:159 scee.yaroze.programming.sound:64 Mark Jawad wrote: > Awhile ago, Colin H. from SCEE posted the ReadCDDA() > function (cdfeed.o), which allows the user to leech the contents > of the incoming CD audio during a CdPlay(). This function makes > for a killer audio display during a program, but, according to > the posted instructions, only works with the incoming audio from > a CD. > I'd like to request a function which returns the final > output from the SPU -- regardless of how it was generated. Hardware limitations allow only the output of SPU voice #1 and voice #3 and the CD left and right. The hardware sums up all of the voices playing back and additionally adds in the CD sound playback to create the total output sound. The CD sound is accessible via Colin's function. The total outut sound is not accessible at all. Colin, would you like to write a function to output voices #1 and #3? I have no time to do so currently, but may do so in the far flung future (a month or so) if Colin dosn't wanna. Unfortunately, the Yaroze programmers are also missing a function which would allow some of the 24 voices to be outside the scope of the voice allocation system or to allow keying on a specific sound on a specific voice. This means that the playback on voices #1 and #3 cannot be controlled without some REAL difficulty - At start up of sound system: i)SsUtKeyOn() a looping sound with volume 0 - this will play on voice #0 ii)SsUtKeyOn() a looping sound with volume - the first of the two voices which could be read back iii)SsUtKeyOn() a looping sound with volume 0 - this will play on voice #2 iv)SsUtKeyOn() a looping sound with volume - the second of the two voices which could be read back All of the above before MIDI playback begins. v)Never key off the sounds which are playing on voice #0 or voice #2. vi)Only key off the sound on #1 and #3 when new sounds for visual feedback will be keyed on immediately AND stop or pause MIDI playback before keying off voice #1 and voice #3 to ensure that MIDI instrument voices don't steal the channels. So, you would realistically need at least 3 new functions to make this workable. New functions needed: 1) A voice#1 and voice#3 readback function 2) A function which removes certain voices from the voice allocation system (namely 1 and 3 or 0-4). 3) A function to key on specific voices. - SPUguy