sclass PianoSampler { double sampleRate = 48000; double currentSample; persistable sclass Oscillator extends HasKey { double currentPeriodStart; *(Frequency f) { super(f); } } HasKeyMap oscillators = new(map(f -> new Oscillator(f), pianoFrequencies88())); new TreeMultiMap actionsForSample; }