Code Monkey home page Code Monkey logo

lick's Introduction

LiCK

LiCK Library for ChucK.

LiCK  Library for ChucK.
Copyright (c) 2007-2024 held jointly by the individual authors.

LiCK is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

LiCK is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

LiCK includes:

  • int, float, and Object Lists
  • Functor objects, see e.g. http://c2.com/cgi/wiki?FunctorObject
  • Interpolation/tween/easing functors
  • Composite procedures for building loops
  • Intervals, Chords, Scales, and Tunings
  • Time signatures, duration providers, humanizing duration providers
  • Arpeggiators, Patterns, Sequences, and Sequencers
  • Velocity sensitive, pitch sensitive, and handed Samples
  • Sample-based drum machine emulators
  • Synthesized kick and snare drum instruments
  • Synthesized bass, drone, and lead instruments
  • HID device classes (keyboard, mouse, joystick, gamepad, etc.)
  • MIDI device classes (Alesis QX25, MAudio Ozone, MeeBlip, NanoPad, etc.)
  • MIDI support for iOS apps (Animoog, EchoPad, GarageBand, Filtatron, Loopy, etc.)
  • OSC support for desktop apps (IanniX, SooperLooper, etc.)
  • LeapMotion, Monome, ControlOSC, TouchOSC integration
  • Mono and stereo Delays, FeedbackMachines
  • WaveShaper chugen, Distortion and Tremolo chugens
  • Sample hold, slew step, hyper triangle low frequency oscillators (LFOs)
  • Feedback, flanger, phaser, chorus, delay, reverb, etc. chugen effects
  • Envelope follower, envelope trigger
  • Attack Release (AR) and other envelope generators
  • PitShift-based pitch follower, harmonizers, and effects
  • Module, Module2, ..., Module8; chuck a Ugen into a parameter (cv)
  • Chugin wrappers, including C*APS, CMT, TAP, SWH, and RubberBand LADSPA plugins
  • "ChucK-Unit", an Assert class for creating unit tests

LiCK requires:

chuck-1.5.2.0 or later

https://chuck.cs.princeton.edu/ https://chuck.stanford.edu/

LiCK optional dependencies:

CCRMA ChuGins

https://github.com/ccrma/chugins

the C* Audio Plugin Suite

http://quitte.de/dsp/caps.html

TAP-plugins

http://tap-plugins.sourceforge.net/index.html

Computer Music Toolkit (CMT)

http://www.ladspa.org/cmt/overview.html

The SWH Plugins package for the LADSPA plugin system

http://plugin.org.uk/

Rubber Band Library

http://breakfastquay.com/rubberband/

Documentation

For further documentation, please see

https://github.com/heuermh/lick/wiki

lick's People

Contributors

bitdeli-chef avatar dbadb avatar gewang avatar heuermh avatar nshaheed avatar scotthewitt avatar ynohtna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lick's Issues

CSV/JSON/etc classes?

Hi @heuermh, LicK looks great. I've recently started diving into ChucK and found the need to read structured data from external files, but couldn't find a way and ended up doing something like this.

Do you know if there's a way to read from a CSV, JSON or other structured format using LicK or straight ChucK? If not, let me know and I can contribute a reader if this is something people could find useful. Thanks!

class/type 'Random' is already defined in namespace 'global'

$ chuck import.ck
...
[Random.ck]:line(24): class/type 'Random' is already defined in namespace 'global'
[chuck](VM): sporking incoming shred: 126 (GaussianRandom.ck)...
[chuck](VM): sporking incoming shred: 127 (RandomFloor.ck)...
[chuck](VM): sporking incoming shred: 128 (RandomThreshold.ck)...
[chuck](VM): sporking incoming shred: 129 (SinusoidalIn.ck)...
[chuck](VM): sporking incoming shred: 130 (SinusoidalInOut.ck)...
[chuck](VM): sporking incoming shred: 131 (SinusoidalOut.ck)...
[chuck](VM): sporking incoming shred: 132 (Interpolate.ck)...
[chuck](VM): sporking incoming shred: 133 (Constrain.ck)...
[chuck](VM): sporking incoming shred: 134 (Interpolations.ck)...
[chuck](VM): sporking incoming shred: 135 (DurProvider.ck)...
[Humanize.ck]:line(65): class 'Random' has no member 'evaluate'
[Humanize.ck]:line(65): class 'Random' has no member 'evaluate'

Random is a chugin provided by https://github.com/ccrma/chugins/tree/master/Random

Add reverb with pitch shifter effect

These Ruins: This one is probably the least versatile of the 8 patches, but it's a sound I like and can inspire some new ideas. It's a reverb at its core, but with a pitch shifter. Unlike the shimmer effect, this one dials in a 4th below and a 5th above

Use OscIn, OscOut instead of OscSend, OscRecv

https://github.com/ccrma/chuck/blob/1a9e7e7ab16010038b78cc4936fe7ee4a7c49bbd/notes/VERSIONS#L206

$ find . -name "*.ck" | xargs grep "OscSend"
./examples/leapMotionOscSend.ck:OscSend send;
./lick/osc/ControlOscServer.ck:    OscSend client;
./lick/osc/SooperLooperOsc.ck:    OscSend engine;
./lick/osc/IanniXOsc.ck:    OscSend client;
./lick/osc/TouchOscServer.ck:    OscSend client;
./lick/osc/EuclidOsc.ck:    OscSend client;
./lick/device/Monome.ck:    OscSend engine;

$ find . -name "*.ck" | xargs grep "OscRecv"
./lick/osc/ControlOscServer.ck:    OscRecv @ server;
./lick/osc/ControlOscServer.ck:    OscRecv server;
./lick/osc/SooperLooperOsc.ck:    OscRecv client;
./lick/osc/IanniXOsc.ck:    OscRecv @ server;
./lick/osc/IanniXOsc.ck:    OscRecv server;
./lick/osc/TouchOscServer.ck:    OscRecv @ server;
./lick/osc/TouchOscServer.ck:    OscRecv server;
./lick/osc/LeapMotionOsc.ck:    OscRecv @ server;
./lick/osc/LeapMotionOsc.ck:    OscRecv server;
./lick/osc/EuclidOsc.ck:    OscRecv @ server;
./lick/osc/EuclidOsc.ck:    OscRecv server;
./lick/device/Monome.ck:    OscRecv client;

Use Math.random*() instead of Std.rand*()

https://github.com/ccrma/chuck/blob/1a9e7e7ab16010038b78cc4936fe7ee4a7c49bbd/notes/VERSIONS#L458

$ find . -name "*.ck" | xargs grep "Std.rand"
./examples/meeBlipMidiExample.ck:    Std.rand2f(0.025, 0.2) => lfo;
./examples/meeBlipMidiExample.ck:    Std.rand2f(0.025, 0.2) => lfo;
./examples/midiSendExample.ck:    //Std.rand2(1, 16) => int channel;
./examples/midiSendExample.ck:    Std.rand2(45, 61) => int note;
./examples/midiSendExample.ck:    Std.rand2(10, 127) => int velocity;
./examples/midiSendExample.ck:    Std.rand2(1, 16) => int number;
./examples/midiSendExample.ck:    Std.rand2(1, 121) => int value;
./examples/animoogMidiExample.ck:    animoog.originX(Std.rand2f(0.4, 0.6));
./examples/animoogMidiExample.ck:    animoog.originY(Std.rand2f(0.4, 0.6));
./lick/interval/Chords.ck:        if (Std.rand2(0, 1))
./lick/interval/Chords.ck:        Std.rand2(0, 2) => int s;
./lick/interval/Chords.ck:        Std.rand2(0, 3) => int s;
./lick/tuning/Tuning.ck:        Std.rand2(0, 5) => int i;
./lick/fn/GaussianRandom.ck:            2.0 * Std.randf() - 1.0 => v1;
./lick/fn/GaussianRandom.ck:            2.0 * Std.randf() - 1.0 => v2;
./lick/arp/Sequencers.ck:        return Std.rand2(0, count - 1);
./lick/arp/Sequencers.ck:        return Std.rand2(0, sequence.size() - 1);
./lick/arp/Arpeggiators.ck:        return Std.rand2(0, intervals.size() - 1);
./lick/arp/Arpeggiators.ck:        return Std.rand2(1, intervals.size() - 1);
./lick/arp/Arpeggiators.ck:        return Std.rand2(0, count - 1);
./lick/arp/Arpeggiators.ck:        return Std.rand2(0, intervals.size() - 1);

