Change ~/.overtone structure - put logs in separate dir and also create assets dir.
Print user name on boot
Add #'create-buffer-data for generating buffer data
Add master mixer volume and input gain controls #'volume #input-gain
Set default port for external server to 57110
Add basic support for chord inversion #'inc-first #'dec-last #'invert-chord
Add beginnings of an asset management system for dealing with direct asset urls and zipped bundles.
Allow #'load-samples to take a list of strings of path partials as a param which it can stitch together using the correct path
Add #'server-sample-rate cached server info val.
Expand docstrign for definst
Add simple 2 channel recorder functionality available through #'start-recording and #'stop-recording
Add support for mapping control busses to a synth params
Automatically determine if a sample is stereo or mono and create the appropriate player
Add #'buffer-cue for streaming audio from disk. Also add supporting fn #'buffer-cue-pos
Add ability to query a metronome for its current bpm value by passing it a single arg :bpm
Make find-ugen more flexible - allow searches for SC name, lowecase and overtone names. Also rename *-ug ugen helper fns to *-ugen
Allow samples returned by #'sample to be used as buffers
Remember versions seen by the config by storing them in a set.
Illustrate that the mixer is receiving too high volumes by outputting pink noise in addition to printing warning messages (this bevaviour is likely to change in a future version).
Print ascii art on boot (for both internal and external servers)
Add :params key to ugen map
Make ugens store their Overtone name
Add Examples mechanism - defexamples - to store executable example documentation for ugens
Make all trig fns :kr by default
Update osc-clj to 0.6.2
Teach callable maps to identify themselves when printing
Make ugens print themselves nicely
Rename ugen type to sc-ugen to help differentiate between the low-level maps representing supercollider ugens and the ugen fns which generate those maps
Automatically capitilise ugen arg docstrings
Make pulse and impulse :kr by default
Create overtone.sc.defaults to store default vals such as the synth limits
Let both alloc-id and free-id take an optional action-fn which will be executed within the allocation/deallocation transaction. This allows fns with side-effects to have their execution tightly bound to the allocation mechanism such that they cannot be incorrectly interleaved within a concurrent context.
Add additional server sync fns - server-sync and with-server-self-sync and also allow a matcher-fn in recv
Update buffer fns with explicit consideration of concurrent contexts
Fix send-reply - it's now possible to send arbitrary information from the server via osc messages
Move handler keys to end of event param list to match osc-clj
Update and format event docstrings
Add summaries to ugens, cgens and examples
Re-organise namespaces
rename clear-handlers to remove-all-handlers to match osc-clj
Pull out spec generation code from ugen.clj to specs.clj
Add checking functionality to ugens. Now the :check fns in the metadata are honoured
Allow :check fns to be vecs of fns (will evaluate them all and aggregate any errors)
Throw friendly exception when user doesn't specify both the val and rate in synth params when using a vec
Add checks for nil args in control-proxy, sc-ugen and output-proxy
Add check fns for a few ugens (such as compander)
Add nil-arg-checker for ugen fns - throws an exception when a ugen fn is called with nil args
Print out :none in docstring if a ugen's arg has no default
Unify binary/unary-ugen and standard ugens. Now they are both callable maps and have the same calling semantics
Add docstrings to binary/unary-ugens
Add Overtone version number
Add at-at as an explicit dependency
Implement scope updating usign at-at
Implement music.time with at-at
Add lovely algorithmic piano example translated from Extempore example
Add other drives (D and E) to windows scsynth paths