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:8 Input (4 stereo), 2 Bus X-Fade Thing
-
- /////////////////////////////////////////////////////////////////////////////////////
- slider1:3<0,3,1{Off,A,B,A+B}>Dest 1+2
- slider2:0<0,3,1{Off,A,B,A+B}>Dest 3+4
- slider3:0<0,3,1{Off,A,B,A+B}>Dest 5+6
- slider4:0<0,3,1{Off,A,B,A+B}>Dest 7+8
- slider5:0.5<0,1>Mix A<->B
-
- /////////////////////////////////////////////////////////////////////////////////////
- @slider
- dest12 = slider1;
- dest34 = slider2;
- dest56 = slider3;
- dest78 = slider4;
-
- //Catch bad values
- slider5 < 0 ? slider5 = 0;
- slider5 > 1 ? slider5 = 1;
-
- //Calculate the gain multipliers
- mixA = 1 - slider5;
- mixB = slider5;
-
- ch12 = (dest12 == 1 || dest12 == 3 ? 1:0) * mixA + (dest12 == 2 || dest12 == 3 ? 1:0) * mixB;
- ch34 = (dest34 == 1 || dest34 == 3 ? 1:0) * mixA + (dest34 == 2 || dest34 == 3 ? 1:0) * mixB;
- ch56 = (dest56 == 1 || dest56 == 3 ? 1:0) * mixA + (dest56 == 2 || dest56 == 3 ? 1:0) * mixB;
- ch78 = (dest78 == 1 || dest78 == 3 ? 1:0) * mixA + (dest78 == 2 || dest78 == 3 ? 1:0) * mixB;
-
- /////////////////////////////////////////////////////////////////////////////////////
- @sample
- spl0 = spl0 * ch12 + spl2 * ch34 + spl4 * ch56 + spl6 * ch78;
- spl1 = spl1 * ch12 + spl3 * ch34 + spl5 * ch56 + spl7 * ch78;
-