Add relative path in import.ck

Would be nice to modify import.ck to use a relative path when adding the library's ck files so import.ck can be called from anywhere.

// Get import.ck path
me.dir() => string path;

// functional interfaces or functors, package fn
Machine.add(path+"/lick/fn/BinaryFunction.ck");

Refactor Chubgraph to Chugraph for ChucK version 1.4+

https://github.com/ccrma/chuck/blob/1a9e7e7ab16010038b78cc4936fe7ee4a7c49bbd/notes/VERSIONS#L26

$ find . -name "*.ck" | xargs grep "Chubgraph"
./lick/kick/Thud.ck:public class Thud extends Chubgraph
./lick/kick/Fwak2.ck:public class Fwak2 extends Chubgraph
./lick/kick/Kick.ck:public class Kick extends Chubgraph
./lick/kick/Fwak.ck:public class Fwak extends Chubgraph
./lick/kick/Boom.ck:public class Boom extends Chubgraph
./lick/kick/Duff.ck:public class Duff extends Chubgraph
./lick/kick/Thwok.ck:public class Thwok extends Chubgraph
./lick/kick/Thump.ck:public class Thump extends Chubgraph
./lick/analysis/SigmuGainFollower.ck:public class SigmuGainFollower extends Chubgraph
./lick/analysis/SigmuPitchFollower.ck:public class SigmuPitchFollower extends Chubgraph
./lick/analysis/EnvelopeFollower.ck:public class EnvelopeFollower extends Chubgraph
./lick/analysis/PitchFollower.ck:public class PitchFollower extends Chubgraph
./lick/analysis/SigmuFollower.ck:public class SigmuFollower extends Chubgraph
./lick/snare/Snare.ck:public class Snare extends Chubgraph
./lick/snare/Czh.ck:public class Czh extends Chubgraph
./lick/snare/Tss.ck:public class Tss extends Chubgraph
./lick/snare/Cch.ck:public class Cch extends Chubgraph
./lick/snare/Dnn.ck:public class Dnn extends Chubgraph
./lick/effect/Effect.ck:public class Effect extends Chubgraph
./lick/synth/SawRamp.ck:public class SawRamp extends Chubgraph
./lick/synth/Fat.ck:public class Fat extends Chubgraph
./lick/synth/CircleRamp.ck:public class CircleRamp extends Chubgraph
./lick/synth/BassDelay3.ck:public class BassDelay3 extends Chubgraph
./lick/synth/DoublePulse.ck:public class DoublePulse extends Chubgraph
./lick/synth/Mdrone.ck:public class Mdrone extends Chubgraph
./lick/synth/BassDelay2.ck:public class BassDelay2 extends Chubgraph
./lick/synth/BassDelay.ck:public class BassDelay extends Chubgraph
./lick/synth/Lurverly.ck:public class Luverly extends Chubgraph
./lick/synth/Sauce.ck:public class Sauce extends Chubgraph
./lick/lfo/SampleHold.ck:public class SampleHold extends Chubgraph
./lick/lfo/SmoothSampleHold.ck:public class SmoothSampleHold extends Chubgraph
./lick/lfo/Hyper.ck:public class Hyper extends Chubgraph
./lick/hat/Hat.ck:public class Hat extends Chubgraph
./lick/filter/SVF.ck:public class SVF extends Chubgraph
./lick/delay/Disaster.ck:public class Disaster extends Chubgraph

EnvelopeFollower last() method

There seems to be some problem with naming the method:

fun float last() (line 48)

When I try to plug the value from that method into a ugen, I get an instance VM crash.

When renaming to lastT() for example, the EnvelopeFollower class functions as normal. Perhaps there is a conflict with the inherited Chugraph class' last() method?

adc => EnvelopeFollower env => blackhole;
SinOsc s => dac;

while (true)
{
    100::ms => now;
   env.last() => s.gain;
    <<<env.last()>>>;
}

Add a stereo effect class

Chubgraph/Chugraph are not stereo, try a top level Effect class like StereoDelay that runs a left and right channel effect.

Build errors due to chuck 1.5.1.0

$ chuck --loop &
$ chuck + import.ck
...
[chuck]: (VM) sporking incoming shred: 145 (Comparator.ck)...
[chuck]: (VM) sporking incoming shred: 146 (Iterator.ck)...
List.ck:35:9: error: not all control paths in 'fun int List.size(int capacity)' return a value
[35]     fun int size(int capacity)
             ^
ListIterator.ck:26:5: error: undefined type 'List'...
[26]     List @ list;
         ^
ListIterator.ck:26:5: error: ...in declaration
[26]     List @ list;
         ^
ArrayList.ck:57:21: error: undefined type 'List'...
[57]     fun void addAll(List list)
                         ^
ArrayList.ck:57:21: error: ...in argument 1 'list' of function 'addAll(.)'
[57]     fun void addAll(List list)
                         ^
[chuck]: (VM) sporking incoming shred: 147 (IntComparator.ck)...
[chuck]: (VM) sporking incoming shred: 148 (IntIterator.ck)...
IntList.ck:136:9: error: not all control paths in 'fun IntList IntList.collect(IntPredicate predicate)' return a value
[136]     fun IntList collect(IntPredicate predicate)
              ^
IntListIterator.ck:26:5: error: undefined type 'IntList'...
[26]     IntList @ list;
         ^
IntListIterator.ck:26:5: error: ...in declaration
[26]     IntList @ list;
         ^
IntArrayList.ck:57:21: error: undefined type 'IntList'...
[57]     fun void addAll(IntList list)
                         ^
IntArrayList.ck:57:21: error: ...in argument 1 'list' of function 'addAll(.)'
[57]     fun void addAll(IntList list)
                         ^
[chuck]: (VM) sporking incoming shred: 149 (FloatComparator.ck)...
[chuck]: (VM) sporking incoming shred: 150 (FloatIterator.ck)...
FloatList.ck:35:9: error: not all control paths in 'fun int FloatList.size(int capacity)' return a value
[35]     fun int size(int capacity)
             ^
FloatListIterator.ck:26:5: error: undefined type 'FloatList'...
[26]     FloatList @ list;
         ^
FloatListIterator.ck:26:5: error: ...in declaration
[26]     FloatList @ list;
         ^
FloatArrayList.ck:57:21: error: undefined type 'FloatList'...
[57]     fun void addAll(FloatList list)
                         ^
FloatArrayList.ck:57:21: error: ...in argument 1 'list' of function 'addAll(.)'
[57]     fun void addAll(FloatList list)
                         ^
Set.ck:35:9: error: not all control paths in 'fun int Set.size(int capacity)' return a value
[35]     fun int size(int capacity)
             ^
ArraySet.ck:63:21: error: undefined type 'Set'...
[63]     fun void addAll(Set set)
                         ^
ArraySet.ck:63:21: error: ...in argument 1 'set' of function 'addAll(.)'
[63]     fun void addAll(Set set)
                         ^
Node.ck:26:5: error: undefined type 'ArrayList'...
[26]     ArrayList inEdges;
         ^
Node.ck:26:5: error: ...in declaration
[26]     ArrayList inEdges;
         ^
Edge.ck:26:5: error: undefined type 'Node'...
[26]     Node @ source;
         ^
