///////////////////////////////////////////////////////////////////////////////// Mesh2D: Two-dimensional rectilinear waveguide mesh class. //// //// Part of the Synthesis Toolkit in C++ //// https://ccrma.stanford.edu/software/stk/ //// //// This class implements a rectilinear, two-dimensional digital waveguide //// mesh structure. For details, see Van Duyne and Smith, "Physical Modeling //// with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 //// International Computer Music Conference. //// //// This is a digital waveguide model, making its use possibly subject to //// patents held by Stanford University, Yamaha, and others. /////////////////////////////////////////////////////////////////////////////////// Options://// x: X dimension size in samples. int [2-12], default 5// y: Y dimension size in samples. int [2-12], default 4// xpos: x strike position. float [0-1], default 0.5// ypos: y strike position. float [0-1], default 0.5// decay: decay factor. float [0-1], default 0.999Mesh2D mesh1 => dac.left;Mesh2D mesh2 => dac.right;0.5 => mesh1.gain => mesh2.gain;while (true){ Math.random2(2,12) => mesh1.x; Math.random2(2,12) => mesh1.y; Math.randomf() => mesh1.xpos; Math.randomf() => mesh1.ypos; 1 => mesh1.noteOn; 250::ms => now; Math.random2(2,12) => mesh2.x; Math.random2(2,12) => mesh2.y; Math.randomf() => mesh2.xpos; Math.randomf() => mesh2.ypos; 1 => mesh2.noteOn; 250::ms => now;}
///////////////////////////////////////////////////////////////////////////////
// Mesh2D: Two-dimensional rectilinear waveguide mesh class. //
// //
// Part of the Synthesis Toolkit in C++ //
// https://ccrma.stanford.edu/software/stk/ //
// //
// This class implements a rectilinear, two-dimensional digital waveguide //
// mesh structure. For details, see Van Duyne and Smith, "Physical Modeling //
// with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 //
// International Computer Music Conference. //
// //
// This is a digital waveguide model, making its use possibly subject to //
// patents held by Stanford University, Yamaha, and others. //
///////////////////////////////////////////////////////////////////////////////
// Options:
//
// x: X dimension size in samples. int [2-12], default 5
// y: Y dimension size in samples. int [2-12], default 4
// xpos: x strike position. float [0-1], default 0.5
// ypos: y strike position. float [0-1], default 0.5
// decay: decay factor. float [0-1], default 0.999
Mesh2D mesh1 => dac.left;
Mesh2D mesh2 => dac.right;
0.5 => mesh1.gain => mesh2.gain;
while (true)
{
Math.random2(2,12) => mesh1.x;
Math.random2(2,12) => mesh1.y;
Math.randomf() => mesh1.xpos;
Math.randomf() => mesh1.ypos;
1 => mesh1.noteOn;
250::ms => now;
Math.random2(2,12) => mesh2.x;
Math.random2(2,12) => mesh2.y;
Math.randomf() => mesh2.xpos;
Math.randomf() => mesh2.ypos;
1 => mesh2.noteOn;
250::ms => now;
}