/usr/share/SuperCollider/HelpSource/Classes/ModDif.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | class:: ModDif
summary:: Minimum difference of two values in modulo arithmetics
related:: Classes/Clip, Classes/Wrap
categories:: UGens>Maths
Description::
Returns the minimum difference of two values in modulo arithmetics. On a circle, there are two distances between two points. This UGen returns the smaller value of the two.
code::
{ var a = Line.ar(0, 4, 0.01), d = ModDif.ar(a); [a, d] }.plot;
{ var a = Line.ar(0, 4, 0.01); ModDif.ar(a, 0, (1..4)) }.plot;
{ var a = Line.ar(0, 4, 0.01); ModDif.ar(a, (0, 0.25 .. 1), 1) }.plot;
::
classmethods::
method::ar, kr, ir
argument::x
First input value
argument::y
Second input value
argument::mod
Modulo (maximum value, double of the maximal difference).
code::
// different moduli
(
{
var sig = LFSaw.ar(10);
var dist = ModDif.kr(sig, 0, (0..8) * MouseX.kr(0, 1/5));
Splay.ar(SinOsc.ar(dist * 4000 + 400)) * 0.1
}.play;
)
// wrapping amplitude crossfade
(
{
var numChan = 12;
var x = SinOsc.ar({ rrand(300.0, 800.0) } ! numChan);
var dist = ModDif.kr(MouseX.kr(0, numChan * 2), (0..numChan-1), numChan);
x = x * max(0, 1 - dist);
Splay.ar(x) * 0.1
}.play;
)
::
|