Edge.ck:26:5: error: ...in declaration
[26]     Node @ source;
         ^
Graph.ck:25:5: error: undefined type 'ArrayList'...
[25]     ArrayList nodes;
         ^
Graph.ck:25:5: error: ...in declaration
[25]     ArrayList nodes;
         ^
Graphs.ck:25:40: error: undefined type 'Graph'...
[25]     fun static void breadthFirstSearch(Graph graph, Node node, UnaryProcedure procedure)
                                            ^
Graphs.ck:25:40: error: ...in argument 1 'graph' of function 'breadthFirstSearch(.)'
[25]     fun static void breadthFirstSearch(Graph graph, Node node, UnaryProcedure procedure)
                                            ^
[chuck]: (VM) sporking incoming shred: 151 (AbstractAdsr.ck)...
[chuck]: (VM) sporking incoming shred: 152 (Adsr.ck)...
CompositeAdsr.ck:30:5: error: undefined type 'ArrayList'...
[30]     ArrayList adsrs;
         ^
CompositeAdsr.ck:30:5: error: ...in declaration
[30]     ArrayList adsrs;
         ^
RandomAdsr.ck:23:33: error: undefined type 'CompositeAdsr'...
[23] public class RandomAdsr extends CompositeAdsr
                                     ^
RandomAdsr.ck:23:25: error: undefined super class 'CompositeAdsr' in definition of class 'RandomAdsr'
[23] public class RandomAdsr extends CompositeAdsr
                             ^
RoundRobinAdsr.ck:23:37: error: undefined type 'CompositeAdsr'...
[23] public class RoundRobinAdsr extends CompositeAdsr
                                         ^
RoundRobinAdsr.ck:23:29: error: undefined super class 'CompositeAdsr' in definition of class 'RoundRobinAdsr'
[23] public class RoundRobinAdsr extends CompositeAdsr
                                 ^
[chuck]: (VM) sporking incoming shred: 153 (EnvelopeFollower.ck)...
[chuck]: (VM) sporking incoming shred: 154 (EnvelopeTrigger.ck)...
[chuck]: (VM) sporking incoming shred: 155 (PitchFollower.ck)...
[chuck]: (VM) sporking incoming shred: 156 (SigmuFollower.ck)...
[chuck]: (VM) sporking incoming shred: 157 (SigmuGainFollower.ck)...
[chuck]: (VM) sporking incoming shred: 158 (SigmuPitchFollower.ck)...
[chuck]: (VM) sporking incoming shred: 159 (Interval.ck)...
[chuck]: (VM) sporking incoming shred: 160 (Intervals.ck)...
Chord.ck:29:5: error: undefined type 'ArrayList'...
[29]     ArrayList intervals;
         ^
Chord.ck:29:5: error: ...in declaration
[29]     ArrayList intervals;
         ^
Chords.ck:1045:9: error: undefined type 'ArrayList'...
[1045]         ArrayList intervals;
               ^
Chords.ck:1045:9: error: ...in declaration
[1045]         ArrayList intervals;
               ^
Chords.ck: ...in function 'chord'
Scale.ck:28:5: error: undefined type 'ArrayList'...
[28]     ArrayList intervals;
         ^
Scale.ck:28:5: error: ...in declaration
[28]     ArrayList intervals;
         ^
Scales.ck:454:9: error: undefined type 'ArrayList'...
[454]         ArrayList intervals;
              ^
Scales.ck:454:9: error: ...in declaration
[454]         ArrayList intervals;
              ^
Scales.ck: ...in function 'scale'
Transpose.ck:30:16: error: undefined type 'Chord'...
[30]     fun static Chord transposeChord(Chord chord, Interval interval)
                    ^
Transpose.ck:30:5: error: ...in return type of function 'transposeChord'
[30]     fun static Chord transposeChord(Chord chord, Interval interval)
         ^
[chuck]: (VM) sporking incoming shred: 161 (DurProvider.ck)...
[chuck]: (VM) sporking incoming shred: 162 (Humanize.ck)...
[chuck]: (VM) sporking incoming shred: 163 (HumanizedDurProvider.ck)...
TimeSignature.ck:29:23: error: class 'TimeSignature' has no member 'd'
[29]         timeSignature.d => duration;
                           ^
TimeSignature.ck: ...in function 'dur BreveProvider.evaluate()'
IntervalDurProvider.ck:28:5: error: undefined type 'TimeSignature'...
[28]     TimeSignature @ timeSignature;
         ^
IntervalDurProvider.ck:28:5: error: ...in declaration
[28]     TimeSignature @ timeSignature;
         ^
Pattern.ck:26:5: error: undefined type 'IntArrayList'...
[26]     IntArrayList pattern;
         ^
Pattern.ck:26:5: error: ...in declaration
[26]     IntArrayList pattern;
         ^
PatternedDurProcedure.ck:26:5: error: undefined type 'Pattern'...
[26]     Pattern p;
         ^
PatternedDurProcedure.ck:26:5: error: ...in declaration
[26]     Pattern p;
         ^
PatternedFloatProcedure.ck:26:5: error: undefined type 'Pattern'...
[26]     Pattern p;
         ^
PatternedFloatProcedure.ck:26:5: error: ...in declaration
[26]     Pattern p;
         ^
PatternedIntProcedure.ck:26:5: error: undefined type 'Pattern'...
[26]     Pattern p;
         ^
PatternedIntProcedure.ck:26:5: error: ...in declaration
[26]     Pattern p;
         ^
PatternedProcedure.ck:26:5: error: undefined type 'Pattern'...
[26]     Pattern p;
         ^
PatternedProcedure.ck:26:5: error: ...in declaration
[26]     Pattern p;
         ^
Patterns.ck:38:16: error: undefined type 'Pattern'...
[38]     fun static Pattern p1()
                    ^
Patterns.ck:38:5: error: ...in return type of function 'p1'
[38]     fun static Pattern p1()
         ^
Sequence.ck:26:5: error: undefined type 'FloatArrayList'...
[26]     FloatArrayList sequence;
         ^
Sequence.ck:26:5: error: ...in declaration
[26]     FloatArrayList sequence;
         ^
Sequences.ck:26:16: error: undefined type 'Sequence'...
[26]     fun static Sequence sequence(string s)
                    ^
Sequences.ck:26:5: error: ...in return type of function 'sequence'
[26]     fun static Sequence sequence(string s)
         ^
Warp.ck:38:16: error: undefined type 'Pattern'...
[38]     fun static Pattern forward(Pattern p)
                    ^
Warp.ck:38:5: error: ...in return type of function 'forward'
[38]     fun static Pattern forward(Pattern p)
         ^
Arpeggiator.ck:25:5: error: undefined type 'ArrayList'...
[25]     ArrayList @ intervals;
         ^
Arpeggiator.ck:25:5: error: ...in declaration
[25]     ArrayList @ intervals;
         ^
Arpeggiators.ck:329:33: error: undefined type 'Chord'...
[329]     fun static UpArpeggiator up(Chord chord, FloatProcedure procedure)
                                      ^
Arpeggiators.ck:329:33: error: ...in argument 1 'chord' of function 'up(.)'
[329]     fun static UpArpeggiator up(Chord chord, FloatProcedure procedure)
                                      ^
Sequencer.ck:25:5: error: undefined type 'Sequence'...
[25]     Sequence sequence;
         ^
Sequencer.ck:25:5: error: ...in declaration
[25]     Sequence sequence;
         ^
Sequencers.ck:243:41: error: undefined type 'Sequence'...
[243]     fun static ForwardSequencer forward(Sequence sequence, FloatProcedure procedure)
                                              ^
Sequencers.ck:243:41: error: ...in argument 1 'sequence' of function 'forward(.)'
[243]     fun static ForwardSequencer forward(Sequence sequence, FloatProcedure procedure)
                                              ^
