Version 0.2

116 views
Skip to first unread message

Sam Aaron

unread,
Aug 3, 2011, 6:32:46 PM8/3/11
to over...@googlegroups.com
Hey everyone,

I think it's about time we had a new release of Overtone. I therefore am pleased to announce the arrival of version 0.2.0 - let the fanfare roll!

So what's changed since the last release release (on the 17th of March). Well, actually a remarkable amount of stuff. Mostly work making things more robust, supporting more scsynth stuff and general polish and maintenance.

The nicest aspect of version 0.2 is that we welcome four new contributors:

* Marius Kempe
* Nicolas Buduroi
* Iain Wood
* Marmaduke Woodman

Overtone wouldn't exist if it wasn't for the support of our contributors - so let me speak on behalf of everyone when I say a great big THANKS!

Here's an abbreviated list of changes/fixes/additions made between 0.1.5 and 0.2. It's not exhaustive (for that you should work through the git commit messages) but it highlights the key developments.

New

* Added example implementation of MAD (Music as Data) notation
* Add ugen arg rate checking - ensures ugen rates are <= parent rates for most cases
* Add docstrings to pretty much all ugens now
* Add :auto-rate option for ugen metadata to allow the default ugen automatically determine its rate
* Make all :ir rated ugens :auto rated
* Add list of arg names to synth map with the key :args
* Add hybrid args/keyword-args calling strategy for ugens. Matches SCLang's behaviour
* Unify synth and ugen hybrid args/keyword-args calling strategies
* Separate option :target and :position keys to separate map when calling node. This is to stop them clashing with similarly named args
* Add mda-piano ugen metadata and corresponding synth
* Add stk ugen metadata
* New instruments: tb303 mooger and others
* New fx: rlpf, rhpf and others
* Further work on pitch.clj functions
* Make demo behave similarly to synth
* Added translations for the majority of Chapter 1 of the new SuperCollider book
* Clean up docstring generator. Two \n\n in a row are treated as a carriage return, single \n are treated as spaces
* Add docstrings to defunks
* Add information from scserver to buffer and sample maps in the key :info
* Autoconvert any bus arguments to their :id val when passed as ugen args
* Use namespaced keywords to represent bus types
* Autoconvert any bus arguments to the :id val when passed as synths args
* Add map-ctl to map a node's control param to the values in a given control bus
* Replace java bitset allocator with Clojure ref-based one which can handle the allocation of sequential ids
* Use new allocator to allocate sequential busses
* Add limit for the number of audio busses
* Create new helpers namespace for end-user helper fns. Create two sub-namespaces chance and scaling containing many useful fns
* Allow synths to take :pos and :tgt in any order
* Trimming of docstrings to be within 80 chars
* Add new buffer fns for reading and writing to scsynth buffers
* Add basic synthdef decompilation
* Ensure :dr rate ugens only have :dr rate inputs
* Add dubstep bass examples
* Allow synth params to be passed as maps
* Add support for bespoke envelope curve lists
* Special case FFT ugen to allow :ar ugens to be passed as args
* Add :param key to synths and insts storing the list of param maps
* Add support for control ugens with rates other than :kr
* Don't require console viz stuff as default
* Print out nice Overtone ascii art and welcome message on boot
* Add comparison binary ugens
* Add OSC message validator system - checks all outgoing messages against a type signature
* Add :append-string mode for ugen arg metadata - allows the use of string args for certain ugens
* Fix dpoll and poll ugens
* Don't send any unknown messages to the server
* Add support for multiple paths to scsynth
* Replace crude /done syncronisation mechanism with a more robust one based on /sync
* Add cgens - composite ugens
* Re-implement pseudo-ugens with cgens
* Re-implement a number of demand ugens with cgens allowing to match the arg ordering of SCLang


Bugfixes

* Fix print-classpath to refer to the project's classpath
* Freeing control bus previously freed an audio bus of the same name
* Masses of ugen metadata fixes
* Allow :kr ugens to be plugged into :dr ugens
* Fix ugen :init behaviour
* Fix klang and klank init fns to munge specs correctly
* Increase APPLY-AHEAD time to 300ms to reduce perceived jitter when using the metronome
* Synchronise creation of first studio group


Here's looking forward to the future of Overtone :-)

Sam

---
http://sam.aaron.name


Marius Kempe

unread,
Aug 3, 2011, 6:57:25 PM8/3/11
to over...@googlegroups.com
This is amazing. I'm proud to be helping out in this awesome project. But! Let's all not forget who it was that's really been driving a lot of these improvements and bug fixes in the new version:

A round of applause for Sam! and his relentless commits on GitHub, especially with the many fixes he's contributed while working through the new SuperCollider book.

Thank you Sam!

:-)

Marmaduke Woodman

unread,
Aug 4, 2011, 2:55:38 AM8/4/11
to over...@googlegroups.com
I'm also impressed by the long list of updates.

I have to say, too, that I've had so much fun jamming in overtone, I forget to contribute code... I'll try to balance that...

Thanks! :)

Sam Aaron

unread,
Aug 4, 2011, 3:40:59 AM8/4/11
to over...@googlegroups.com
Hey Marmaduke,

On 4 Aug 2011, at 07:55, Marmaduke Woodman wrote:
>
> I have to say, too, that I've had so much fun jamming in overtone, I forget to contribute code... I'll try to balance that...

It's very cool to hear that you're having a lot of fun jamming Overtone. I see two easy ways for you to contribute back:

1) Keep giving positive feedback like this - it's very rewarding
2) Show us your code! How are you jamming? What are you doing? What kind of sounds are you making? You could share with us your latest musical thoughts in a variety of ways:
- Screencasts
- Gists
- Mails to this list explaining a new technique you're using
- Snippets of code
- Github repos
- etc.

I have to say, too, that I also need to address my balance - I'm spending way too much time hacking on Overtone and way too little time making music. :-)

Sam

---
http://sam.aaron.name

Marmaduke Woodman

unread,
Aug 4, 2011, 4:50:37 AM8/4/11
to over...@googlegroups.com
1) Keep giving positive feedback like this - it's very rewarding

I will :)

Are you guys funded to work on this project or is it all for the love of it ?
 
2) Show us your code! How are you jamming? What are you doing? What kind of sounds are you making? You could share with us your latest musical thoughts in a variety of ways:
  - Screencasts
  - Gists
  - Mails to this list explaining a new technique you're using
  - Snippets of code
  - Github repos
  - etc.


I spent a long time playing more traditional instruments like piano, percussion, et al. The expression and conception of musical ideas in code is so so different that it really takes me a long time to get a musical idea working, so no screencasts for now, it'd be too boring :)  practice practice practice..
 
I have to say, too, that I also need to address my balance - I'm spending way too much time hacking on Overtone and way too little time making music. :-)

Yeah but we're very glad to know you're working on the internals. And besides, when you do make some music, you'll know exactly how stuff works.. which is itself part of the challenge.
 

Sam Aaron

unread,
Aug 4, 2011, 9:36:09 AM8/4/11
to over...@googlegroups.com

On 4 Aug 2011, at 09:50, Marmaduke Woodman wrote:

> Are you guys funded to work on this project or is it all for the love of it ?

I'm funding myself for a year to work on it - so it's definitely for the love of it :-)

Sam

---
http://sam.aaron.name

Jon Romero Vlachogiannis

unread,
Aug 5, 2011, 8:22:09 AM8/5/11
to Overtone
Congrats for the release guys!
Reply all
Reply to author
Forward
0 new messages