electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks GalleryGallery 
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » ChucK programming language
chuck-1.2.1.2 (dracula) unleashed
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [15 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
ge



Joined: Aug 13, 2006
Posts: 102
Location: Palo Alto, CA

PostPosted: Wed Jul 16, 2008 4:49 am    Post subject:  chuck-1.2.1.2 (dracula) unleashed
Subject description: dynamic arrays, new uanae, many bug fixes, paves way for new toolkit
Reply with quote  Mark this post and the followings unread

Dear all,

chuck-1.2.1.2 (dracula) is available:
http://chuck.cs.princeton.edu/

This release introduces dynamic auto-growing arrays, various fixes, enhancements, and likely new and better bugs/features (see below for a full list). Rebecca and I have added additional UAnae (unit analyzers, see http://chuck.cs.princeton.edu/uana/) in preparation for an all-new upcoming toolkit (following in the footsteps of S.M.E.L.T., see http://smelt.cs.princeton.edu/), which Rebecca will announce soon! A new
miniAudicle is on the way from Spencer, as well as an updated audicle version. As always, let us know if you encounter unexpected fishiness (and expected fishiness as well).

Many many thanks to Kassen, Kijjaz, Eduard, folks on the electro-music chuck forum, chuck-users, PLOrk, SLOrk, students and staff at CCRMA and Princeton, Fernando Lopez-Lezcano, Carr Wilkerson, and rest of the chuck community for helping to make this release happen!!

Thanks and Happy ChucKing, UpChucKing!

Best,
chuck team

Changes:
http://chuck.cs.princeton.edu/release/VERSIONS
Back to top
View user's profile Send private message Visit poster's website
djdaphalgan



Joined: Jul 19, 2007
Posts: 18
Location: Belgium

PostPosted: Wed Jul 16, 2008 4:59 am    Post subject: Reply with quote  Mark this post and the followings unread

Will the new version have MAUI elements for windows (or other gui elements)?
Back to top
View user's profile Send private message
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 6716
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Jul 16, 2008 5:51 am    Post subject: Reply with quote  Mark this post and the followings unread

Release notes;


Quote:

CHANGES
---
1.2.1.2
- (added) dynamic, resizable arrays
.size( int ) resizes array; .size() returns current size()
<< operator appends new elements into array
.popBack() pops the last element of the array, reducing
size by 1
.clear() zero's out elements of the array
(see examples/array/
array_dyanmic.ck
array_resize.ck)
- (added) new UAna: FeatureCollector
turns UAna input into a single feature vector, upon
.upchuck()
new UAna: Flip
turns audio samples into frames in the UAna domain
new UAna: pilF
turns UAna frames into audio samples, via overlap add
new UAna: AutoCorr
computes the autocorrelation of UAna input
new UAna: XCorr
computes the cross correlation of the first two UAna input
- (added) UGen.isConnectedTo( Ugen ) // is connected to another ugen?
- (added) UAna.isUpConnectedTo( UAna ) // is connected to another uana
via =^?
- (added) int Shred.done() // is the shred done?
int Shred.running() // is the shred running?
- (added) int Math.ensurePow2( int )
- (added) Math.INFINITY, Math.FLOAT_MAX, Math.FLOAT_MIN_MAG,
Math.INT_MAX
- (added) TriOsc.width(), PulseOsc.width(), SawOsc.width(),
SqrOsc.width()
- (added) Std.system(string) is now disabled by default, to enable:
specify the --caution-to-the-wind command line flag, for
example:
%> chuck --caution-to-the-wind --loop
- (removed) SqrOsc.width( float ), width is always .5
- (fixed) it's now (again) possible to multiply connect
two UGen's
- (fixed) OS X only: sudden-motion-sensor HID no longer
introduces audio dropouts below peak CPU usage
due to added centralized polling;
added static Hid.globalPollRate( dur ) to control
the central SMS polling's rate
- (fixed) Windows only: implementation of array via STL
vector::reserve() has been replaced with a more compatible
approach (see chuck_oo.cpp)
- (fixed) dac amplitude no longer halved!
NOTE: this increases the gain from before by
a factor of 2, or roughly 6 dB!! BEWARE!!
- (fixed) corrected order of shred/ugen dealloc in VM destructor,
preventing a potential crash during shutdown
- (fixed) UAna can now upchuck() at now==0
- (fixed) STK Chorus UGen now has reasonable defaults
.max( dur, float ) for initializing to delay/depth limits
.baseDelay( dur ) sets current base delay
- (fixed) dur +=> now no longer crashes
- (fixed) ADSR now returns attackTime, decayTime, and releaseTime that
corresponds to the duration-based setting functions
(internally multiplied by SR) (thanks Eduard)
- (fixed) STK Mandolin no longer plays without explicit noteOn
- (fixed) unsporked Shred instances now given id == 0 (thanks Kassen)
- (fixed) typos in ugen_xxx.cpp and chuck-specific rtaudio.cpp (/moudi)


So no Linux/Windows interface elements here just yet.

_________________
Modern technology offers an endless field day to any deviant strains in our personalities. --J.G.Ballard
Back to top
View user's profile Send private message Send e-mail Visit poster's website
djdaphalgan



Joined: Jul 19, 2007
Posts: 18
Location: Belgium

PostPosted: Wed Jul 16, 2008 6:59 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Release notes;


Quote:

CHANGES
---
1.2.1.2
- (added) dynamic, resizable arrays
.size( int ) resizes array; .size() returns current size()
<<operator> now no longer crashes
- (fixed) ADSR now returns attackTime, decayTime, and releaseTime that
corresponds to the duration-based setting functions
(internally multiplied by SR) (thanks Eduard)
- (fixed) STK Mandolin no longer plays without explicit noteOn
- (fixed) unsporked Shred instances now given id == 0 (thanks Kassen)
- (fixed) typos in ugen_xxx.cpp and chuck-specific rtaudio.cpp (/moudi)


So no Linux/Windows interface elements here just yet.


Sorry, was a bit too lazy to look into the release notes... Embarassed
Back to top
View user's profile Send private message
Antimon



Joined: Jan 18, 2005
Posts: 1127
Location: Sweden
Audio files: 10
G2 patch files: 58

PostPosted: Wed Jul 16, 2008 8:35 am    Post subject: Reply with quote  Mark this post and the followings unread

Ah, a new ChucK release - goody! thumright Thanks for all of the work put into this. I should really start checking out those UAna thingies.

/Stefan

_________________
@myspace @virb A blog home - in Cyberspace no one can hear you SEGV
Back to top
View user's profile Send private message Visit poster's website
kijjaz



Joined: Sep 20, 2004
Posts: 568
Location: bangkok, thailand
Audio files: 2

PostPosted: Wed Jul 16, 2008 9:53 am    Post subject: Reply with quote  Mark this post and the followings unread

I still haven't used all the UAnae -_-" ..
(mainly only fft, ifft)

I was very excited about dynamic array sizing that I created this patch to test my idea:
Code:
Flute s => dac;
int note[1];
int noteIndex[1];

int dummy; // for swapping

while(true)
{
    for(int i; i < note.size(); i++)
    {
        note[noteIndex[i]] + 60 => Std.mtof => s.freq;
        1 => s.noteOn;
        100::ms => now;
        <<< noteIndex[i], note[noteIndex[i]] >>>;
    }
    1 => s.noteOff;
    200::ms => now;
    noteIndex << note.size();
    note << Std.rand2(0, 12);
    if (maybe)
    {
        noteIndex[note.size()-1] => dummy;
        noteIndex[Std.rand2(0, note.size()-2)] => noteIndex[note.size()-1];
        dummy => noteIndex[note.size()-2];
        <<< "Swap!", "" >>>;
    }
}


With this we can design more complex data structure.
That's what I always want to do in ChucK ^_^.

One question about this dynamic array feature:
Is the memory freed after popping last member of the array?
(garbage collection?)
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
Frostburn



Joined: Dec 12, 2007
Posts: 253
Location: Finland
Audio files: 9

PostPosted: Wed Jul 16, 2008 10:24 am    Post subject: Reply with quote  Mark this post and the followings unread

kijjaz wrote:
(garbage collection?)

I'd too really like to see automatic garbage collection in ChucK but even being able to manually free UGens and data structures would do.

_________________
To boldly go where no man has bothered to go before.
Back to top
View user's profile Send private message
ge



Joined: Aug 13, 2006
Posts: 102
Location: Palo Alto, CA

PostPosted: Wed Jul 16, 2008 3:07 pm    Post subject: Reply with quote  Mark this post and the followings unread

djdaphalgan wrote:
Will the new version have MAUI elements for windows (or other gui elements)?

I think this is a question for the miniAudicle release, which Spencer will be announcing shortly!
Back to top
View user's profile Send private message Visit poster's website
ge



Joined: Aug 13, 2006
Posts: 102
Location: Palo Alto, CA

PostPosted: Wed Jul 16, 2008 3:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

kijjaz wrote:
One question about this dynamic array feature:
Is the memory freed after popping last member of the array?
(garbage collection?)

.popBack() and .clear() both does releases references to any objects they are getting rid of. However, whether the object actually gets garbage collected may depend on the situation, and subject to the unfinished state of the GC. In short, .popBack() and .clear() shouldn't make garbage matters worse, at least. I hope that helps a bit.
Back to top
View user's profile Send private message Visit poster's website
Inventor



Joined: Oct 13, 2007
Posts: 1700
Location: Florida, USA
Audio files: 67

PostPosted: Wed Jul 16, 2008 5:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

ge wrote:
djdaphalgan wrote:
Will the new version have MAUI elements for windows (or other gui elements)?

I think this is a question for the miniAudicle release, which Spencer will be announcing shortly!


Oooohhhh, come on cross-platform MAUI, gotta have it! I am going to start developing my guitar effects software now, and I really really wanna do it in MAUI. Plus ChucK Lab is in MAUI and remains underutilized. I feel like I'm a kid waiting for Christmas, come on MAUI!!!

_________________
For those about to ChucK, we salute you! - Ge Wang
Let's make noise for peace! - kijjaz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 6716
Location: The Hague, NL
G2 patch files: 3

PostPosted: Wed Jul 16, 2008 6:08 pm    Post subject: Reply with quote  Mark this post and the followings unread

Les, you should probably beg Spencer for that, he's the MiniAudicle man (and our residential HID expert). Maybe we can create a surge of interest :¬)
_________________
Modern technology offers an endless field day to any deviant strains in our personalities. --J.G.Ballard
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Inventor



Joined: Oct 13, 2007
Posts: 1700
Location: Florida, USA
Audio files: 67

PostPosted: Wed Jul 16, 2008 6:34 pm    Post subject: Reply with quote  Mark this post and the followings unread

I'm not above begging, though I was under the impression it was planned for the next release. I'll wait and see what Spencer announces and if there's no cross-platform MAUI then I'll beg. Woof! Woof! Throw me a bone!
_________________
For those about to ChucK, we salute you! - Ge Wang
Let's make noise for peace! - kijjaz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 6716
Location: The Hague, NL
G2 patch files: 3

PostPosted: Thu Jul 17, 2008 5:32 am    Post subject: Reply with quote  Mark this post and the followings unread

Well, the impression I'm getting is that;

*It's easy for Spencer to make MiniA. Updates based simply on recompiling against new versions of ChucK.
*Spencer is bussy elsewhere these days.
*Spencer can be persuaded to develop the Mini further if we show interest.

Of course the last bit is most relevant; a while back a few people showed their enthusiasm and he seemed almost surprised by that on the list, calling three people "a surge of interest" and saying he'd work on it. I'm not sure Spencer realises for how many people the Mini hits the sweet spot of power& simplicity.

In addition to that; I think it's great that ChucK works the same way on all platforms and abstracts things the same way. Something like HID is really quite different between the three but ChucK abstracts it so we never notice the difference and we can take our code to our friends and expect it to work. This is different from -for example- the way SC works and I think it's good for unifying the scene. The interface elements are the biggest exception to this.

_________________
Modern technology offers an endless field day to any deviant strains in our personalities. --J.G.Ballard
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Inventor



Joined: Oct 13, 2007
Posts: 1700
Location: Florida, USA
Audio files: 67

PostPosted: Thu Jul 17, 2008 5:46 am    Post subject: Reply with quote  Mark this post and the followings unread

Well, after some careful thought and design, I have distilled the project's controls down to two buttons and one axis of mouse motion, so it looks like a complicated GUI will not be required after all. So it will be OK whether we get cross-platform MAUI or not. We'll see if we get it...
_________________
For those about to ChucK, we salute you! - Ge Wang
Let's make noise for peace! - kijjaz
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kijjaz



Joined: Sep 20, 2004
Posts: 568
Location: bangkok, thailand
Audio files: 2

PostPosted: Tue Jul 22, 2008 8:48 am    Post subject: Reply with quote  Mark this post and the followings unread

I've just tested the new chuck with Jack on linux,
and just noticed that in Jack's Connection, the audio input/output is now named ChucK ^_^
before this I think it was rtaudio,
so I guess it really helps more for working with Jack ^_^.
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic Moderators: Kassen
Page 1 of 1 [15 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » ChucK programming language
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Top Selling Products! CLICK HERE!

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003, 2004, 2005, 2006 and 2007 by electro-music.com