[chuck]: (VM) sporking incoming shred: 164 (MidiNote.ck)...
[chuck]: (VM) sporking incoming shred: 165 (Tuning.ck)...
[chuck]: (VM) sporking incoming shred: 166 (Tunings.ck)...
[chuck]: (VM) sporking incoming shred: 167 (SYTunings.ck)...
[chuck]: (VM) sporking incoming shred: 168 (Assert.ck)...
[chuck]: (VM) sporking incoming shred: 169 (Animoog.ck)...
[chuck]: (VM) sporking incoming shred: 170 (EchoPad.ck)...
[chuck]: (VM) sporking incoming shred: 171 (Filtatron.ck)...
[chuck]: (VM) sporking incoming shred: 172 (GarageBand.ck)...
[chuck]: (VM) sporking incoming shred: 173 (Loopy.ck)...
MeeBlip.ck:34:9: error: not all control paths in 'fun int MeeBlip.open(int device)' return a value
[34]     fun int open(int device)
             ^
[chuck]: (VM) sporking incoming shred: 174 (SooperLooper.ck)...
TwoPots.ck:33:9: error: not all control paths in 'fun int TwoPots.open(int device)' return a value
[33]     fun int open(int device)
             ^
[chuck]: (VM) sporking incoming shred: 175 (ControlChangeMidiMsg.ck)...
[chuck]: (VM) sporking incoming shred: 176 (NoteOffMidiMsg.ck)...
[chuck]: (VM) sporking incoming shred: 177 (NoteOnMidiMsg.ck)...
[chuck]: (VM) sporking incoming shred: 178 (AnimoogMidi.ck)...
[chuck]: (VM) sporking incoming shred: 179 (EchoPadMidi.ck)...
[chuck]: (VM) sporking incoming shred: 180 (GarageBandMidi.ck)...
[chuck]: (VM) sporking incoming shred: 181 (FiltatronMidi.ck)...
[chuck]: (VM) sporking incoming shred: 182 (LoopyMidi.ck)...
MeeBlipMidi.ck:34:9: error: not all control paths in 'fun int MeeBlipMidi.open(int device)' return a value
[34]     fun int open(int device)
             ^
EuclidMidi.ck:49:5: error: undefined type 'ArrayList'...
[49]     ArrayList patterns;
         ^
EuclidMidi.ck:49:5: error: ...in declaration
[49]     ArrayList patterns;
         ^
StompMidi.ck:42:9: error: not all control paths in 'fun int StompMidi.open(int device)' return a value
[42]     fun int open(int device)
             ^
TwoPotsMidi.ck:24:34: error: undefined type 'TwoPots'...
[24] public class TwoPotsMidi extends TwoPots
                                      ^
TwoPotsMidi.ck:24:26: error: undefined super class 'TwoPots' in definition of class 'TwoPotsMidi'
[24] public class TwoPotsMidi extends TwoPots
                              ^
[chuck]: (VM) sporking incoming shred: 183 (PodHd500Midi.ck)...
Controller128.ck:38:9: error: not all control paths in 'fun int Controller128.open(int device)' return a value
[38]     fun int open(int device)
             ^
[chuck]: (VM) sporking incoming shred: 184 (Keyboard.ck)...
[chuck]: (VM) sporking incoming shred: 185 (Joystick.ck)...
[chuck]: (VM) sporking incoming shred: 186 (LogitechGamepadF310.ck)...
[chuck]: (VM) sporking incoming shred: 187 (Monome.ck)...
[chuck]: (VM) sporking incoming shred: 188 (Mouse.ck)...
NanoPad.ck:59:9: error: not all control paths in 'fun int NanoPad.open(int device)' return a value
[59]     fun int open(int device)
             ^
[chuck]: (VM) sporking incoming shred: 189 (Nes.ck)...
MAudioOzone.ck:127:9: error: not all control paths in 'fun int Ozone.open(int device)' return a value
[127]     fun int open(int device)
              ^
AlesisQX25.ck:144:9: error: not all control paths in 'fun int AlesisQX25.open(int device)' return a value
[144]     fun int open(int device)
              ^
[chuck]: (VM) sporking incoming shred: 190 (StompKeyboard.ck)...
RolandA49.ck:91:9: error: not all control paths in 'fun int RolandA49.open(int device)' return a value
[91]     fun int open(int device)
             ^
KorgSq64.ck:91:9: error: not all control paths in 'fun int KorgSq64.open(int device)' return a value
[91]     fun int open(int device)
             ^
PodHd500.ck:67:9: error: not all control paths in 'fun int PodHd500.open(int device)' return a value
[67]     fun int open(int device)
             ^
ControlOscServer.ck:134:5: error: undefined type 'ArrayList'...
[134]     ArrayList events;
          ^
ControlOscServer.ck:134:5: error: ...in declaration
[134]     ArrayList events;
          ^
[chuck]: (VM) sporking incoming shred: 191 (EuclidOsc.ck)...
[chuck]: (VM) sporking incoming shred: 192 (IanniXOsc.ck)...
[chuck]: (VM) sporking incoming shred: 193 (LeapMotionOsc.ck)...
[chuck]: (VM) sporking incoming shred: 194 (SooperLooperOsc.ck)...
TouchOscServer.ck:158:5: error: undefined type 'ArrayList'...
[158]     ArrayList events;
          ^
TouchOscServer.ck:158:5: error: ...in declaration
[158]     ArrayList events;
          ^
Sample.ck:52:16: error: class 'Sample' has no member 'minGain'
[52]         sample.minGain + ((gain $ float) / ((minGain + maxGain) $ float)) * (sample.maxGain - sample.minGain) => sample.gain;
                    ^
Sample.ck: ...in function 'void SampleIntProcedure.run(int gain)'
Reconnect.ck:25:31: error: undefined type 'Sample'...
[25]     fun static void reconnect(Sample sample, UGen ugen)
                                   ^
Reconnect.ck:25:31: error: ...in argument 1 'sample' of function 'reconnect(.)'
[25]     fun static void reconnect(Sample sample, UGen ugen)
                                   ^
[chuck]: (VM) sporking incoming shred: 195 (AdsrSample.ck)...
CompositeSample.ck:25:5: error: undefined type 'Sample'...
[25]     Sample @ sample;
         ^
CompositeSample.ck:25:5: error: ...in declaration
[25]     Sample @ sample;
         ^
RandomSample.ck:25:9: error: undefined type 'Sample'...
[25]     fun Sample _sample()
             ^
RandomSample.ck:25:5: error: ...in return type of function '_sample'
[25]     fun Sample _sample()
         ^
PitchSensitiveSample.ck:25:9: error: undefined type 'Sample'...
[25]     fun Sample _sample()
             ^
PitchSensitiveSample.ck:25:5: error: ...in return type of function '_sample'
[25]     fun Sample _sample()
         ^
VelocitySensitiveSample.ck:25:9: error: undefined type 'Sample'...
[25]     fun Sample _sample()
             ^
VelocitySensitiveSample.ck:25:5: error: ...in return type of function '_sample'
[25]     fun Sample _sample()
         ^
HandedSample.ck:25:5: error: undefined type 'Sample'...
[25]     Sample @ sample;
         ^
HandedSample.ck:25:5: error: ...in declaration
[25]     Sample @ sample;
         ^
Samples.ck:25:16: error: undefined type 'Sample'...
[25]     fun static Sample createSample(string path)
                    ^
Samples.ck:25:5: error: ...in return type of function 'createSample'
[25]     fun static Sample createSample(string path)
         ^
[chuck]: (VM) sporking incoming shred: 196 (Append.ck)...
[chuck]: (VM) sporking incoming shred: 197 (DurAppend.ck)...
[chuck]: (VM) sporking incoming shred: 198 (FloatAppend.ck)...
[chuck]: (VM) sporking incoming shred: 199 (IntAppend.ck)...
[chuck]: (VM) sporking incoming shred: 200 (Prepend.ck)...
[chuck]: (VM) sporking incoming shred: 201 (DurPrepend.ck)...
[chuck]: (VM) sporking incoming shred: 202 (FloatPrepend.ck)...
[chuck]: (VM) sporking incoming shred: 203 (IntPrepend.ck)...
[chuck]: (VM) sporking incoming shred: 204 (Repeat.ck)...
Sleep.ck:39:15: error: class 'Sleep' has no member 'value'
[39]         sleep.value => dur oldValue;
                   ^
