This is ug.rah.c in view mode; [Download] [Up]
/* Random and Hold Signal Generator */ #include "mm.head.h" #include "ug.head.h" #define AMP 1 #define INCR 2 #define POS 3 #define FROM 4 #define TO 5 rah UGHEAD{ UGINIT ; register float seglen ; float factor = 2. / 0x7fffffff ; if ( STARTNOTE ) VAL(TO) = random()*factor - 1. ; UGLOOP{ if(VAL(INCR) != 0.){ seglen = Lfuncs / VAL(INCR) ; if( VAL(POS) > seglen){ VAL(FROM) = VAL(TO) ; VAL(TO) = random()*factor - 1. ; VAL(POS) -= seglen ; } VAL(OUT)++ = VAL(AMP)*VAL(FROM) ; VAL(POS) += 1. ; } else VAL(OUT)++ = VAL(AMP)*VAL(FROM) ; UGEND(1) } }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.