home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright 2007, Philip S. Considine
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification, are permitted
- provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this list of conditions
- and the following disclaimer.
-
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions
- and the following disclaimer in the documentation and/or other materials provided with the distribution.
-
- The name of Philip S. Considine may not be used to endorse or promote products derived from this
- software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
- ///////////////////////////////////////////////////////////////////////////////
- desc:16 channel (8 stereo) mixer.
-
- ///////////////////////////////////////////////////////////////////////////////
- slider1:0<-60,30,0.1>Level 1 + 2 (dB)
- slider2:0<-60,30,0.1>Level 3 + 4 (dB)
- slider3:0<-60,30,0.1>Level 5 + 6 (dB)
- slider4:0<-60,30,0.1>Level 7 + 8 (dB)
- slider5:0<-60,30,0.1>Level 9 + 10 (dB)
- slider6:0<-60,30,0.1>Level 11 + 12(dB)
- slider7:0<-60,30,0.1>Level 13 + 14(dB)
- slider8:0<-60,30,0.1>Level 15 + 16(dB)
-
- ///////////////////////////////////////////////////////////////////////////////
- @init
- gainMin = -60;
- gainMax = 30;
-
- ///////////////////////////////////////////////////////////////////////////////
- @slider
- slider1 < gainMin ? slider1 = gainMin;
- slider1 > gainMax ? slider1 = gainMax;
- levelA = 2 ^ ( slider1 / 6 );
-
- slider2 < gainMin ? slider2 = gainMin;
- slider2 > gainMax ? slider2 = gainMax;
- levelB = 2 ^ ( slider2 / 6 );
-
- slider3 < gainMin ? slider3 = gainMin;
- slider3 > gainMax ? slider3 = gainMax;
- levelC = 2 ^ ( slider3 / 6 );
-
- slider4 < gainMin ? slider4 = gainMin;
- slider4 > gainMax ? slider4 = gainMax;
- levelD = 2 ^ ( slider4 / 6 );
-
- slider5 < gainMin ? slider5 = gainMin;
- slider5 > gainMax ? slider5 = gainMax;
- levelE = 2 ^ ( slider5 / 6 );
-
- slider6 < gainMin ? slider6 = gainMin;
- slider6 > gainMax ? slider6 = gainMax;
- levelF = 2 ^ ( slider6 / 6 );
-
- slider7 < gainMin ? slider7 = gainMin;
- slider7 > gainMax ? slider7 = gainMax;
- levelG = 2 ^ ( slider7 / 6 );
-
- slider8 < gainMin ? slider8 = gainMin;
- slider8 > gainMax ? slider8 = gainMax;
- levelH = 2 ^ ( slider8 / 6 );
-
- ///////////////////////////////////////////////////////////////////////////////
- @sample
- //Do the left mix
- spl0 = (spl0 * levelA) +
- (spl2 * levelB) +
- (spl4 * levelC) +
- (spl6 * levelD) +
- (spl8 * levelE) +
- (spl10 * levelF)+
- (spl12 * levelG)+
- (spl14 * levelH);
-
- //Do the right mix
- spl1 = (spl1 * levelA) +
- (spl3 * levelB) +
- (spl5 * levelC) +
- (spl7 * levelD) +
- (spl9 * levelE) +
- (spl11 * levelF)+
- (spl13 * levelG)+
- (spl15 * levelH);
-