Sleep.ck: ...in function 'void SleepIntProcedure.run(int n)'
[chuck]: (VM) sporking incoming shred: 205 (Loop.ck)...
Loops.ck:63:9: error: undefined type 'Sleep'...
[63]         Sleep sleep;
             ^
Loops.ck:63:9: error: ...in declaration
[63]         Sleep sleep;
             ^
Loops.ck: ...in function 'append'
LoopBuilder.ck:30:9: error: undefined variable/member 'Loops' in class/namespace 'LoopBuilder'
[30]         Loops.append(_procedure, wait) @=> _procedure;
             ^
LoopBuilder.ck: ...in function 'LoopBuilder LoopBuilder.append(dur wait)'
AkaiMpc60.ck:113:28: error: undefined type 'Sample'...
[113]         value $ Sample @=> Sample sample;
                                 ^
AkaiMpc60.ck:113:28: error: ...in declaration
[113]         value $ Sample @=> Sample sample;
                                 ^
AkaiMpc60.ck: ...in function 'run'
BossDr110.ck:78:28: error: undefined type 'Sample'...
[78]         value $ Sample @=> Sample sample;
                                ^
BossDr110.ck:78:28: error: ...in declaration
[78]         value $ Sample @=> Sample sample;
                                ^
BossDr110.ck: ...in function 'run'
CasioSa10.ck:120:28: error: undefined type 'Sample'...
[120]         value $ Sample @=> Sample sample;
                                 ^
CasioSa10.ck:120:28: error: ...in declaration
[120]         value $ Sample @=> Sample sample;
                                 ^
CasioSa10.ck: ...in function 'run'
ElectroHarmonixDrm15.ck:106:28: error: undefined type 'Sample'...
[106]         value $ Sample @=> Sample sample;
                                 ^
ElectroHarmonixDrm15.ck:106:28: error: ...in declaration
[106]         value $ Sample @=> Sample sample;
                                 ^
ElectroHarmonixDrm15.ck: ...in function 'run'
EmuDrumulator.ck:113:28: error: undefined type 'Sample'...
[113]         value $ Sample @=> Sample sample;
                                 ^
EmuDrumulator.ck:113:28: error: ...in declaration
[113]         value $ Sample @=> Sample sample;
                                 ^
EmuDrumulator.ck: ...in function 'run'
LellUds.ck:113:28: error: undefined type 'Sample'...
[113]         value $ Sample @=> Sample sample;
                                 ^
LellUds.ck:113:28: error: ...in declaration
[113]         value $ Sample @=> Sample sample;
                                 ^
LellUds.ck: ...in function 'run'
OberheimDmx.ck:134:28: error: undefined type 'Sample'...
[134]         value $ Sample @=> Sample sample;
                                 ^
OberheimDmx.ck:134:28: error: ...in declaration
[134]         value $ Sample @=> Sample sample;
                                 ^
OberheimDmx.ck: ...in function 'run'
RolandCr78.ck:127:28: error: undefined type 'Sample'...
[127]         value $ Sample @=> Sample sample;
                                 ^
RolandCr78.ck:127:28: error: ...in declaration
[127]         value $ Sample @=> Sample sample;
                                 ^
RolandCr78.ck: ...in function 'run'
RolandTr66.ck:104:28: error: undefined type 'Sample'...
[104]         value $ Sample @=> Sample sample;
                                 ^
RolandTr66.ck:104:28: error: ...in declaration
[104]         value $ Sample @=> Sample sample;
                                 ^
RolandTr66.ck: ...in function 'run'
RolandTr606.ck:85:28: error: undefined type 'Sample'...
[85]         value $ Sample @=> Sample sample;
                                ^
RolandTr606.ck:85:28: error: ...in declaration
[85]         value $ Sample @=> Sample sample;
                                ^
RolandTr606.ck: ...in function 'run'
RolandTr808.ck:197:28: error: undefined type 'Sample'...
[197]         value $ Sample @=> Sample sample;
                                 ^
RolandTr808.ck:197:28: error: ...in declaration
[197]         value $ Sample @=> Sample sample;
                                 ^
RolandTr808.ck: ...in function 'run'
RolandTr909.ck:148:28: error: undefined type 'Sample'...
[148]         value $ Sample @=> Sample sample;
                                 ^
RolandTr909.ck:148:28: error: ...in declaration
[148]         value $ Sample @=> Sample sample;
                                 ^
RolandTr909.ck: ...in function 'run'
BigMono.ck:427:28: error: undefined type 'Sample'...
[427]         value $ Sample @=> Sample sample;
                                 ^
BigMono.ck:427:28: error: ...in declaration
[427]         value $ Sample @=> Sample sample;
                                 ^
BigMono.ck: ...in function 'run'
KorgMs20.ck:96:9: error: undefined type 'ArrayList'...
[96]     fun ArrayList list()
             ^
KorgMs20.ck:96:5: error: ...in return type of function 'list'
[96]     fun ArrayList list()
         ^
[chuck]: (VM) sporking incoming shred: 206 (Pk3.ck)...
[chuck]: (VM) sporking incoming shred: 207 (Pke.ck)...
[chuck]: (VM) sporking incoming shred: 208 (GainShaper.ck)...
[chuck]: (VM) sporking incoming shred: 209 (WaveShaper.ck)...
BucketBrigade.ck:55:9: error: not all control paths in 'fun float F._even()' return a value
[55]     fun float _even()
             ^
[chuck]: (VM) sporking incoming shred: 210 (Clip.ck)...
[chuck]: (VM) sporking incoming shred: 211 (Dist.ck)...
[chuck]: (VM) sporking incoming shred: 212 (FullRectifier.ck)...
[chuck]: (VM) sporking incoming shred: 213 (Invert.ck)...
[chuck]: (VM) sporking incoming shred: 214 (Offset.ck)...
[chuck]: (VM) sporking incoming shred: 215 (Phase.ck)...
[chuck]: (VM) sporking incoming shred: 216 (AtanDist.ck)...
[chuck]: (VM) sporking incoming shred: 217 (TanhDist.ck)...
[chuck]: (VM) sporking incoming shred: 218 (RibbonDist.ck)...
[chuck]: (VM) sporking incoming shred: 219 (FrostburnDist.ck)...
[chuck]: (VM) sporking incoming shred: 220 (KijjazDist.ck)...
[chuck]: (VM) sporking incoming shred: 221 (KijjazDist2.ck)...
[chuck]: (VM) sporking incoming shred: 222 (KijjazDist3.ck)...
[chuck]: (VM) sporking incoming shred: 223 (KijjazDist4.ck)...
[chuck]: (VM) sporking incoming shred: 224 (Module.ck)...
[chuck]: (VM) sporking incoming shred: 225 (Module2.ck)...
[chuck]: (VM) sporking incoming shred: 226 (Module3.ck)...
[chuck]: (VM) sporking incoming shred: 227 (Module4.ck)...
[chuck]: (VM) sporking incoming shred: 228 (Module5.ck)...
[chuck]: (VM) sporking incoming shred: 229 (Module6.ck)...
[chuck]: (VM) sporking incoming shred: 230 (Module7.ck)...
[chuck]: (VM) sporking incoming shred: 231 (Module8.ck)...
[chuck]: (VM) sporking incoming shred: 232 (Hyper.ck)...
[chuck]: (VM) sporking incoming shred: 233 (SampleHold.ck)...
[chuck]: (VM) sporking incoming shred: 234 (SlewStep.ck)...
[chuck]: (VM) sporking incoming shred: 235 (SmoothSampleHold.ck)...
[chuck]: (VM) sporking incoming shred: 236 (Lfo.ck)...
Quad.ck:47:13: error: calling 'phase()' at this point skips initialization of a needed variable:
[47]         0.0 => lfo1.phase;
                 ^
