brevity, wit's soul
- From:
- Tom Lieber
- Date:
- 2010-01-21 @ 21:28
Not having to type so much is great, especially if you're live-coding
(as I found out when I tried it recently http://vimeo.com/8858913).
I've been making a few changes to minimize the amount of typing it
takes to do stuff. For example, c() is now the same as connect(). I'm
also warming up to a ugen convention of stand-alone constructor
functions rather than classes, which look rather Pythonic when
invoked.
connect(mic, Delay:new(second), speaker);
is now
connect(mic, Delay(second), speaker);
or even
c(mic, Delay(second), speaker);
OR
c(mic, Delay(second), dac);
OR
c(mic, Delay(44100), dac);
OR
-- that's it
Eliminating classes puts SndIn:play() in a weird position, so I'm
shortening it to play() for now.
I've also changed connect() so that if you pass it a function instead
of an object, it will call the function and use its result as the
ugen. To the user, it means that these three lines are equivalent:
c(SinOsc(), speaker);
c(SinOsc, speaker);
c(SinOsc, dac); -- how low can you go?
For set-and-forget ugens like reverb and delay lines, it's nice to
never have to name them.
Thoughts?
These changes aren't in yet, but I'm about to check them in (and
update the documentation, as usual)!
--
Tom Lieber
http://AllTom.com/
http://ckvlang.org/
Re: [ckvusers] brevity, wit's soul
- From:
- Kassen
- Date:
- 2010-01-21 @ 22:31
Tom;
Thoughts?
>
>
I agree. that "connect" function was too common for a name that long.
Lacking a "proper" chuck operator "c" sounds like a good alternative. I was
looking at that with a slight frown already so I'm happy you agree.
Yours,
Kas.
Re: [ckvusers] brevity, wit's soul
- From:
- Kassen
- Date:
- 2010-01-21 @ 22:40
Tom,
To add to that; the distortion may have had to do with the phenomenon that
Tomasz discovered where OSX keeps audio streams as float past the master
volume control and up to the dac. Assuming your master volume wasn't all the
way up that may have prevented your dac from clipping while clipping the
fixed-point recording?
Lovely performance on there, despite the distortion, and my compliments on
the desktop layout.
cheers,
Kas.
Re: [ckvusers] brevity, wit's soul
- From:
- Tom Lieber
- Date:
- 2010-01-21 @ 23:44
On Thu, Jan 21, 2010 at 2:40 PM, Kassen <signal.automatique@gmail.com> wrote:
> To add to that; the distortion may have had to do with the phenomenon that
> Tomasz discovered where OSX keeps audio streams as float past the master
> volume control and up to the dac. Assuming your master volume wasn't all the
> way up that may have prevented your dac from clipping while clipping the
> fixed-point recording?
> Lovely performance on there, despite the distortion, and my compliments on
> the desktop layout.
Gotta be right. :) I hope to get that sorted out for next time because
my lifestyle leads to many opportunities for recording sound from my
computer!
--
Tom Lieber
http://AllTom.com/
http://ckvlang.org/
Re: [ckvusers] brevity, wit's soul
- From:
- Kassen
- Date:
- 2010-01-21 @ 23:55
>
> Tom;
>
> Gotta be right. :) I hope to get that sorted out for next time because
> my lifestyle leads to many opportunities for recording sound from my
> computer!
>
>
I think we need something like "public UGens" in ChucK to place a Dyno in
front of the dac. Maybe ckv could pioneer such things. Right now we can use
the "busses" trick but that means juggling signals in ways that aren't
always intuitive. I still have a draft of a proposal on opening the UGen
graph in ChucK to more advanced usage, I should finish that.
Are we alone on this list, BTW? I can't imagine this isn't something others
would be passionate about as well. I gotta get this to compile, but I also
need to get Fluxus to compile in a modern version and....
Cheers,
Kas.
Re: [ckvusers] brevity, wit's soul
- From:
- Tom Lieber
- Date:
- 2010-01-22 @ 00:11
On Thu, Jan 21, 2010 at 3:55 PM, Kassen <signal.automatique@gmail.com> wrote:
> I think we need something like "public UGens" in ChucK to place a Dyno in
> front of the dac. Maybe ckv could pioneer such things. Right now we can use
> the "busses" trick but that means juggling signals in ways that aren't
> always intuitive. I still have a draft of a proposal on opening the UGen
> graph in ChucK to more advanced usage, I should finish that.
I'm not sure what you mean here. Are you talking about a way of
putting a Dyno in front of the dac so that other stuff you chuck to
"dac" will go to the Dyno instead?
> Are we alone on this list, BTW? I can't imagine this isn't something others
> would be passionate about as well. I gotta get this to compile, but I also
> need to get Fluxus to compile in a modern version and....
I think it's 3 or 4 people. I can't check. :)
I broke my work laptop trying to install Linux on it so I could do the
port. On my way to the Apple store now...
--
Tom Lieber
http://AllTom.com/
http://ckvlang.org/
Re: [ckvusers] brevity, wit's soul
- From:
- Kassen
- Date:
- 2010-01-22 @ 00:21
Tom;
I'm not sure what you mean here. Are you talking about a way of
> putting a Dyno in front of the dac so that other stuff you chuck to
> "dac" will go to the Dyno instead?
>
>
I mean something like;
public Dyno out => dac;
From whereon we could chuck things to "out" that would connect to this dyno
which would in turn send them to the dac. It's merely a namespace issues, as
I see it, as all shreds in ChucK share the same UGen graph, they just access
it in different ways depending on namespace. IMHO ChucK namespace is fairly
primitive as it affects the UGen graph, I fail to see why it couldn't be
more like Fluxus's perspective on the scene graph. We can do that; "dac" is
already global.
> I think it's 3 or 4 people. I can't check. :)
>
>
Oh, well, safe company is boring company.
> I broke my work laptop trying to install Linux on it so I could do the
> port. On my way to the Apple store now...
>
>
Really? you don't get a install cd to boot from? Oh, well. good luck.
Kas.
Re: [ckvusers] brevity, wit's soul
- From:
- Tom Lieber
- Date:
- 2010-01-22 @ 01:24
On Thu, Jan 21, 2010 at 4:21 PM, Kassen <signal.automatique@gmail.com> wrote:
>> I'm not sure what you mean here. Are you talking about a way of
>> putting a Dyno in front of the dac so that other stuff you chuck to
>> "dac" will go to the Dyno instead?
>
> I mean something like;
> public Dyno out => dac;
>
> From whereon we could chuck things to "out" that would connect to this dyno
> which would in turn send them to the dac. It's merely a namespace issues, as
> I see it, as all shreds in ChucK share the same UGen graph, they just access
> it in different ways depending on namespace. IMHO ChucK namespace is fairly
> primitive as it affects the UGen graph, I fail to see why it couldn't be
> more like Fluxus's perspective on the scene graph. We can do that; "dac" is
> already global.
In ckv:
global.compressor = Dyno()
c(global.compressor, speaker)
global is a table accessible from every file. You can put anything there!
>> I broke my work laptop trying to install Linux on it so I could do the
>> port. On my way to the Apple store now...
>
> Really? you don't get a install cd to boot from? Oh, well. good luck.
> Kas.
I battled with it all day. Apple dude said the drive is bad and will
replace it in 2-5 days. :(
--
Tom Lieber
http://AllTom.com/
http://ckvlang.org/