so... I made it after all :)
I can't find the 'attachments' link, i must be blind! So here is a link to my server:
here
Known Bugs
- Must start server first! I haven't implemented means to wait for server to finish booting.
- When first running SChopper, for some reason you have to run it twice, cause the synth defs aren't being read/written properly on the first go
- Multiple instances of SChopper's causes playback rate abnormailities in objects 2-n ???
- No FileDialog object so AddFile button is non-functional right now
Features
- Allows user to play mono and stereo files, all output in stereo
- Allows user to load additional files, while playing (no FileDialog yet tho)
- Provides 4 "players" with individual settings, including
- 2 envelope settings (only available during object initialization
- note division (changes propagated after bar completion)
- play back rate (changes propagated after bar completion)
- tempo (changes propagated after bar completion)
- buffer the player should use
- LFNoise1 AM (depth and rate controls)
- algorithmic skip feature (skip notes)
- algorithmic repeat feature (repeat notes)
- 3 play back methods
- (Random red) non-random index, plays sample through time alloted by tempo
- (Random green, PureRandom red) random index, randomize index and loop it until note division changes
- (Random green, PureRandom green) pure random index, choose random index from afore mentioned index
- Buffer window, detailing loaded sound files
- Supports up to 3 active windows (tho I don't know if it's a bug in PlayBuf or my code, windows 2 and 3 have warped playback??)
// Examples
s=Server.local;
s.boot;
(
// use the "default" sample, a11wlk01.wav for testing
t = SChopper.new;
)
// add a file to an object
t.addFile("sounds/foo.aif");
// manually kill the object
t.groupFree;
(
// load some of your own files
// first argument is always a 2D list of files to load
// the optional argument, following the files, is the server to use
// server defaults to Server.local if nil
t = SChopper.new([
["sounds/foo.aif"],
["sounds/bar.aif"],
["sounds/bim.aif"],
["sounds/baz.aif"]
], Server.local);
)
// load some of your own files, and control some base features
(
t = SChopper.new([
// arguments are path, playback rate, notes, barLen, envelope type
// playback defaults to 1
// notes defaults to 8
// barLen defaults to 2
// envelope type defaults to perc (Env.perc) other option is asr (Env.asr)
["sounds/foo.aif", 2, 16, 2, "asr"],
["sounds/bar.aif", -1, 32, 4, "perc"],
["sounds/bim.aif", 1, 8, 1],
["sounds/baz.aif", -2, 16, 1, "asr"]
]);
)