Quad.ck:49:11: error: ...(note: this skipped variable initialization is needed by 'fun float Lfo.phase(float f)')
[49]         0.5 => lfo3.phase;
               ^
Quad.ck:129:26: error: ...(note: this is where the variable is used within 'fun float Lfo.phase(float f)' or its subsidiaries)
[129]     fun float sampleHoldMix()
                               ^
Quad.ck: ...(hint: try calling 'phase()' after the variable initialization)
SVF.ck:64:9: error: not all control paths in 'fun float SVF.freq(float f)' return a value
[64]     fun float freq(float f)
             ^
[chuck]: (VM) sporking incoming shred: 237 (Effect.ck)...
[chuck]: (VM) sporking incoming shred: 238 (LfoEffect.ck)...
[chuck]: (VM) sporking incoming shred: 239 (Feedback.ck)...
[chuck]: (VM) sporking incoming shred: 240 (LfoFeedback.ck)...
[chuck]: (VM) sporking incoming shred: 241 (AdsrTremolo.ck)...
[chuck]: (VM) sporking incoming shred: 242 (AnalogDelay.ck)...
[chuck]: (VM) sporking incoming shred: 243 (APF.ck)...
[chuck]: (VM) sporking incoming shred: 244 (Blueshift.ck)...
[chuck]: (VM) sporking incoming shred: 245 (Buffer.ck)...
[chuck]: (VM) sporking incoming shred: 246 (Cee.ck)...
Chew.ck:36:31: error: class 'Chew' has no member '_g0'
[36]             return dc0 + chew._g0.last();
                                   ^
Chew.ck: ...in function 'float ChewFunction.evaluate(float in)'
[chuck]: (VM) sporking incoming shred: 247 (Cooper.ck)...
[chuck]: (VM) sporking incoming shred: 248 (CrossOver2.ck)...
[chuck]: (VM) sporking incoming shred: 249 (CrossOver3.ck)...
[chuck]: (VM) sporking incoming shred: 250 (Crush.ck)...
[chuck]: (VM) sporking incoming shred: 251 (CryBaby.ck)...
[chuck]: (VM) sporking incoming shred: 252 (AutoWah.ck)...
DigitalDelay.ck:39:9: error: not all control paths in 'fun dur DigitalDelay.delay(dur d)' return a value
[39]     fun dur delay(dur d)
             ^
Drop.ck:63:9: error: not all control paths in 'fun dur Drop.rate(dur d)' return a value
[63]     fun dur rate(dur d)
             ^
[chuck]: (VM) sporking incoming shred: 253 (DualRect.ck)...
Ecco.ck:25:5: error: undefined type 'TimeSignature'...
[25]     TimeSignature @ ts;
         ^
Ecco.ck:25:5: error: ...in declaration
[25]     TimeSignature @ ts;
         ^
[chuck]: (VM) sporking incoming shred: 254 (EchoArray.ck)...
Electoronic.ck:26:5: error: undefined type 'TimeSignature'...
[26]     TimeSignature @ ts;
         ^
Electoronic.ck:26:5: error: ...in declaration
[26]     TimeSignature @ ts;
         ^
EnvelopeTremolo.ck:49:9: error: not all control paths in 'fun dur EnvelopeTremolo.duration(dur d)' return a value
[49]     fun dur duration(dur d)
             ^
[chuck]: (VM) sporking incoming shred: 255 (FilterDelay.ck)...
[chuck]: (VM) sporking incoming shred: 256 (Flutter.ck)...
[chuck]: (VM) sporking incoming shred: 257 (Foldback.ck)...
Freeze.ck:31:5: error: undefined type 'ArrayList'...
[31]     ArrayList _lisas;
         ^
Freeze.ck:31:5: error: ...in declaration
[31]     ArrayList _lisas;
         ^
[chuck]: (VM) sporking incoming shred: 258 (FullDouble.ck)...
Ghost.ck:35:17: error: calling 'create()' at this point skips initialization of a needed variable:
[35]     AnalogDelay.create() => AnalogDelay black;
                     ^
Ghost.ck:35:32: error: ...(note: this skipped variable initialization is needed by 'fun AnalogDelay AnalogDelay.create()')
[35]     AnalogDelay.create() => AnalogDelay black;
                                    ^
Ghost.ck:40:33: error: ...(note: this is where the variable is used within 'fun AnalogDelay AnalogDelay.create()' or its subsidiaries)
[40]     inlet => black => silver => white => wet;
                                     ^
Ghost.ck: ...(hint: try calling 'create()' after the variable initialization)
Golden.ck:29:37: error: undefined type 'TimeSignature'...
[29]     fun static Golden goldenEighths(TimeSignature ts)
                                         ^
Golden.ck:29:37: error: ...in argument 1 'ts' of function 'goldenEighths(.)'
[29]     fun static Golden goldenEighths(TimeSignature ts)
                                         ^
Hall.ck:32:28: error: undefined type 'NHHall'...
[32]     pre => Delay _delay => NHHall _hall => post;
                                ^
Hall.ck:32:28: error: ...in declaration
[32]     pre => Delay _delay => NHHall _hall => post;
                                ^
[chuck]: (VM) sporking incoming shred: 259 (Harmonizer.ck)...
Harmonizers.ck:40:5: error: undefined type 'ArrayList'...
[40]     ArrayList @ intervals;
         ^
Harmonizers.ck:40:5: error: ...in declaration
[40]     ArrayList @ intervals;
         ^
LoopReverb.ck:112:9: error: not all control paths in 'fun float LoopReverb.coefficient(float f)' return a value
[112]     fun float coefficient(float f)
              ^
[chuck]: (VM) sporking incoming shred: 260 (Masa.ck)...
[chuck]: (VM) sporking incoming shred: 261 (Mesmerizer.ck)...
[chuck]: (VM) sporking incoming shred: 262 (ModulatedDelay.ck)...
Mixer.ck:25:5: error: undefined type 'ArrayList'...
[25]     ArrayList @ inputs;
         ^
Mixer.ck:25:5: error: ...in declaration
[25]     ArrayList @ inputs;
         ^
Breeze.ck:29:25: error: undefined type 'Mixer'...
[29]     Mixer.create(5) @=> Mixer mixer;
                             ^
Breeze.ck:29:25: error: ...in declaration
[29]     Mixer.create(5) @=> Mixer mixer;
                             ^
Overcome.ck:26:17: error: calling 'create()' at this point skips initialization of a needed variable:
[26]     AnalogDelay.create() @=> AnalogDelay _delay0;
                     ^
Overcome.ck:26:19: error: ...(note: this skipped variable initialization is needed by 'fun AnalogDelay AnalogDelay.create()')
[26]     AnalogDelay.create() @=> AnalogDelay _delay0;
                       ^
Overcome.ck:48:42: error: ...(note: this is where the variable is used within 'fun AnalogDelay AnalogDelay.create()' or its subsidiaries)
[48]         |                                     |
                                              ^
Overcome.ck: ...(hint: try calling 'create()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 263 (PinkDelay.ck)...
Prime.ck:34:9: error: calling 'nearest()' at this point skips initialization of a needed variable:
[34]         nearest(200);
             ^
Prime.ck:81:2340: error: ...(note: this skipped variable initialization is needed by 'fun int Prime.nearest(int i)')
Prime.ck:81:2462: error: ...(note: this is where the variable is used within 'fun int Prime.nearest(int i)' or its subsidiaries)
Prime.ck: ...(hint: try calling 'nearest()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 264 (Ring.ck)...
[chuck]: (VM) sporking incoming shred: 265 (RecoveryDelay.ck)...
[chuck]: (VM) sporking incoming shred: 266 (Redshift.ck)...
[chuck]: (VM) sporking incoming shred: 267 (ReverseBuffer.ck)...
[chuck]: (VM) sporking incoming shred: 268 (Reverse.ck)...
[chuck]: (VM) sporking incoming shred: 269 (Revenge.ck)...
Raise.ck:63:9: error: not all control paths in 'fun dur Raise.rate(dur d)' return a value
[63]     fun dur rate(dur d)
             ^
Select.ck:59:9: error: undefined type 'ArrayList'...
[59]         ArrayList _inputs;
             ^
Select.ck:59:9: error: ...in declaration
[59]         ArrayList _inputs;
             ^
Select.ck: ...in function 'create'
ShiftEcco.ck:25:5: error: undefined type 'TimeSignature'...
[25]     TimeSignature @ ts;
         ^
ShiftEcco.ck:25:5: error: ...in declaration
[25]     TimeSignature @ ts;
         ^
Shim.ck:37:13: error: calling 'rate()' at this point skips initialization of a needed variable:
[37]         0.5 => rate;
                 ^
Shim.ck:41:3: error: ...(note: this skipped variable initialization is needed by 'fun float LfoFeedback.rate(float f)')
[41]         600::ms => max;
       ^
Shim.ck:73:16: error: ...(note: this is where the variable is used within 'fun float LfoFeedback.rate(float f)' or its subsidiaries)
[73]             delay() + _lfo.last() * delay() => delay;
                    ^
Shim.ck: ...(hint: try calling 'rate()' after the variable initialization)
Slick.ck:36:14: error: calling 'depth()' at this point skips initialization of a needed variable:
[36]         0.25 => depth;
                  ^
Slick.ck:47:14: error: ...(note: this skipped variable initialization is needed by 'fun float LfoFeedback.depth(float f)')
[47]     fun dur delay(dur d)
                  ^
Slick.ck:103:23: error: ...(note: this is where the variable is used within 'fun float LfoFeedback.depth(float f)' or its subsidiaries)
[103]         1.0::second/delay => slick.rate;
                            ^
Slick.ck: ...(hint: try calling 'depth()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 270 (Smother.ck)...
[chuck]: (VM) sporking incoming shred: 271 (Solstice.ck)...
[chuck]: (VM) sporking incoming shred: 272 (TimeModulator.ck)...
Thicken.ck:27:9: error: calling 'mix()' at this point skips initialization of a needed variable:
[27]     0.5 => mix;
             ^
Thicken.ck:29:12: error: ...(note: this skipped variable initialization is needed by 'fun float Effect.mix(float f)')
[29]     1::ms => delay.delay;
                ^
Thicken.ck:37:87: error: ...(note: this is where the variable is used within 'fun float Effect.mix(float f)' or its subsidiaries)
Thicken.ck: ...(hint: try calling 'mix()' after the variable initialization)
Totter.ck:30:17: error: calling 'create()' at this point skips initialization of a needed variable:
[30]     AnalogDelay.create() @=> AnalogDelay _quarters;
                     ^
Totter.ck:30:22: error: ...(note: this skipped variable initialization is needed by 'fun AnalogDelay AnalogDelay.create()')
[30]     AnalogDelay.create() @=> AnalogDelay _quarters;
                          ^
Totter.ck:31:25: error: ...(note: this is where the variable is used within 'fun AnalogDelay AnalogDelay.create()' or its subsidiaries)
[31]     AnalogDelay.create() @=> AnalogDelay _thirds;
                             ^
Totter.ck: ...(hint: try calling 'create()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 273 (Tremolo.ck)...
[chuck]: (VM) sporking incoming shred: 274 (Tricoder.ck)...
[chuck]: (VM) sporking incoming shred: 275 (Triphaser.ck)...
Triptych.ck:31:5: error: undefined type 'DigitalDelay'...
[31]     DigitalDelay _stage1;
         ^
Triptych.ck:31:5: error: ...in declaration
[31]     DigitalDelay _stage1;
         ^
Verb.ck:75:9: error: not all control paths in 'fun float Verb.tail(float f)' return a value
[75]     fun float tail(float f)
             ^
Vibrato.ck:33:9: error: calling 'sinLfo()' at this point skips initialization of a needed variable:
[33]         sinLfo();
             ^
Vibrato.ck:37:13: error: ...(note: this skipped variable initialization is needed by 'fun void LfoEffect.sinLfo()')
[37]         1::second => _delay.max;
                 ^
Vibrato.ck:76:2184: error: ...(note: this is where the variable is used within 'fun void LfoEffect.sinLfo()' or its subsidiaries)
Vibrato.ck: ...(hint: try calling 'sinLfo()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 276 (Wire.ck)...
Wolftone.ck:28:15: error: calling 'wolfFourth()' at this point skips initialization of a needed variable:
[28]     Intervals.wolfFourth() @=> Interval _interval;
                   ^
Wolftone.ck:28:24: error: ...(note: this skipped variable initialization is needed by 'fun WolfFourth Intervals.wolfFourth()')
[28]     Intervals.wolfFourth() @=> Interval _interval;
                            ^
Wolftone.ck:99:23378: error: ...(note: this is where the variable is used within 'fun WolfFourth Intervals.wolfFourth()' or its subsidiaries)
Wolftone.ck: ...(hint: try calling 'wolfFourth()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 277 (Woosh.ck)...
[chuck]: (VM) sporking incoming shred: 278 (Currant.ck)...
Glider.ck:25:29: error: undefined type 'DigitalDelay'...
[25]      inlet => Cee chorus => DigitalDelay shortDelay => FilterDelay longDelay => GVerb reverb => wet;
                                 ^
Glider.ck:25:29: error: ...in declaration
[25]      inlet => Cee chorus => DigitalDelay shortDelay => FilterDelay longDelay => GVerb reverb => wet;
                                 ^
[chuck]: (VM) sporking incoming shred: 279 (MotelSix.ck)...
[chuck]: (VM) sporking incoming shred: 280 (OilCan.ck)...
Cascade.ck:27:4: error: undefined type 'Verb'...
[27]    Verb short;
        ^
Cascade.ck:27:4: error: ...in declaration
[27]    Verb short;
        ^
Caves.ck:27:5: error: undefined type 'DigitalDelay'...
[27]     DigitalDelay _delay0;
         ^
Caves.ck:27:5: error: ...in declaration
[27]     DigitalDelay _delay0;
         ^
Delta.ck:29:4: error: undefined type 'Verb'...
[29]    Verb _short;
        ^
Delta.ck:29:4: error: ...in declaration
[29]    Verb _short;
        ^
[chuck]: (VM) sporking incoming shred: 281 (Expo.ck)...
Pass.ck:30:5: error: undefined type 'Hall'...
[30]     Hall initialReverb;
         ^
Pass.ck:30:5: error: ...in declaration
[30]     Hall initialReverb;
         ^
Ruins.ck:32:5: error: undefined type 'Verb'...
[32]     Verb reverb;
         ^
Ruins.ck:32:5: error: ...in declaration
[32]     Verb reverb;
         ^
[chuck]: (VM) sporking incoming shred: 282 (Spekt.ck)...
Disaster.ck:32:17: error: calling 'create()' at this point skips initialization of a needed variable:
[32]     AnalogDelay.create() @=> AnalogDelay _a;
                     ^
Disaster.ck:32:20: error: ...(note: this skipped variable initialization is needed by 'fun AnalogDelay AnalogDelay.create()')
[32]     AnalogDelay.create() @=> AnalogDelay _a;
                        ^
Disaster.ck:38:11: error: ...(note: this is where the variable is used within 'fun AnalogDelay AnalogDelay.create()' or its subsidiaries)
[38]     Gain _bypass;
               ^
Disaster.ck: ...(hint: try calling 'create()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 283 (SinTrem.ck)...
[chuck]: (VM) sporking incoming shred: 284 (SqrTrem.ck)...
[chuck]: (VM) sporking incoming shred: 285 (TriTrem.ck)...
[chuck]: (VM) sporking incoming shred: 286 (Trem.ck)...
[chuck]: (VM) sporking incoming shred: 287 (MonoDelay.ck)...
[chuck]: (VM) sporking incoming shred: 288 (StereoDelay.ck)...
[chuck]: (VM) sporking incoming shred: 289 (FeedbackMachine.ck)...
[chuck]: (VM) sporking incoming shred: 290 (FeedbackMachines.ck)...
[chuck]: (VM) sporking incoming shred: 291 (StereoFeedbackMachine.ck)...
[chuck]: (VM) sporking incoming shred: 292 (StereoFeedbackMachines.ck)...
Smear.ck:26:5: error: undefined type 'ArrayList'...
[26]     ArrayList _delays;
         ^
Smear.ck:26:5: error: ...in declaration
[26]     ArrayList _delays;
         ^
ScaleSmear.ck:47:5: error: undefined type 'Scale'...
[47]     Scale @ scale;
         ^
ScaleSmear.ck:47:5: error: ...in declaration
[47]     Scale @ scale;
         ^
[chuck]: (VM) sporking incoming shred: 293 (Swirl.ck)...
[chuck]: (VM) sporking incoming shred: 294 (CircleRamp.ck)...
[chuck]: (VM) sporking incoming shred: 295 (DoublePulse.ck)...
[chuck]: (VM) sporking incoming shred: 296 (Dream.ck)...
Fat.ck:34:15: error: calling 'perfectFifth()' at this point skips initialization of a needed variable:
[34]     Intervals.perfectFifth() @=> Interval _up;
                   ^
Fat.ck:34:26: error: ...(note: this skipped variable initialization is needed by 'fun PerfectFifth Intervals.perfectFifth()')
[34]     Intervals.perfectFifth() @=> Interval _up;
                              ^
Fat.ck:129:12715: error: ...(note: this is where the variable is used within 'fun PerfectFifth Intervals.perfectFifth()' or its subsidiaries)
Fat.ck: ...(hint: try calling 'perfectFifth()' after the variable initialization)
[chuck]: (VM) sporking incoming shred: 297 (Fold.ck)...
[chuck]: (VM) sporking incoming shred: 298 (Fold2.ck)...
[chuck]: (VM) sporking incoming shred: 299 (Lurverly.ck)...
[chuck]: (VM) sporking incoming shred: 300 (Mdrone.ck)...
[chuck]: (VM) sporking incoming shred: 301 (Poly.ck)...
[chuck]: (VM) sporking incoming shred: 302 (SawRamp.ck)...
Sauce.ck:81:9: error: not all control paths in 'fun float Sauce.freq(float f)' return a value
[81]     fun float freq(float f)
             ^
[chuck]: (VM) sporking incoming shred: 303 (SubGen.ck)...
[chuck]: (VM) sporking incoming shred: 304 (SeptSubGen.ck)...
[chuck]: (VM) sporking incoming shred: 305 (VoiceOfSaturn.ck)...
[chuck]: (VM) sporking incoming shred: 306 (Wrapper.ck)...
[chuck]: (VM) sporking incoming shred: 307 (Boom.ck)...
[chuck]: (VM) sporking incoming shred: 308 (Duff.ck)...
[chuck]: (VM) sporking incoming shred: 309 (Fwak.ck)...
[chuck]: (VM) sporking incoming shred: 310 (Fwak2.ck)...
Kick.ck:48:5: error: undefined type 'Sample'...
[48]     Sample @ _sample;
         ^
Kick.ck:48:5: error: ...in declaration
[48]     Sample @ _sample;
         ^
Thud.ck:35:5: error: undefined type 'Sample'...
[35]     Sample @ _sample;
         ^
Thud.ck:35:5: error: ...in declaration
[35]     Sample @ _sample;
         ^
[chuck]: (VM) sporking incoming shred: 311 (Thump.ck)...
[chuck]: (VM) sporking incoming shred: 312 (Thwok.ck)...
[chuck]: (VM) sporking incoming shred: 313 (Cch.ck)...
[chuck]: (VM) sporking incoming shred: 314 (Czh.ck)...
[chuck]: (VM) sporking incoming shred: 315 (Dnn.ck)...
[chuck]: (VM) sporking incoming shred: 316 (Tss.ck)...
[chuck]: (VM) sporking incoming shred: 317 (Snare.ck)...
[chuck]: (VM) sporking incoming shred: 318 (Hat.ck)...

Use Chugraph instead of Chubgraph

https://github.com/ccrma/chuck/blob/1a9e7e7ab16010038b78cc4936fe7ee4a7c49bbd/notes/VERSIONS#L26

$ find . -name "*.ck" | xargs grep "Chubgraph"
./lick/kick/Thud.ck:public class Thud extends Chubgraph
./lick/kick/Fwak2.ck:public class Fwak2 extends Chubgraph
./lick/kick/Kick.ck:public class Kick extends Chubgraph
./lick/kick/Fwak.ck:public class Fwak extends Chubgraph
./lick/kick/Boom.ck:public class Boom extends Chubgraph
./lick/kick/Duff.ck:public class Duff extends Chubgraph
./lick/kick/Thwok.ck:public class Thwok extends Chubgraph
./lick/kick/Thump.ck:public class Thump extends Chubgraph
./lick/analysis/SigmuGainFollower.ck:public class SigmuGainFollower extends Chubgraph
./lick/analysis/SigmuPitchFollower.ck:public class SigmuPitchFollower extends Chubgraph
./lick/analysis/EnvelopeFollower.ck:public class EnvelopeFollower extends Chubgraph
./lick/analysis/PitchFollower.ck:public class PitchFollower extends Chubgraph
./lick/analysis/SigmuFollower.ck:public class SigmuFollower extends Chubgraph
./lick/snare/Snare.ck:public class Snare extends Chubgraph
./lick/snare/Czh.ck:public class Czh extends Chubgraph
./lick/snare/Tss.ck:public class Tss extends Chubgraph
./lick/snare/Cch.ck:public class Cch extends Chubgraph
./lick/snare/Dnn.ck:public class Dnn extends Chubgraph
./lick/effect/Effect.ck:public class Effect extends Chubgraph
./lick/synth/SawRamp.ck:public class SawRamp extends Chubgraph
./lick/synth/Fat.ck:public class Fat extends Chubgraph
./lick/synth/CircleRamp.ck:public class CircleRamp extends Chubgraph
./lick/synth/BassDelay3.ck:public class BassDelay3 extends Chubgraph
./lick/synth/DoublePulse.ck:public class DoublePulse extends Chubgraph
./lick/synth/Mdrone.ck:public class Mdrone extends Chubgraph
./lick/synth/BassDelay2.ck:public class BassDelay2 extends Chubgraph
./lick/synth/BassDelay.ck:public class BassDelay extends Chubgraph
./lick/synth/Lurverly.ck:public class Luverly extends Chubgraph
./lick/synth/Sauce.ck:public class Sauce extends Chubgraph
./lick/lfo/SampleHold.ck:public class SampleHold extends Chubgraph
./lick/lfo/SmoothSampleHold.ck:public class SmoothSampleHold extends Chubgraph
./lick/lfo/Hyper.ck:public class Hyper extends Chubgraph
./lick/hat/Hat.ck:public class Hat extends Chubgraph
./lick/filter/SVF.ck:public class SVF extends Chubgraph
./lick/delay/Disaster.ck:public class Disaster extends Chubgraph

Ableton Link

I just wanted to let you know that I created an Ableton Link chugin and it would be ideal to create a wrapper for it in LiCK, since it requires some helper functions to be able to use effectively. Let me know if you have any questions about implementing it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.