[chuck-users] chuck-1.4.1.0 (numchucks) released!

2021-06-27 Thread mario buoninfante

Hi all,


I just installed and quickly checked ChucK 1.4.1.0 on Ubuntu Studio 
20.04 LTS and it perfectly works!


Thank you all, you did an amazing job with this release.


Cheers,

Mario



PS I only now noticed we now also have SndBuf .frames() method ;)


--
musician, QA engineer
http://mbuoninfante.tumblr.com/
https://vimeo.com/creativecodingsalerno
https://github.com/mariobuoninfante

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] SndBuf | accessing samples from stereo file

2021-06-17 Thread mario buoninfante

Hi,

Just to follow up on this, I was using audio files with a different 
sample rate and that was obviously causing trouble.


When dealing with stereo files, both in SndBuf and SndBuf2 samples are 
accessed in frames:


```

buffer[0] = sample 0 left channel

buffer[1] = sample 0 right channel

buffer[2] = sample 1 left channel

...

```

The only thing that could be a bit misleading is that .samples() doesn't 
return the actual number of samples, but number of samples per channel.
Looking at the source code (ugen_xxx.cpp - row 770) I found the 
documentation for .samples() says:


"Total number of sample in frames in the file"

Thus what .samples() returns is technically correct, but I'm wondering 
couldn't this be a bit confusing? Maybe not and I should have just 
checked that out. Might be one for the SndBuf example.


Cheers,

Mario


On 16/06/2021 17:03, Dana Batali wrote:
Hi Mario , I’m not at my computer right now, but wonder if you’ve 
tried SndBuf2?


On Wed, Jun 16, 2021 at 8:57 AM mario buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Hi,

I'm working on an algorithm that requires accessing samples from a
stereo file and am using SndBuf to achieve that.
I was expecting that to work so that samples were returned in
"frames",
for example:

'''

buffer.valueAt(0) = sample 0 on left channel

buffer.valueAt(1) = sample 0 on right channel

buffer.valueAt(2) = sample 1 on left channel

buffer.valueAt(3) = sample 1 on right channel

...

'''

but that doesn't seem to be the case.

Also SndBuf.samples() always returns the same amount of samples,
regardless the file being mono or stereo (the size matches the
time in
msec, so it seems that reports the size of a single channel).

I also played around with .channel(n), but I get the same set of
samples
regardless the channel number used.

Then I just now found out that basically the channels seem to be
stored
(or at least accessed) sequentially.
Let's say you have a stereo file containing 1024 samples (512 per
channel), you get:

samples 0-511 = left channel

samples 512-1023 = right channel

I was wondering if my assumption is correct, but also if this is
intentional.


Cheers,

Mario



-- 
musician, QA engineer

http://mbuoninfante.tumblr.com/ <http://mbuoninfante.tumblr.com/>
https://vimeo.com/creativecodingsalerno
<https://vimeo.com/creativecodingsalerno>
https://github.com/mariobuoninfante
<https://github.com/mariobuoninfante>

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
<https://lists.cs.princeton.edu/mailman/listinfo/chuck-users>


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
musician, QA engineer
http://mbuoninfante.tumblr.com/
https://vimeo.com/creativecodingsalerno
https://github.com/mariobuoninfante

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] SndBuf | accessing samples from stereo file

2021-06-16 Thread mario buoninfante
actually it turns out my weird results are due to the fact that the 
files have a different sample rate than my setup (ie files 44.1, ChucK 
48kHz).

I'll keep looking into it later on and give an update here :)

On 16/06/2021 17:03, Dana Batali wrote:
Hi Mario , I’m not at my computer right now, but wonder if you’ve 
tried SndBuf2?


On Wed, Jun 16, 2021 at 8:57 AM mario buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Hi,

I'm working on an algorithm that requires accessing samples from a
stereo file and am using SndBuf to achieve that.
I was expecting that to work so that samples were returned in
"frames",
for example:

'''

buffer.valueAt(0) = sample 0 on left channel

buffer.valueAt(1) = sample 0 on right channel

buffer.valueAt(2) = sample 1 on left channel

buffer.valueAt(3) = sample 1 on right channel

...

'''

but that doesn't seem to be the case.

Also SndBuf.samples() always returns the same amount of samples,
regardless the file being mono or stereo (the size matches the
time in
msec, so it seems that reports the size of a single channel).

I also played around with .channel(n), but I get the same set of
samples
regardless the channel number used.

Then I just now found out that basically the channels seem to be
stored
(or at least accessed) sequentially.
Let's say you have a stereo file containing 1024 samples (512 per
channel), you get:

samples 0-511 = left channel

samples 512-1023 = right channel

I was wondering if my assumption is correct, but also if this is
intentional.


Cheers,

Mario



-- 
musician, QA engineer

http://mbuoninfante.tumblr.com/ <http://mbuoninfante.tumblr.com/>
https://vimeo.com/creativecodingsalerno
<https://vimeo.com/creativecodingsalerno>
https://github.com/mariobuoninfante
<https://github.com/mariobuoninfante>

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
<https://lists.cs.princeton.edu/mailman/listinfo/chuck-users>


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
musician, QA engineer
http://mbuoninfante.tumblr.com/
https://vimeo.com/creativecodingsalerno
https://github.com/mariobuoninfante

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] SndBuf | accessing samples from stereo file

2021-06-16 Thread mario buoninfante

Hi Dana,


Yap, I forgot to call that out, I get the same results with SndBuf2.

Cheers,

Mario


On 16/06/2021 17:03, Dana Batali wrote:
Hi Mario , I’m not at my computer right now, but wonder if you’ve 
tried SndBuf2?


On Wed, Jun 16, 2021 at 8:57 AM mario buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Hi,

I'm working on an algorithm that requires accessing samples from a
stereo file and am using SndBuf to achieve that.
I was expecting that to work so that samples were returned in
"frames",
for example:

'''

buffer.valueAt(0) = sample 0 on left channel

buffer.valueAt(1) = sample 0 on right channel

buffer.valueAt(2) = sample 1 on left channel

buffer.valueAt(3) = sample 1 on right channel

...

'''

but that doesn't seem to be the case.

Also SndBuf.samples() always returns the same amount of samples,
regardless the file being mono or stereo (the size matches the
time in
msec, so it seems that reports the size of a single channel).

I also played around with .channel(n), but I get the same set of
samples
regardless the channel number used.

Then I just now found out that basically the channels seem to be
stored
(or at least accessed) sequentially.
Let's say you have a stereo file containing 1024 samples (512 per
channel), you get:

samples 0-511 = left channel

samples 512-1023 = right channel

I was wondering if my assumption is correct, but also if this is
intentional.


Cheers,

Mario



-- 
musician, QA engineer

http://mbuoninfante.tumblr.com/ <http://mbuoninfante.tumblr.com/>
https://vimeo.com/creativecodingsalerno
<https://vimeo.com/creativecodingsalerno>
https://github.com/mariobuoninfante
<https://github.com/mariobuoninfante>

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
<https://lists.cs.princeton.edu/mailman/listinfo/chuck-users>


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
musician, QA engineer
http://mbuoninfante.tumblr.com/
https://vimeo.com/creativecodingsalerno
https://github.com/mariobuoninfante

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] SndBuf | accessing samples from stereo file

2021-06-16 Thread mario buoninfante

Hi,

I'm working on an algorithm that requires accessing samples from a 
stereo file and am using SndBuf to achieve that.
I was expecting that to work so that samples were returned in "frames", 
for example:


'''

buffer.valueAt(0) = sample 0 on left channel

buffer.valueAt(1) = sample 0 on right channel

buffer.valueAt(2) = sample 1 on left channel

buffer.valueAt(3) = sample 1 on right channel

...

'''

but that doesn't seem to be the case.

Also SndBuf.samples() always returns the same amount of samples, 
regardless the file being mono or stereo (the size matches the time in 
msec, so it seems that reports the size of a single channel).


I also played around with .channel(n), but I get the same set of samples 
regardless the channel number used.


Then I just now found out that basically the channels seem to be stored 
(or at least accessed) sequentially.
Let's say you have a stereo file containing 1024 samples (512 per 
channel), you get:


samples 0-511 = left channel

samples 512-1023 = right channel

I was wondering if my assumption is correct, but also if this is 
intentional.



Cheers,

Mario



--
musician, QA engineer
http://mbuoninfante.tumblr.com/
https://vimeo.com/creativecodingsalerno
https://github.com/mariobuoninfante

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ResonZ Documentation

2021-06-16 Thread Mario Buoninfante
Hi Matt,

I did work a bit on documenting all the UGens (and not only) last year and
updated the FLOSS manual you can find here:
https://en.flossmanuals.net/chuck/_full/
Hope this might be of some help.. and also let me know if you want to
contribute! ;)

Cheers,
Mario

On Wed, 16 Jun 2021 at 05:43, Matt Comeione  wrote:

> Thank you Jack,
>
> I think the point of confusion is looking at all of the ugens for
> available parameters while not seeing all of the available options. I had
> submitted a merge request recently for documentation on vec3 and vec4.  I
> started with the example code and then reviewed the code to derive the
> other features of these ugens.  I thought I might need to do the same for
> ResonZ as I did not recognize the .gain in the code.
>
>
> On Jun 15, 2021, at 9:14 PM, Jack Atherton  wrote:
>
> Every UGen has a .gain, and it’s just multiplied against the signal to
> attenuate it or amplify it.
>
> The only place I’m aware of this in the documentation is in the Gain node,
> which has flavor text “NOTE — all unit generators can themselves change
> their gain”. It might be other places too. But it’s possibly worth making
> more apparent if it’s causing confusion!
>
> (Sorry I can’t point you to the code because I’m on my phone right now.)
> ~Jack
>
> On Tue, Jun 15, 2021 at 8:50 PM Matt Comeione 
> wrote:
>
>> I was reviewing some code from the “Physics-Based Sound Syntheses for
>> Games and Interactive Systems”.  Some of the code examples utilize .gain on
>> the ResonZ filters which is not outlined in the documentation.  I was able
>> to extract some information on the documentation of the vec3 and vec4 by
>> looking at the code (additionally have submitted this documentation to
>> GitHub), however, the ResonZ code is a little more elusive.   Is there
>> someone that might have some insight into the code that could point me in
>> the direction to where I might find the appropriate relevant code?
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] MidiIn/MidiMsg expansion

2021-01-20 Thread Mario Buoninfante
Hi,

I suppose one solution could be to have a new dedicate class (ie SysexMsg)
with a getSysex() method, and then tweak the various bits that deal with
receiving MIDI so that if the incoming msg is a sysex we can use a SysexMsg
object instead of a MidiMsg one.

The end result could be something along this line:

MidiIn min;
MidiMsg msg;
SysexMsg sysex;
...
...
while (true)
{
  min => now;
  while (min.recv(sysex))
do something
  while (min.recv(msg)
 do something else
}


cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] MidiIn/MidiMsg expansion

2021-01-20 Thread Mario Buoninfante
Hi all,

As you know I was trying to add sysex support to ChucK, and there are some
progress there.
I managed to let sysex msg through, and I can get the first 3 bytes using
the data1, data2 and data3 member variables (MidiMsg).
But of course sysex messages can have any length, so I was trying to find a
way to return an array containing the received sysex.
It's easy enough to internally store the sysex message received (ie
tweaking the MIDI callback and MidiIn and increasing the array used to
store incoming MIDI msg), but then when it's time to retrieve this array,
well I'm a bit lost tbh.

MidiMsg in midiio_rtmidi.cpp appears to be a union, and this makes things a
bit trickier since I was thinking about having a member method that returns
the sysex array (ie similar to SerialIO.getytes()).

Does anyone have any idea about the best way to proceed here?
Any help is really appreciated :)

cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] MidiFileIn class

2020-10-24 Thread Mario Buoninfante
Hi David,

You can find an example here

https://github.com/ccrma/chuck/blob/main/examples/midi/playmidi.ck

Cheers,
Mario
-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante

25 Oct 2020 01:06:57 David Loberg Code :

> Can anyone point me to documentation on the use of the MidiFileIn class?
> 
> I know that it has member functions such as .open(), .read(), .rewind(), 
> etc., but am looking for examples of how you would use it to read and play a 
> MIDI file in ChucK.
> 
> Santé,
> 
> davd
> 
> -
> 
> David Loberg Code
> 
> School of Music
> 
> Western Michigan
> 
> c...@wmich.edu
> 
> any pronouns
> 
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> 
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Ambisonics library

2020-10-24 Thread mario buoninfante

Hi all,


Does anybody know of an Ambisonics library for ChucK (ie chugins)?

I'm particularly interested in the /decoder/ side of the thing :)


Cheers,

Mario



--
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] web integration (fao Jack Atherton)

2020-07-27 Thread Mario Buoninfante
10 times more expensive than what Spencer suggested, but I think worth checking 
this out anyway

https://www.blokas.io/pisound/

I've been using it on my RaspPi 3 with ChucK in the last 3 months, and is great.
I'm using they're Patchbox OS, and that is great as well.

Cheers,
Mario



-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 27 
Jul 2020 01:00, Spencer Salazar  wrote:
>
> Hey Michael,
>
> For sure, feel free to use my course notes here, though they are a little 
> old. If anything meaningful has changed Im happy to update and eventually 
> migrate to a more accessible medium. 
> https://www.dropbox.com/s/923z4px4ztccm1b/basic-rpi.pdf?dl=0
>
> If youre looking for simple 1/8" stereo out Ive had a lot of success with 
> inexpensive (<$10 USD) USB sound interfaces from Amazon/etc. Search for 
> "raspberry pi soundcard" or look for "class compliant" in the description. 
> They don't require any extra software to be installed on the Pi. This option 
> is a quick way to easily get better audio quality from the Pi- in my 
> experience the built-in sound card is unacceptably noisy for most musical 
> purposes. The difference in quality between $10 USB audio and the fancier 
> GPIO shields is much less drastic, and to me never justified the extra 
> expense and baroque custom driver setup of the latter. 
>
> Spencer
>
>
> On Thu, Jul 23, 2020 at 12:47 PM Michael Heuer  wrote:
>>
>> Spencer wrote:
>>
>> > (Ive done a lot of work with native ChucK + Raspberry Pi so can fill in 
>> >any details if needed). 
>>
>> If you might be able to write a blog post or other walkthrough documentation 
>> on this, I would appreciate it!
>>
>> Last I tried I couldn't get the cheapo USB sound card I was using to work, 
>> and I've never gotten as far as setting ChucK up to run automatically on 
>> startup.
>>
>> Thanks!
>>
>>    michael
>>
>>
>>> On Jul 23, 2020, at 2:17 PM, Mícheál Ó Catháin  
>>> wrote:
>>>
>>> Jack
>>> Thanks very much for the pointers on web chuck!
>>> I've got a very basic setup working here 
>>> https://michealocathain.com/av/webchuck-test/.
>>>
>>> Note I'm loading Chrome from the cli on a mac as follows:
>>> /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 
>>> --autoplay-policy=no-user-gesture-required
>>>
>>> It loads /chuck/micheal2.ck, which in plays aah.wav using a sndbuf ugen.
>>>
>>> Chrome takes about 3 sec to load chuckscript.wasm, and about 2 sec to load 
>>> aah.wav.  This with an empty cache.  It's quicker to reload after the first 
>>> load, but it made me realise that there will possibly be a practical limit 
>>> on the size of .wav files loaded. 
>>>
>>> Has there been any best practice developed on how to (pre)load .wav files 
>>> longer than 5 seconds or so?  I'm interested in sampling from several ca. 5 
>>> min tracks I have recorded at 24bit, ie ca 100mb. This could be way beyond 
>>> the normal user-case for webchuck!!  
>>>
>>> I'm also curious to know if there is any variant of sndbuf which can handle 
>>> mp3's or other compressed formats?
>>>
>>>
>>> Have done a scan of the chuck-users archive - apologies if I have missed 
>>> previous answers to my queries !! 
>>>
>>>
>>> Warm regards
>>> micheal
>>>
>>> On Wed, 22 Jul 2020 at 18:23, Mícheál Ó Catháin 
>>>  wrote:

 Spencer

 Thanks a lot for your suggestions.  Yes, I'm definitely considering OSC 
 between peer-peer connect Raspberry Pi's.  Still in testing mode with web 
 chuck for now, and will see if it is the right setup for a low latency AV 
 installation.  

 Ideally I'd love to be able to load .ck files within javascript, driving 
 visualisations___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] visualizing UGens and UAnae

2020-07-20 Thread Mario Buoninfante
You can have dac using multiple channels so that for example you can connect 
output 3 and 4 to baudline or any other software you want to use.

Cheers,
Mario

-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 20 
Jul 2020 22:12, Curtis Ullerich  wrote:
>
> Thank you! Plot seems like it'll do what I need for now. I wonder if there's 
> a way to tee output to be read by sndpeek or baudline from a graph node other 
> than dac.
>
> On Mon, Jul 20, 2020 at 2:02 PM Mario Buoninfante 
>  wrote:
>>
>> Also, if you're on Linux I recommend Baudline (http://www.baudline.com/).
>> I often just leave it connected all the time.
>>
>> Cheers,
>> Mario
>>
>> -- 
>> electronic musician, sound artist, creative coder, QA engineer
>> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
>> https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante
>>
>> On 20 Jul 2020 21:25, Curtis Ullerich  wrote:
>>>
>>> Is there a way to visualize the waveforms in UGens and data/waveforms in 
>>> UAnae? I was hoping to see something in MiniAudicle. It seems like sndpeek 
>>> could be useful here. My purpose is for debugging, so it doesn't need to be 
>>> pretty. I'm dreaming of something that can show any/all units in the graph.
>>>
>>> Thanks,
>>> Curtis___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] visualizing UGens and UAnae

2020-07-20 Thread Mario Buoninfante
Also, if you're on Linux I recommend Baudline (http://www.baudline.com/).
I often just leave it connected all the time.

Cheers,
Mario


-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 20 
Jul 2020 21:25, Curtis Ullerich  wrote:
>
> Is there a way to visualize the waveforms in UGens and data/waveforms in 
> UAnae? I was hoping to see something in MiniAudicle. It seems like sndpeek 
> could be useful here. My purpose is for debugging, so it doesn't need to be 
> pretty. I'm dreaming of something that can show any/all units in the graph.
>
> Thanks,
> Curtis___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] visualizing UGens and UAnae

2020-07-20 Thread Mario Buoninfante
Hi Curtis

Few months ago I was wondering the same and ended up with a temporary solution, 
a library that uses gnuplot to visualize waveforms.

https://github.com/mariobuoninfante/ChucK_various

Then it seems that with the latest version of ChucK is now possible again to 
have Chugins that deal with UIs, but I still have to find the time to look into 
it.
I also mentioned sndpeek not too long ago, and I still thing that should be 
relatively easy to turn it into a Chugin.

Cheers,
Mario






-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 20 
Jul 2020 21:25, Curtis Ullerich  wrote:
>
> Is there a way to visualize the waveforms in UGens and data/waveforms in 
> UAnae? I was hoping to see something in MiniAudicle. It seems like sndpeek 
> could be useful here. My purpose is for debugging, so it doesn't need to be 
> pretty. I'm dreaming of something that can show any/all units in the graph.
>
> Thanks,
> Curtis___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] multiple osc addresses

2020-07-08 Thread Mario Buoninfante
Yup. Basically addresses are strings, so you can check them the way you check 
strings.

Cheers,
Mario

-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 8 
Jul 2020 20:12, Forrest Curo  wrote:
>
> So you could have:
> if (message.address == "/thisstuff") {
>   [put the content into these variables]};
> else {
> //    message.address would instead be "/thatstuff"
>    [put it into those other variables];
> }
> ?
>
> On Wed, Jul 8, 2020 at 11:58 AM Mario Buoninfante 
>  wrote:
>>
>> Hi,
>>
>> You can have a look at this example
>>
>> https://github.com/ccrma/chuck/blob/6217b3b08c3b8bb561730fb112d1b3a204cd1834/examples/osc/osc_dump.ck
>>
>> Cheers,
>> Mario
>>
>> -- 
>> electronic musician, sound artist, creative coder, QA engineer
>> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
>> https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante
>>
>> On 8 Jul 2020 19:52, Forrest Curo  wrote:
>>>
>>> Is chuck limited to one osc address per port?
>>>
>>> If not, how to distinguish messages received at one address from those 
>>> received at another?
>>>
>>> Forrest Curo
>>> San Diego
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] multiple osc addresses

2020-07-08 Thread Mario Buoninfante
Hi,

You can have a look at this example

https://github.com/ccrma/chuck/blob/6217b3b08c3b8bb561730fb112d1b3a204cd1834/examples/osc/osc_dump.ck

Cheers,
Mario

-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 8 
Jul 2020 19:52, Forrest Curo  wrote:
>
> Is chuck limited to one osc address per port?
>
> If not, how to distinguish messages received at one address from those 
> received at another?
>
> Forrest Curo
> San Diego
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] chuck-users Digest, Vol 178, Issue 1

2020-06-01 Thread mario buoninfante

Hi Claudio,


Since you mentioned the command line I suppose you want to pass 
arguments to a program (it is also possible to pass it to a shred, but 
not sure that is what you meant).


If that's the case well then yes, programs can receive floats arguments 
from command line.


Here's an example:


// loop through all the arguments

// those which are not 'floats' will be printed as 0

if(me.args())

{

    for(0 => int c; c < me.args(); c++)

    {

    chout <= Std.atof(me.arg(c)) <= " ";

    }

    chout <= IO.nl();

}

Std.atof(me.arg(0)) => float myArg;

chout <= "1st argument: " <= myArg <= IO.nl();


You can launch this program and pass one or more args the following way 
(assuming you saved it as myScript.ck):


chuck myScript:1.23::thridArg


where you have 3 args: 1.23, , thirdArg

The colon character ":" is used to separate the various arguments, with 
no space between them.


me.arg() returns all the arguments as strings, regardless of their type 
(numbers, literals), so you need to convert them (when possible).


Std.atof() and Std.atoi() (ASCII to Float and ASCII to Int - more info 
here <https://en.flossmanuals.net/chuck/_full/#standard-libraries>) will 
do the job, but keep in mind that when the argument passed is a 'string' 
that can't be properly converted into a number (ie "thirdArg"), they'll 
return 0.



Now this is just the way you can pass arguments to a program, then 
you'll have to implement a way to make it fade out.


The only thing that is not clear to me yet, is how you want to use this 
to actually fade out and terminate a program, considering the arguments 
are passed when the program is launched.


But anyway, let me know if you have any questions, and/or if I can be of 
any help.




Cheers,

Mario





On 01/06/2020 18:36, Claudio Donaggio wrote:

Hi Mario and thanks for your response!
Is it possible for a shred to receive an float argument, from Command 
Line, that is the Gain of the shred and so gradually and manually 
faing  the shred?

Thanks for answering my surely stupid question!

Claudio

Il lun 1 giu 2020, 18:00 <mailto:chuck-users-requ...@lists.cs.princeton.edu>> ha scritto:


Send chuck-users mailing list submissions to
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
or, via email, send a message with subject or body 'help' to
chuck-users-requ...@lists.cs.princeton.edu
<mailto:chuck-users-requ...@lists.cs.princeton.edu>

You can reach the person managing the list at
chuck-users-ow...@lists.cs.princeton.edu
<mailto:chuck-users-ow...@lists.cs.princeton.edu>

When replying, please edit your Subject line so it is more specific
    than "Re: Contents of chuck-users digest..."
Today's Topics:

       1. Re: Shreds fade out (mario buoninfante)



-- Forwarded message --
From: mario buoninfante mailto:mario.buoninfa...@gmail.com>>
To: chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
Cc:
Bcc:
Date: Sun, 31 May 2020 19:31:28 +0100
Subject: Re: [chuck-users] Shreds fade out

Hi Claudio,

I suspect ChucK just 'kills' the programs when you run

> chuck - 1

from terminal. What it does it's just sending the 'remove' command
to the Virtual Machine, so the program itself is not really aware
of what's going on.

If you want to fade the program out (or do any other operation)
before removing it, you must find a way to let it know first, if
that makes sense.

One solution could be to kill (and maybe launch as well) your
program from a different ChucK script (see Machine section here:
https://en.flossmanuals.net/chuck/_full/#standard-libraries), at
this point you could put the 2 in communication and have the
parent program sending an Event to the child before killing it, so
that the latter has the time to fade out and then 'remove' itself
(ie me.exit()).

One other way could be to have all your programs able to receive
msg via OSC.

Then you have a dedicate program that deals with removing them,
sending messages via OSC.

For example you can have a cleanup.ck <http://cleanup.ck> program
that simply takes one argument (provided via terminal) that is the
ID of the program to remove.

For example:

> cleanup.ck:12 <http://cleanup.ck:12>

to remove the program with the ID 12.

When this is launched it fires an OSC message that looks like this:

"remove x"

where 'x' is the ID of the program to remove.

Now all the other "active" programs receive this message, but only
the one with the right ID will respond to

Re: [chuck-users] Shreds fade out

2020-05-31 Thread mario buoninfante

Hi Claudio,

I suspect ChucK just 'kills' the programs when you run

> chuck - 1

from terminal. What it does it's just sending the 'remove' command to 
the Virtual Machine, so the program itself is not really aware of what's 
going on.


If you want to fade the program out (or do any other operation) before 
removing it, you must find a way to let it know first, if that makes sense.


One solution could be to kill (and maybe launch as well) your program 
from a different ChucK script (see Machine section here: 
https://en.flossmanuals.net/chuck/_full/#standard-libraries), at this 
point you could put the 2 in communication and have the parent program 
sending an Event to the child before killing it, so that the latter has 
the time to fade out and then 'remove' itself (ie me.exit()).


One other way could be to have all your programs able to receive msg via 
OSC.


Then you have a dedicate program that deals with removing them, sending 
messages via OSC.


For example you can have a cleanup.ck program that simply takes one 
argument (provided via terminal) that is the ID of the program to remove.


For example:

> cleanup.ck:12

to remove the program with the ID 12.

When this is launched it fires an OSC message that looks like this:

"remove x"

where 'x' is the ID of the program to remove.

Now all the other "active" programs receive this message, but only the 
one with the right ID will respond to it and maybe run your 
cleanupAndLeave() function, that fades out and exits (me.exit()).


This of course means that all your other programs need to have a simple 
parser that deals with the incoming OSC msg.



Of course I don't know anything about the context here, so these 
solutions could be not suitable for you.


Maybe if you share a bit more about how and why you're trying to achieve 
this, we'd be able to provide a bit more support.



Hope this helps, anyway.


Cheers,

Mario




On 30/05/2020 23:33, Claudio Donaggio wrote:



Hi all!
I was wondering if there is a way to smoothly fade out a shred. 
Example: from command line you add a shred with chuck + shred.ck 
 and remove it with chuck - 1. But when you remove 
the shred or replace it gets cut off instantly. I am sure there is a 
way to dinamically scale the gain from 1 to 0 smoothly before remove 
the shred, but I do not have a clue on how to go about it...

Thanks!
Claudio

Inviato dal mio dispositivo mobile Huawei


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] chuck-1.4.0.1 (numchucks) released!

2020-05-11 Thread Mario Buoninfante
Hi,

I second what Michael said, the streaming was really cool and interesting!

About the new features and "libchuck", I am more than happy to help out as much 
as I can.
I am not a C/C++ programmer, but I'm currently studying it.
Recently I have done few little things in ChucK (mainly Chugins and easy bug 
fixes documented on github) and am getting more and more familiar with ChucK's 
source code, that is always useful.
I suppose I could be of some help in some way.
What I can do for sure though, is support with testing, mainly on Linux but 
also MacOS and Windows.

Also, about the github repo, it seems like there are still old issues open even 
if they have been fixed.
In case it can be useful I'd be happy to double check them so that we can then 
maybe close the cases.


Cheers,
Mario




-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 11 
May 2020 17:04, Michael Heuer  wrote:
>
> Hello Ge, Spencer, Perry
>
> It was very nice to meet you virtually in the recent Artful Design TV meetup!
>
> With that event and the recent ChucK version 1.4.0.1 release I have been 
> inspired to ask a bunch of questions.  Hope you don't mind.
>
> Is there much interest in implementing new ChucK language features?  There 
> are some suggestions in GitHub issues
>
> Add abstract and final class and method modifiers
> Allow a class to implement more than one interface or extend more than one 
> class
> Order of class definitions in a file matters sometimes
> Add constructors to class definitions
> Add namespaces and import statements
> Allow => from a UGen into a field/parameter
>
>
> Then outside of the new language features, my most desired feature request 
> would be
>
> Chubgraphs and ChuGens don't support stereo operation
>
>
> Next, it sounds like the new ChucK version will be easier to use as a 
> library.  Is there interest from the community in helping wrap this library 
> into plugins?  Despite occasional attempts with libchuck (which I assume may 
> be deprecated now?), I am not much of a C/C++ developer and often find myself 
> lost in build issues.
>
> LV2 plugin for Linux, this would allow running ChucK on the MOD Devices 
> pedals https://wiki.moddevices.com/wiki/Creating_Audio_Plugins
>
> AudioUnit v3 for OSX and iOS, 
> https://forum.juce.com/t/ios-audiounit-wait-what/17224
>
> VCV Rack plugin, custom API 
> https://vcvrack.com/manual/PluginDevelopmentTutorial
>
>
> Then on a somewhat related note, what the hell?  These are header files!
>
> This repository is currently disabled due to a DMCA takedown notice.
> https://github.com/spencersalazar/libchuck
> https://github.com/github/dmca/blob/master/2018/2018-06-13-Steinberg.md
>
> This breaks the https://github.com/mtiid/chuck-racks build.
>
> Cheers,
>
>    michael
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Efficient analysis & resynthesis for game audio

2020-05-01 Thread mario buoninfante

thanks Jack, can't wait to give it a try :)

On 01/05/2020 17:45, Jack Atherton wrote:
In ChucK 1.4.0.0 the "global" keyword got released as "external" -- we 
since switched to global because we thought it made more intuitive 
sense. You can use "external" for now and then when you upgrade ChucK 
in the future, "external" will still work, but it will print a message 
saying it's deprecated and to use "global" instead.


~Jack

On Fri, May 1, 2020 at 9:10 AM Mario Buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Hi Jack,

That's super interesting, especially the bit about global variables.
How's that suppose to work? I don't seem to be able to make it
work on ChucK 1.4.0.0 . Just tried on MacOS High Sierra 10.13.6 .

Cheers,
Mario

On Fri, 1 May 2020 at 15:34, Jack Atherton mailto:l...@ccrma.stanford.edu>> wrote:

Hello!

There's documentation for the Unity embedding here:
http://chuck.stanford.edu/chunity/
Compared to Heavy, your ChucK code is compiled at runtime, so
you can even assemble ChucK scripts on the fly with string
manipulation while your game is currently running.

If you're looking to embed ChucK in another program, you will
want to use the ChucK class in the core/chuck.cpp file as the
interface. You will need to include all of the core/ files and
none of the host/ files. The changes we made to ChucK involved
separating its core logic (most of it) from its host --
command line and RtAudio interface, as well as reducing its
dependencies on global variables so that multiple ChucK VM
instances can coexist.

Then, there's also the new "global" variables in ChucK. If you
add the global keyword to a variable, it's accessible by name
across the entire VM (ChucK instance), and can also be set and
gotten from outside ChucK (e.g. from Unity).

~Jack

On Fri, May 1, 2020 at 5:01 AM S. Elliot Perez
mailto:s.elliot.pe...@gmail.com>>
wrote:

Hello!

I've been using Pure Data and the Heavy compiler (hvcc) to
make procedural audio for games/interactive media pieces
the last couple of years. I just started going through the
videos of the Kadenze course. The first couple of lessons,
I did what Mr. Cook was doing in his ChucK software using
Pure Data... but then I got to Session 3 where he
showcases a method of resynthesis using two scripts- one
to analyze a sound file and output a list of peaks
(frequency and amplitude), and one to perform the
resynthesis. I was very impressed with how quickly this
goes as you can just copy and paste the list from the 1st
list into the 2nd one and you already have a working model
which you can then begin to tweak. With Pure Data, this
would be an exponentially more arduous process of manually
looking at a spectral analysis, filling out boxes,
connecting them with wires, copying & pasting for each
frequency...

I'm curious as to what the possibilities of integrating
these ChucK algorithms into standard programming languages
like C++/C# for use in game engines. On the download page
of ChuCK it says that the newest versions are made to be
embedded in other systems. Is there documentation
detailing this somewhere?

-- 
*S・エリオット・ペレス

www.selliotp.com <http://www.selliotp.com>
*Sound Designer for*enen
インタラクティブサウンドディザイン*
http://enengame.com/ <https://youtu.be/xYpc9agfil8>
_*「エンエン」は日本のAppStoreでリリースされました!*_
https://itunes.apple.com/us/app/enen/id1164297889?ls=1=8
<https://itunes.apple.com/us/app/enen/id1164297889?ls=1=8>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


___
chuck-users mailing list
chuck-users@lists.cs.princeton.

Re: [chuck-users] Efficient analysis & resynthesis for game audio

2020-05-01 Thread Mario Buoninfante
Hi Jack,

That's super interesting, especially the bit about global variables.
How's that suppose to work? I don't seem to be able to make it work on
ChucK 1.4.0.0 . Just tried on MacOS High Sierra 10.13.6 .

Cheers,
Mario

On Fri, 1 May 2020 at 15:34, Jack Atherton  wrote:

> Hello!
>
> There's documentation for the Unity embedding here:
> http://chuck.stanford.edu/chunity/
> Compared to Heavy, your ChucK code is compiled at runtime, so you can even
> assemble ChucK scripts on the fly with string manipulation while your game
> is currently running.
>
> If you're looking to embed ChucK in another program, you will want to use
> the ChucK class in the core/chuck.cpp file as the interface. You will need
> to include all of the core/ files and none of the host/ files. The changes
> we made to ChucK involved separating its core logic (most of it) from its
> host -- command line and RtAudio interface, as well as reducing its
> dependencies on global variables so that multiple ChucK VM instances can
> coexist.
>
> Then, there's also the new "global" variables in ChucK. If you add the
> global keyword to a variable, it's accessible by name across the entire VM
> (ChucK instance), and can also be set and gotten from outside ChucK (e.g.
> from Unity).
>
> ~Jack
>
> On Fri, May 1, 2020 at 5:01 AM S. Elliot Perez 
> wrote:
>
>> Hello!
>>
>> I've been using Pure Data and the Heavy compiler (hvcc) to make
>> procedural audio for games/interactive media pieces the last couple of
>> years. I just started going through the videos of the Kadenze course. The
>> first couple of lessons, I did what Mr. Cook was doing in his ChucK
>> software using Pure Data... but then I got to Session 3 where he showcases
>> a method of resynthesis using two scripts- one to analyze a sound file and
>> output a list of peaks (frequency and amplitude), and one to perform the
>> resynthesis. I was very impressed with how quickly this goes as you can
>> just copy and paste the list from the 1st list into the 2nd one and you
>> already have a working model which you can then begin to tweak. With Pure
>> Data, this would be an exponentially more arduous process of manually
>> looking at a spectral analysis, filling out boxes, connecting them with
>> wires, copying & pasting for each frequency...
>>
>> I'm curious as to what the possibilities of integrating these ChucK
>> algorithms into standard programming languages like C++/C# for use in game
>> engines. On the download page of ChuCK it says that the newest versions are
>> made to be embedded in other systems. Is there documentation detailing this
>> somewhere?
>>
>> --
>>
>>
>> *S・エリオット・ペレスwww.selliotp.com *Sound Designer for
>> * enenインタラクティブサウンドディザイン*
>> [image: http://enengame.com/] 
>> *「エンエン」は日本のAppStoreでリリースされました!*
>> [image: https://itunes.apple.com/us/app/enen/id1164297889?ls=1=8]
>> 
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Bela + ChucK

2020-04-24 Thread Mario Buoninfante
Hi,

I just got my Bela board, and I was wondering if anybody has done anything
with ChucK on it.
I found this
https://forum.bela.io/d/117-chuck
so it seems somebody could have done something.

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] sndBuf.valueAt (Forrest Curo asks)

2020-04-20 Thread Mario Buoninfante
Hi,

In case you're interested I made a SampHold chugin that you can find here:
https://github.com/mariobuoninfante/ChucK_chugins

Cheers,
Mario

On Mon, 20 Apr 2020 at 18:05, Forrest Curo  wrote:

> "A sample and hold uses a periodic wave as an input. The wave is sampled
> at regular
> intervals. The resulting values are used as a control. It "samples" the
> wave and "holds" that
> value until a new value is sampled. It can be thought of as an analog to
> digital converter with
> a low frequency sampling rate (though technically the wave being sampled
> is also digital).
> The effect is similar to a strobe light or motion picture film taking
> snapshots of a smooth
> process. That smooth process is then quantized into discrete steps.
>
> "How is this useful in synthesis? Why would you want to freeze-frame a
> wave form?
> The idea is that even though the sample rate is too low to accurately
> represent the true shape
> of the wave, patterns will still emerge because the wave is periodic, and
> the sample rate is
> periodic."
>
> [David Cottle, _Computer Music with Examples in Supercollider 3]
>
> (This can be done in ChucK; the sndBuf containing the wave can be sampled
> via .valueAt without directly playing it.)
>
> On Sun, Apr 19, 2020 at 9:50 PM Forrest Curo 
> wrote:
>
>> I've achieved  dreadfulness with this. Okay, will vary the rhythm etc and
>> reduce the range, get a more interesting scale, but... hmm!
>> SawOsc s => JCRev r => dac;
>> .1 => s.gain;
>> .1 => r.mix;
>> 1 => int incsamp;
>> 0 => int ps;
>> 1 => float height;
>> 0 => float maxsofar;
>> 0 => float freq;
>> SndBuf buf;
>>
>> "/home/forrest/chuck/examples/basic/om.wav" => buf.read;
>>
>> buf.samples()  => int numSamples;
>>  Std.rand2(1, numSamples-1) => incsamp;
>> while(true){
>> (incsamp + ps) % numSamples => ps;
>> buf.valueAt(ps) + 0.125 => height;
>> Std.mtof(Math.ceil(Std.fabs(500.0 * height)) ) => freq => s.freq;
>>
>> if(freq > maxsofar) {
>> freq => maxsofar;
>> <<< maxsofar >>>;
>> }
>> 0.75::second => now;
>> }
>>
>>
>>
>>
>>
>>
>> On Sun, Apr 19, 2020 at 1:42 PM Forrest Curo 
>> wrote:
>>
>>> Um. that works.
>>> So does this:
>>> SndBuf s => blackhole;
>>> "/home/forrest/chuck/examples/basic/om.wav" => s.read;
>>> float samples;
>>> 0 => int i;
>>> while (s.pos() < s.samples())  {
>>> <<< s.last() >>>;
>>> s.pos() => i;
>>> (s.valueAt(i)) => samples;
>>> <<< samples >>>;
>>> samp => now;
>>> }
>>>
>>> I was having trouble trying to read a sndBuf like an array, or put its
>>> contents into an array.
>>> Maybe I was reading numbers off the end of the file. Declaring
>>> 'float samples[]; '
>>> and doing
>>> 's.valueAt(i) => samples[i];'
>>>
>>> got me a 'Null pointer' error.
>>>
>>> Stumbling over syntax, I guess. Thanks for help!
>>>
>>> On Sun, Apr 19, 2020 at 10:54 AM Perry Cook 
>>> wrote:
>>>
 This is truly odd.  I don’t have easy means to test it.   I don’t
 know why it wouldbe broken dependent on the dac, however.

 For fun you might try something like this, just to verify that the
 valueAt() function is what’s busted.

 SndBuf s => blackhole;
 “Fred.wav” => s.read;

 while (s.pos() < s.samples())  {
 <<< s.last() >>>;
 samp => now;
 }

 PRC

 > On Apr 19, 2020, at 9:00 AM,
 chuck-users-requ...@lists.cs.princeton.edu wrote:
 >
 > Send chuck-users mailing list submissions to
 >   chuck-users@lists.cs.princeton.edu
 >
 > To subscribe or unsubscribe via the World Wide Web, visit
 >   https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
 > or, via email, send a message with subject or body 'help' to
 >   chuck-users-requ...@lists.cs.princeton.edu
 >
 > You can reach the person managing the list at
 >   chuck-users-ow...@lists.cs.princeton.edu
 >
 > When replying, please edit your Subject line so it is more specific
 > than "Re: Contents of chuck-users digest..."
 >
 >
 > Today's Topics:
 >
 >   1. sndBuf.valueAt (Forrest Curo)
 >
 >
 > --
 >
 > Message: 1
 > Date: Sun, 19 Apr 2020 07:30:15 -0700
 > From: Forrest Curo 
 > To: ChucK Users Mailing List 
 > Subject: [chuck-users] sndBuf.valueAt
 > Message-ID:
 >   >>> g...@mail.gmail.com>
 > Content-Type: text/plain; charset="utf-8"
 >
 > Using chuck linux-jack this gives me reasonable numbers between -1
 and 1.
 > Using chuck linux-alsa I'm able to play the file I've read into
 sndBuf; but
 > trying to copy it via .valueAt gives absurdly high ["out of range"]
 numbers
 > at each point. [It can be a different high number different times I
 run
 > chuck, but the number it is turns up at every point I sample.]
 >
 > Is there a fix for this? Aside from using jack on a computer where it
 > befnurgles the midi?
 

[chuck-users] memory usage

2020-04-16 Thread Mario Buoninfante
Hi,

I was trying to better understand how ChucK deals with memory management.
I know there's no garbage collector in place and I also checked on the
mailing list, where I found several really interesting conversations about
this topic.
But still, I've got this scenario where the memory in use keeps growing.:
>From terminal I launch:
chuck --loop
then I run several times:
chuck + gc_empty.ck
every time I wait that this ends first.
gc_empty.ck contains just 1 line:
1::second => now;

at the same time I'm monitoring chuck using top (on MacOS High Sierra
10.13.1) and I get the following values for MEMORY:

as soon as I launch ChucK: 9008K
1st time I run "gc_empty.ck": 9108K
2nd time I run "gc_empty.ck": 9112K
3rd time I run "gc_empty.ck": 9196K

Why is ChucK using more and more memory?
Sorry if this is maybe a silly question.

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Oscillosope UI

2020-04-15 Thread Mario Buoninfante
Hi Spencer,

Amazing, I'll have a look at the links you shared, it's good to have a starting 
point :) thanks.
About the Chugins I'll make a PR then, I think that due to their simplicity and 
general-purpose nature, it could be useful to have them in the Chugin repo.

Cheers,
Mario

-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante

On 15 Apr 2020 19:23, Spencer Salazar  wrote:
>
> Also, feel free to make a PR if you youre chugins are cross-platform and you 
> want to share any of them in the main chugin repo! 
>
> Spencer
>
>
>
> On Wed, Apr 15, 2020 at 10:00 AM Spencer Salazar  
> wrote:
>>
>> Hey Mario- 
>>
>> Yep, Perry's got the right idea. The big cleanup in the ChucK 1.4 update 
>> left out a component that had been built to support GUI chugins, but two 
>> alpha-status examples you can look at are MAUI.chug and chugl (ChucK GL). 
>> These are currently Mac only. 
>> https://github.com/spencersalazar/MAUI.chug
>> https://github.com/spencersalazar/chugl
>>
>> I recently spent a little time reimplementing support for these GUI chugins, 
>> which works in the current master branch of ChucK or will work in an 
>> upcoming 1.4.0.1 release that is being prepared soon. 
>>
>> The basic idea is that most GUI frameworks expect to operate on a main 
>> thread of sorts. Chugins that want to run a GUI can submit a hook/callback 
>> for chuck to call in its main thread, which is otherwise mostly idle 
>> (chuck's VM and audio synth are running in a separate real-time audio 
>> thread). 
>>
>> There are other considerations such as what happens if two GUI chugins 
>> compete with each other, how GUI chugins are meant to work in miniAudicle, 
>> Windows/Linux, etc. But the basic idea is there / not crazy!  
>>
>> Spencer
>>
>>
>>
>> On Wed, Apr 15, 2020 at 6:50 AM Mario Buoninfante 
>>  wrote:
>>>
>>> Hi,
>>>
>>> Recently I've been poking around with Chugins and created a couple of 
>>> things I thought were 'missing' in the official ChucK and Chugin repos, 
>>> UGens like Wrap, Clip, Sample and Hold, etc. 
>>> (https://github.com/mariobuoninfante/ChucK_chugins), and I was thinking 
>>> about adding an oscilloscope as well.
>>> Recently I also put together a clunky class that allows you to plot things 
>>> using gnuplot, but it's an offline thing, then you need to use Std.system() 
>>> (that means using --caution-to-the-wind), I mean it's not ideal to be 
>>> honest, especially if you're looking for an oscilloscope.
>>> I was wondering, would a Chugin be the right thing to work on to create an 
>>> oscilloscope? 
>>> I never dealt with UIs before, so I could be saying something completely 
>>> naive here, but I was thinking about having a Chugin you can connect UGens 
>>> to then display their waveform.
>>> Then have methods that allow to change the oscilloscope settings (ie x-axis 
>>> and y-axis resolution, etc.).
>>> Does anybody have any experience with this kind of things? Chugins with UIs?
>>> Is it even sensible?
>>>
>>> Cheers,
>>> Mario
>>>
>>> ___
>>> chuck-users mailing list
>>> chuck-users@lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Chugin for UI (oscilloscope)

2020-04-15 Thread Mario Buoninfante
yap, that's a really good shout :)
I'll have a look at it to better understand what's going on in there.

I was also wondering, would it be ok/feasible to port sndpeek? or at least
to use that as a starting point cause, I mean from a quick look at it, it
is maybe a bit overkill, but fit for purpose for sure :)

Cheers,
Mario

On Wed, 15 Apr 2020 at 17:34, Perry R. Cook  wrote:

> Well, MAUI is a chugin, only for Mac, so there is precedent for UI in
> Chugin.  MAUI is currently broken in the command line, only working in
> MiniAudicle.
>
> Perhaps Spencer/Ge can chime in on the vagaries of doing UI/graphics via
> Chugin??
>
> Prc
>
> from MyiPhone
>
> > On Apr 15, 2020, at 9:00 AM, chuck-users-requ...@lists.cs.princeton.edu
> wrote:
> >
> > Send chuck-users mailing list submissions to
> >chuck-users@lists.cs.princeton.edu
> >
> > To subscribe or unsubscribe via the World Wide Web, visit
> >https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> > or, via email, send a message with subject or body 'help' to
> >chuck-users-requ...@lists.cs.princeton.edu
> >
> > You can reach the person managing the list at
> >chuck-users-ow...@lists.cs.princeton.edu
> >
> > When replying, please edit your Subject line so it is more specific
> > than "Re: Contents of chuck-users digest..."
> >
> >
> > Today's Topics:
> >
> >   1. Oscillosope UI (Mario Buoninfante)
> >
> >
> > --
> >
> > Message: 1
> > Date: Wed, 15 Apr 2020 14:48:25 +0100
> > From: Mario Buoninfante 
> > To: ChucK 
> > Subject: [chuck-users] Oscillosope UI
> > Message-ID:
> >
> > Content-Type: text/plain; charset="utf-8"
> >
> > Hi,
> >
> > Recently I've been poking around with Chugins and created a couple of
> > things I thought were 'missing' in the official ChucK and Chugin repos,
> > UGens like Wrap, Clip, Sample and Hold, etc. (
> > https://github.com/mariobuoninfante/ChucK_chugins), and I was thinking
> > about adding an oscilloscope as well.
> > Recently I also put together a clunky class that allows you to plot
> things
> > using gnuplot, but it's an offline thing, then you need to use
> Std.system()
> > (that means using --caution-to-the-wind), I mean it's not ideal to be
> > honest, especially if you're looking for an oscilloscope.
> > I was wondering, would a Chugin be the right thing to work on to create
> an
> > oscilloscope?
> > I never dealt with UIs before, so I could be saying something completely
> > naive here, but I was thinking about having a Chugin you can connect
> UGens
> > to then display their waveform.
> > Then have methods that allow to change the oscilloscope settings (ie
> x-axis
> > and y-axis resolution, etc.).
> > Does anybody have any experience with this kind of things? Chugins with
> UIs?
> > Is it even sensible?
> >
> > Cheers,
> > Mario
> > -- next part --
> > An HTML attachment was scrubbed...
> > URL: <
> http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200415/dfac457e/attachment-0001.html
> >
> >
> > --
> >
> > ___
> > chuck-users mailing list
> > chuck-users@lists.cs.princeton.edu
> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> >
> >
> > End of chuck-users Digest, Vol 176, Issue 1
> > ***
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Oscillosope UI

2020-04-15 Thread Mario Buoninfante
Hi,

Recently I've been poking around with Chugins and created a couple of
things I thought were 'missing' in the official ChucK and Chugin repos,
UGens like Wrap, Clip, Sample and Hold, etc. (
https://github.com/mariobuoninfante/ChucK_chugins), and I was thinking
about adding an oscilloscope as well.
Recently I also put together a clunky class that allows you to plot things
using gnuplot, but it's an offline thing, then you need to use Std.system()
(that means using --caution-to-the-wind), I mean it's not ideal to be
honest, especially if you're looking for an oscilloscope.
I was wondering, would a Chugin be the right thing to work on to create an
oscilloscope?
I never dealt with UIs before, so I could be saying something completely
naive here, but I was thinking about having a Chugin you can connect UGens
to then display their waveform.
Then have methods that allow to change the oscilloscope settings (ie x-axis
and y-axis resolution, etc.).
Does anybody have any experience with this kind of things? Chugins with UIs?
Is it even sensible?

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Closing MIDI Ports (Mario asks)

2020-03-28 Thread Mario Buoninfante
Hi Perry,

Thanks for the suggestion, I'll try that out.
In fact I realized that unfortunately killing the shred, or terminating the 
program is not enough to close the ports. You need to terminate ChucK.
An alternative could be that of using Std.system("chuck midi_config.ck"). At 
this point I could simply print the port names on the terminal.

Anyway, I'll try both and see.

Cheers,
Mario

-- 
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfanteOn 27 
Mar 2020 16:09, "Perry R. Cook"  wrote:
>
> I’m not sure if they can be closed, but as long as you don’t chuck them to 
> now, the extra ones really shouldn’t take up (much) computational resources.  
>
> One option would be to first run a MIDIConfig.ck file that opens them all and 
> writes all the names and numbers into a MIDICONFIG.txt file.  Then when you 
> run your main file, it reads that and only opens the one(s) you need.  Or 
> your first MIDIConfig.ck file could pick the one(s) you need and write only 
> them into the temp file.
>
> I’ve done this for PLOrk pieces, to figure out if laptops have 
> accelerometers, and what orientation those are.
>
> prc
>
> from MyiPhone
>
>> On Mar 27, 2020, at 9:00 AM, chuck-users-requ...@lists.cs.princeton.edu 
>> wrote:
>>
>> Send chuck-users mailing list submissions to
>>    chuck-users@lists.cs.princeton.edu
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>    https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>> or, via email, send a message with subject or body 'help' to
>>    chuck-users-requ...@lists.cs.princeton.edu
>>
>> You can reach the person managing the list at
>>    chuck-users-ow...@lists.cs.princeton.edu
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of chuck-users digest..."
>>
>>
>> Today's Topics:
>>
>>   1. Closing MIDI ports (mario buoninfante)
>>
>>
>> --
>>
>> Message: 1
>> Date: Thu, 26 Mar 2020 19:51:41 +
>> From: mario buoninfante 
>> To: ChucK Users Mailing List 
>> Subject: [chuck-users] Closing MIDI ports
>> Message-ID: 
>> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>>
>> Hi,
>>
>>
>> Is it possible to close a MIDI port?
>>
>> I'm working on a MIDI class, and to print all the available ports, I 
>> open them one at the time and get the name. Then I end up with tons of 
>> open MIDI ports I'm not actually using.
>>
>> Apart from this, another user case could be a live set where different 
>> scripts are launched and each of them wants to talk to a specific MIDI 
>> port. Doing so one ends up with a lot of /leftovers/.
>>
>>
>> Cheers,
>>
>> Mario
>>
>> -- 
>> electronic musician, sound artist, creative coder, QA engineer
>> https://vimeo.com/creativecodingsalerno
>> http://mbuoninfante.tumblr.com/
>> https://github.com/mariobuoninfante
>> https://bitbucket.org/mariobuoninfante/
>>
>> -- next part --
>> An HTML attachment was scrubbed...
>> URL: 
>> <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20200326/75ed2599/attachment-0001.html>;
>>
>> --
>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>>
>> End of chuck-users Digest, Vol 175, Issue 15
>> 
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Closing MIDI ports

2020-03-26 Thread mario buoninfante

Hi,


Is it possible to close a MIDI port?

I'm working on a MIDI class, and to print all the available ports, I 
open them one at the time and get the name. Then I end up with tons of 
open MIDI ports I'm not actually using.


Apart from this, another user case could be a live set where different 
scripts are launched and each of them wants to talk to a specific MIDI 
port. Doing so one ends up with a lot of /leftovers/.



Cheers,

Mario

--
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK as LV2 or AudioUnit v3 plugin?

2020-02-29 Thread Mario Buoninfante
+1 LV2 & Linux :)
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] smoothing and scaling RMS data

2020-02-29 Thread Mario Buoninfante
Hi Andrew,

It seems to me you need an envelope follower.
You can find more info about a possible implementation here:
https://www.bbc.co.uk/rd/publications/rdreport_1983_17

It's about dynamic range control (compressor, expander, limiter, gate), and
all of them use an envelope follower.
In alternative, you could start from here as well:
https://chuck.cs.princeton.edu/doc/examples/deep/follower.ck

Cheers,
Mario

On Tue, 25 Feb 2020 at 02:38, Andrew Telichan Phillips <
a.telichanphill...@gmail.com> wrote:

> Hello,
>
> I'm wanting to capture the amplitude envelope from a live source and
> generate feedback loops... I'm starting by obtaining RMS values, as per the
> examples on the home site:
> https://chuck.cs.princeton.edu/doc/examples/analysis/features/rms.ck
>
> First, does anyone have a preferred way of filtering the data that
> effectively captures transients and smoothes the decay?
>
> Second, is there a way to scale the range of this smoothed data - that is,
> map it onto a defined range to use as a parametric control for another UGen?
>
> While I'm at it, does ChucK have a filter for DC leak?
>
> I'm new to ChucK and am used to work, so I appreciate any help (and
> patience).
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] overloading (assignment) operators

2020-02-28 Thread mario buoninfante

Hi all,

I think I know the answer, but I'd like to ask the question anyway since 
it could trigger interesting discussions.


Is it possible to overload operators in ChucK?

I was thinking about having something like the following:

private class PInt

{

    0 => int value;

    function void __chuck__ (int x) // or PInt operator=> (int x)

    {

        x => this.value;

    }

}


so that then, assuming I have a PInt instance MyInt, I can just do 
something like that:


12 => MyInt;


Cheers,

Mario


--
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] SndBuf : the meaning and use of .loop and .interp

2020-02-23 Thread mario buoninfante

Hi Herman,


I have to admit I never used LiSa, so I can't help with this one.

Just one thing, I think it would be better if you could use titles that 
better reflect the content of your messages.


It's not a critique, don't get me wrong, just it would make it easier to 
get proper help and keep the archive "cleaner" (ie if somebody looks at 
this message in the archive would than think is about SndBuf, while it's 
not).



Cheers,

Mario



On 23/02/2020 13:01, herman verbaeten wrote:

Hi ,

Anyone who could explain the meaning of .loop and .interp in the Ugen 
LiSa? I can't find any exemples about it.


Thanks in advance.

Kinde regards,

herman


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] While loop with condition =>NOW

2020-02-22 Thread mario buoninfante

Hi,

'while' continuously evaluates the condition in () parenthesis (that in 
your case is 20::ms => now, a "pause"), and if that's true then executes 
the code in between {}.


That is the equivalent of having


while(true)

{

    your code;

    20::ms => now;

}


Cheers,

Mario



On 22/02/2020 09:37, herman verbaeten wrote:

Hi,
 In the flossmanuals i found this exemple  of modulation of the freq 
of a SinOsc.
Normally in the while() loop, between the brackets is the condition to 
keep the loop running. In the example it is a time. Complete confusion!

Kind regards
Herman
SinOsc s => dac;
SinOsc lfo;
5 => lfo.freq;
while (20::ms => now)
{ ( lfo.last() * 10 ) + 440 => s.freq; }

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
electronic musician, sound artist, creative coder, QA engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ADSR AttackRate, decayRate, sustainRate

2020-02-18 Thread Mario Buoninfante
Hi Herman,

These functions (attackRate, decayRate, releaseRate) are the inverse of the
time ones (attackTime, decayTime and releaseTime).
Looking at the source code you'll find the methods at row 4911 of
ugen_stk.cpp.
You can try the following script to see them in action:

Step step => ADSR a1 => blackhole;
step => ADSR a2 => blackhole;
step.next(1);

second / samp => float SR;
250::ms => dur attack;
750::ms => dur decay;
0.34 => float sustain;
890::ms => dur release;

a1.set(attack, decay, sustain, release);
a2.attackRate(1::ms / (attack*SR*0.001));
a2.decayRate( (1 - sustain) / ((decay/ms)*SR*0.001) );
a2.sustainLevel(sustain);
a2.releaseRate(sustain / ((release/ms)*SR*0.001));

// trigger the ADSRs and print their current value every 100 msec
a1.keyOn(1);
a2.keyOn(1);
for(0 => int c; c < 20; c++)
{
<<< a1.last(), a2.last() >>>;
100::ms => now;
}

// release the ADSRs and print their current value every 100 msec
a1.keyOff(1);
a2.keyOff(1);
for(0 => int c; c < 20; c++)
{
<<< a1.last(), a2.last() >>>;
100::ms => now;
}

Cheers,
Mario

On Mon, 17 Feb 2020 at 10:56, herman verbaeten  wrote:

> Hi,
>
> I was wondering what the function is of AttackRate,  decayRate,
> sustainRate in ADSR.
> Normally when using an ADSR,  attack only uses time. Same for decay and
> sustain.
>
> Also the declaration at the end of de memeber description is not very
> clear to me:
>
> The \e state = ADSR::DONE after the
> envelope value reaches 0.0 in the
> ADSR::RELEASE state.
>
>
> Thanks in advance for your assistance.
>
> Kind regards,
>
> Herman
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] => now

2020-02-11 Thread Mario Buoninfante
in the example before I wrote 0.5::sample , but it is 0.5::samp
sorry

On Tue, 11 Feb 2020 at 13:21, Mario Buoninfante 
wrote:

> Hi Herman,
>
> In ChucK you can also go sub-sample rate (ie 0.5::sample => now;).
> I wouldn't worry about the *rate* of the events (how fast they're
> generated), I think it's slightly more complex than that.
> I would assume (and I'd like to ask someone on the list more expert than
> me to validate this statement) that as long as the event can be *captured*
> *at* *low level *by ChucK, then you can use it to trigger *now*.
> In the case of USB MIDI then, there are also some aspects of the
> implementation of the various MIDI libraries that help in scenarios where
> too many msg are sent.
> For example, the computer and/or the hardware connected to it, can
> communicate the fact that they're busy and thus whichever of the 2 is the
> one that sends the msg, can wait before sending the next one (all this
> assuming that both implemented USB MIDI the same way).
> Now, as far as I know this mechanism is not always in place (both in USB
> MIDI libraries and hardware/software products), and I honestly don't know
> whether or not ChucK uses it (I suppose it would be the case of having a
> look at the source code - RtMidi and the way ChucK interfaces to it).
>
> About* now*, this can work with *dur* and* time* data types and *events*
> (Event, MIDI, HID).
> About the MIDI use case, your *MidiIn* objects receives a MIDI msg (so
> ChucK is aware of the msg already) and then triggers *now*.
> At that point your script/program proceeds and go to the next instruction
> (ie whatever else in the code comes next).
>
> Cheers,
> Mario
>
>
> On Tue, 11 Feb 2020 at 11:56, herman verbaeten 
> wrote:
>
>> Thanks Mario,
>>
>> So once you started the VM to run,  time floats at the speed of  44100
>> times  a sec. So the "now" can only see things if they'r fed into it at a
>> frequency less or even a 44100 th time of a second.
>>
>> Does this mean that i can feed anything into the "now"? Or only things
>> that contain a kind of trigger? But in case of a midi message this trigger
>> "min => now" kind of wakes up chuck to do the nex thing on the list? e.g.
>> read the incoming message?
>>
>> Cheers,
>>
>> Herman
>>
>>
>>
>>
>>
>>
>> --
>> *Van:* chuck-users-boun...@lists.cs.princeton.edu <
>> chuck-users-boun...@lists.cs.princeton.edu> namens Mario Buoninfante <
>> mario.buoninfa...@gmail.com>
>> *Verzonden:* dinsdag 11 februari 2020 11:07
>> *Aan:* ChucK Users Mailing List 
>> *Onderwerp:* Re: [chuck-users] => now
>>
>> to be a bit more precise, when you have something like
>> min => now;
>> your program waits for a MIDI event in order to advance, but the ChucK
>> time is still running.
>> Anyway, more info in the link I shared :)
>>
>> On Tue, 11 Feb 2020 at 11:03, Mario Buoninfante <
>> mario.buoninfa...@gmail.com> wrote:
>>
>> Hi Herman,
>>
>> You can use Events/MIDI/HID to advance in time.
>> Have a look at this chapter if you want to know more about it
>> https://en.flossmanuals.net/chuck/_full/#events
>> In a nutshell what happens is that a MIDI event is received and that
>> turns into a *trigger*, so your program advances in time. Otherwise it
>> stays there until a MIDI even happens.
>> See it more as a trigger than a *time constant* if that makes sense.
>>
>> Cheers,
>> Mario
>>
>> On Tue, 11 Feb 2020 at 10:59, herman verbaeten 
>> wrote:
>>
>> Hi,
>>
>> I'm trying to understand what's really  happening in chuck.
>> I thought i did untill i saw some exemples of midi.
>>
>> Normaly you can only feed time or duration into now ( e.g. 10::ms => now)
>> But in case you are awaiting a midi-in message you write :
>>
>> MidiIn min;
>> while (true)
>> {
>> min => now
>> }
>>
>> So in fact do you assign the message to time? Total confusion!
>> Thanks for your answer.
>>
>> Herman
>>
>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] => now

2020-02-11 Thread Mario Buoninfante
Hi Herman,

In ChucK you can also go sub-sample rate (ie 0.5::sample => now;).
I wouldn't worry about the *rate* of the events (how fast they're
generated), I think it's slightly more complex than that.
I would assume (and I'd like to ask someone on the list more expert than me
to validate this statement) that as long as the event can be
*captured* *at* *low
level *by ChucK, then you can use it to trigger *now*.
In the case of USB MIDI then, there are also some aspects of the
implementation of the various MIDI libraries that help in scenarios where
too many msg are sent.
For example, the computer and/or the hardware connected to it, can
communicate the fact that they're busy and thus whichever of the 2 is the
one that sends the msg, can wait before sending the next one (all this
assuming that both implemented USB MIDI the same way).
Now, as far as I know this mechanism is not always in place (both in USB
MIDI libraries and hardware/software products), and I honestly don't know
whether or not ChucK uses it (I suppose it would be the case of having a
look at the source code - RtMidi and the way ChucK interfaces to it).

About* now*, this can work with *dur* and* time* data types and *events*
(Event, MIDI, HID).
About the MIDI use case, your *MidiIn* objects receives a MIDI msg (so
ChucK is aware of the msg already) and then triggers *now*.
At that point your script/program proceeds and go to the next instruction
(ie whatever else in the code comes next).

Cheers,
Mario


On Tue, 11 Feb 2020 at 11:56, herman verbaeten  wrote:

> Thanks Mario,
>
> So once you started the VM to run,  time floats at the speed of  44100
> times  a sec. So the "now" can only see things if they'r fed into it at a
> frequency less or even a 44100 th time of a second.
>
> Does this mean that i can feed anything into the "now"? Or only things
> that contain a kind of trigger? But in case of a midi message this trigger
> "min => now" kind of wakes up chuck to do the nex thing on the list? e.g.
> read the incoming message?
>
> Cheers,
>
> Herman
>
>
>
>
>
>
> --
> *Van:* chuck-users-boun...@lists.cs.princeton.edu <
> chuck-users-boun...@lists.cs.princeton.edu> namens Mario Buoninfante <
> mario.buoninfa...@gmail.com>
> *Verzonden:* dinsdag 11 februari 2020 11:07
> *Aan:* ChucK Users Mailing List 
> *Onderwerp:* Re: [chuck-users] => now
>
> to be a bit more precise, when you have something like
> min => now;
> your program waits for a MIDI event in order to advance, but the ChucK
> time is still running.
> Anyway, more info in the link I shared :)
>
> On Tue, 11 Feb 2020 at 11:03, Mario Buoninfante <
> mario.buoninfa...@gmail.com> wrote:
>
> Hi Herman,
>
> You can use Events/MIDI/HID to advance in time.
> Have a look at this chapter if you want to know more about it
> https://en.flossmanuals.net/chuck/_full/#events
> In a nutshell what happens is that a MIDI event is received and that turns
> into a *trigger*, so your program advances in time. Otherwise it stays
> there until a MIDI even happens.
> See it more as a trigger than a *time constant* if that makes sense.
>
> Cheers,
> Mario
>
> On Tue, 11 Feb 2020 at 10:59, herman verbaeten 
> wrote:
>
> Hi,
>
> I'm trying to understand what's really  happening in chuck.
> I thought i did untill i saw some exemples of midi.
>
> Normaly you can only feed time or duration into now ( e.g. 10::ms => now)
> But in case you are awaiting a midi-in message you write :
>
> MidiIn min;
> while (true)
> {
> min => now
> }
>
> So in fact do you assign the message to time? Total confusion!
> Thanks for your answer.
>
> Herman
>
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] => now

2020-02-11 Thread Mario Buoninfante
to be a bit more precise, when you have something like
min => now;
your program waits for a MIDI event in order to advance, but the ChucK time
is still running.
Anyway, more info in the link I shared :)

On Tue, 11 Feb 2020 at 11:03, Mario Buoninfante 
wrote:

> Hi Herman,
>
> You can use Events/MIDI/HID to advance in time.
> Have a look at this chapter if you want to know more about it
> https://en.flossmanuals.net/chuck/_full/#events
> In a nutshell what happens is that a MIDI event is received and that turns
> into a *trigger*, so your program advances in time. Otherwise it stays
> there until a MIDI even happens.
> See it more as a trigger than a *time constant* if that makes sense.
>
> Cheers,
> Mario
>
> On Tue, 11 Feb 2020 at 10:59, herman verbaeten 
> wrote:
>
>> Hi,
>>
>> I'm trying to understand what's really  happening in chuck.
>> I thought i did untill i saw some exemples of midi.
>>
>> Normaly you can only feed time or duration into now ( e.g. 10::ms => now)
>> But in case you are awaiting a midi-in message you write :
>>
>> MidiIn min;
>> while (true)
>> {
>> min => now
>> }
>>
>> So in fact do you assign the message to time? Total confusion!
>> Thanks for your answer.
>>
>> Herman
>>
>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Array of SndBufs at different rates

2020-01-10 Thread Mario Buoninfante
you can also find more info here:
https://en.flossmanuals.net/chuck/_full/#arrays

On Fri, 10 Jan 2020 at 12:28, Matthew.Noone  wrote:

> Hi all,
> I'm trying to figure out the easiest way to setup an array of the same
> SndBuf playing at different rates.
>
> I'm using a Gong sample.  Playing that back at different rates to make
> basic melodic patterns.
>
> I can make a random function but I don't know who I can set an array of
> rates which I can then randomise.
>
> Any ideas?
>
> Here is my existing code with random function. (I tried writing an array
> at the start but not sure how to call that?)
>
> Sorry for such an easy question...
> MJ
>
> //Sndbuf
>
>
> //4 => int gongs;
>
> //[.25, 0.5, 1.0, .25] @=> float rates[];//array of possible rates
> (changing will change harmony)
>
>
> //program
>
> SndBuf mySound => Delay d => JCRev rev => Gain g => dac;
>
>
> 0.8 => rev.mix;
>
>
> //delay and rev setup
>
>
> d => Gain feedback => d;
>
>
>
>
> while (true)
>
> {
>
> .02 => g.gain;
>
> me.dir()+"Samples/MotherGong.wav" =>mySound.read;
>
>
>
>
>
>
>
> 0 =>mySound.pos;
>
> Math.random2f ( 20.1, 22.01 ) => mySound.rate;
>
> Math.random2f( 0.3, 0.5) ::second => d.max;
>
> Math.random2( 30, 70) ::ms =>d.delay;
>
>
>
> Math.random2f( 0.3, .8) => feedback.gain;
>
>
>
> 0.50 ::second => now;
>
>
>
>
>
>
>
> }
>
>
> Dr. Matthew James Noone
> *Sarode Artist & Irish Research Council Postdoctoral Fellow*
> *Irish World Academy of Music and Dance*
> *University of Limerick*
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Array of SndBufs at different rates

2020-01-10 Thread Mario Buoninfante
Hi James,

here's an example that shows how you can get/set values when dealing with
arrays:

[0.25, -0.5, 1., 0.25] @=> float rates[];

<<< "GET VALUES\n-" >>>;
// get values from the array
for(0 => int c; c < rates.size(); c++)
{
<<< rates[c] >>>;
}

<<< "\nSET VALUES\n-" >>>;
// set values
for(0 => int c; c < rates.size(); c++)
{
Math.random2f(-1, 1) => rates[c];
<<< rates[c] >>>;
}

if you want to randomize the whole array, of course you'd need to have
something like a for loop in which you randomize all the elements.

Just one thing, looking at the script you attached, I would take the line
of code where you load the audio file out of the while loop. You only need
to load it once.
The same with the line where you set the delay size (d.max()). You could
simply pick a length that is never shorter than the 'delay' value
(d.delay()) you randomize in the while loop.

Cheers,
Mario


On Fri, 10 Jan 2020 at 12:28, Matthew.Noone  wrote:

> Hi all,
> I'm trying to figure out the easiest way to setup an array of the same
> SndBuf playing at different rates.
>
> I'm using a Gong sample.  Playing that back at different rates to make
> basic melodic patterns.
>
> I can make a random function but I don't know who I can set an array of
> rates which I can then randomise.
>
> Any ideas?
>
> Here is my existing code with random function. (I tried writing an array
> at the start but not sure how to call that?)
>
> Sorry for such an easy question...
> MJ
>
> //Sndbuf
>
>
> //4 => int gongs;
>
> //[.25, 0.5, 1.0, .25] @=> float rates[];//array of possible rates
> (changing will change harmony)
>
>
> //program
>
> SndBuf mySound => Delay d => JCRev rev => Gain g => dac;
>
>
> 0.8 => rev.mix;
>
>
> //delay and rev setup
>
>
> d => Gain feedback => d;
>
>
>
>
> while (true)
>
> {
>
> .02 => g.gain;
>
> me.dir()+"Samples/MotherGong.wav" =>mySound.read;
>
>
>
>
>
>
>
> 0 =>mySound.pos;
>
> Math.random2f ( 20.1, 22.01 ) => mySound.rate;
>
> Math.random2f( 0.3, 0.5) ::second => d.max;
>
> Math.random2( 30, 70) ::ms =>d.delay;
>
>
>
> Math.random2f( 0.3, .8) => feedback.gain;
>
>
>
> 0.50 ::second => now;
>
>
>
>
>
>
>
> }
>
>
> Dr. Matthew James Noone
> *Sarode Artist & Irish Research Council Postdoctoral Fellow*
> *Irish World Academy of Music and Dance*
> *University of Limerick*
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] multi-tap delay vs multi-delay

2020-01-07 Thread Mario Buoninfante
Hi Michael,

I'm not sure what would be the difference with your implementation, but I'd
do something like that, where basically the various delays are in series:

Impulse impulse => dac;
impulse => DelayL tap_1 => dac.left;
tap_1 => DelayL tap_2 => dac.right;
tap_1 => Gain fback_1 => tap_1;
tap_2 => Gain fback_2 => tap_1;

0.2 => fback_1.gain => fback_2.gain; // this needs to be <= (1 /
nr_of_delay_lines)
second => tap_1.max => tap_2.max;
400::ms => dur d_1;
600::ms => dur d_2; // this should always be bigger than d_1
tap_1.delay(d_1);
tap_2.delay(d_2 - d_1);

for(0 => int c; c < 5; c++)
{
impulse.next(1);
<<< "NEXT" >>>;
second => now;
}
5::second => now;

I think the idea with multitap delays is to have one delay line and
multiple taps placed in that delay line.
I don't think in ChucK there are UGens that allow you to do that, so
probably the closest implementation to that would be the one I wrote above,
where delay lines are in series.
Of course there are more elegant way to then implement this :)

Cheers,
Mario

On Tue, 7 Jan 2020 at 03:29, Michael Heuer  wrote:

> Hello,
>
> Does anyone have an implementation of a multi-tap delay in ChucK?  I use
> what may better be called a multi-delay, where all multiple delays with
> different delay lengths are arranged in parallel
>
> /*
>
>   inlet --> _pre --> _echo1 --> _post --> _boost --> wet
> ^  | ^ |
> |  | | |
> |  +> _echo2 + |
> |  | | |
> |  +> _echo3 + |
> |  | | |
> |  +> _echo4 + |
> |  |
> +--- feedback -+
>  */
>
> I can't get my head around it exactly, but it feels like this is different
> than a true multi-tap delay, where one has a loop of the longest delay time
> and then multiple taps within that delay time.
>
> I've been wanting lately to do something similar to these
>
> "Volante takes this into account with a Spacing control that’s adjustable
> between Even, Triplet, Golden Ratio (for dense, non-overlapping echoes),
> and Silver Ratio (for non-overlapping repeats biased toward the quarter
> note). And the Spacing control is continuously variable, allowing you to
> morph between its settings in real time."
>
> and
>
> "3.3.3 Taps
>
> The number of delay taps, from 1 to 64. The Taps control affects the Tap
> Delay Block in the signal flow diagram.
>
> …
>
> 3.3.5 Spread
>
> The rhythmic spacing of the Taps. More negative values will group taps
> towards the beginning, for a ”slowing-down” feeling. More positive values
> will group taps towards the end for a ”speeding-up” delay sound.
> Specifically, a 0 value will result in constant spacing, while values
> between 0 and +/- 50 have linearly increasing/decreasing tap spacing, and
> values between +/- 51 and +/- 100 have exponentially increasing/decreasing
> tap spacing. The Spread control affects the Tap Delay Block in the signal
> flow diagram."
>
> Thanks in advance!
>
>michael
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] SndBuf Error.

2019-12-19 Thread Mario Buoninfante
Hi Maria,

me.dir() doesn't accept strings but integers (or no arguments at all) to
return the path, starting from the current folder (ie the folder where the
ChucK script/program resides).
Assuming your ChucK program is saved in a folder called:
"~/Users/Me/Documents/ChucKFiles" if you use me.dir() this will return the
path I just specified, if you use me.dir(1) it would be the parent folder
so: "~/Users/Me/Documents", me.dir(2) returns: "~/Users/Me" and so on.
Then SndBuf method 'pos' wants an integer as an argument, since the
argument represents the position (playhead starting point) expressed in
samples (hence why integers).

I would recommend to always check the errors reported on the console
monitor, even if sometimes they can be 'cryptic', most of the time will
help you debugging the issue.
Useful to report the errors you get on the console here on the mailing list
as well when asking for help :)

now you code could look something like the following:

//
// Using SndBuf to play a sound file
// by ChucK Programmer, December 2050
SndBuf mySound => dac;

// path + filename (assuming the 'audio' folder is in the same
// folder as the script itself)
me.dir() + "/audio/123.wav" => string filename;
// tell SndBuf to read this file
filename => mySound.read;
// set gain
0.5 => mySound.gain;
// play sound from the beginning
0 => mySound.pos;
// advance time so we can hear it
second => now;
//

Cheers,
Mario


On Mon, 16 Dec 2019 at 18:41, maria p cruz 
wrote:

> Hi Everyone!
> Wath is wrong in this code?
>
>
> // Using SndBuf to play a sound file
> // by ChucK Programmer, December 2050
> SndBuf mySound => dac;
> // get file path
> me.dir(C:\Program Files (x86)\ChucK\audio\123.wav) => string path;
> // sound file we want to play
> "/audio/123.wav" => string filename;
> // + sign connects strings together!
> path+filename => filename;
> // tell SndBuf to read this file
> filename => mySound.read;
> // set gain
> 0.5 => mySound.gain;
> // play sound from the beginning
> 0.1 => mySound.pos;
> // advance time so we can hear it
> second => now;
> //
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Sequencing with Launchpad and ChucK | Talk

2019-12-06 Thread Mario Buoninfante
sure thing, I will :)
Didn't know you were in London at the ADC conference, otherwise I would
have joined for sure :)

Cheers,
Mario

On Wed, 4 Dec 2019 at 17:53, Spencer Salazar 
wrote:

> Sounds cool! Say hi for me- met a few of the folks staffing the place (and
> gave an Auraglyph demo) when I happened upon it after the Audio Developer
> Conference this year.
>
> Spencer
>
> --
>
> Spencer Salazar, PhD
> spen...@spencersalazar.com | 831.277.4654
> https://spencersalazar.com
>
>
>
> On Tue, Dec 3, 2019 at 12:08 PM Mario Buoninfante <
> mario.buoninfa...@gmail.com> wrote:
>
>> Hi everybody,
>>
>> For those who are in London, the 10th of December I'm giving a talk about
>> sequencing with Launchpad and ChucK at the Novation pop-up shop in
>> Shoreditch.
>> It's a free entry event.
>>
>> Hope to see someone from the list :)
>>
>>
>> https://www.eventbrite.co.uk/e/novation-london-learn-hackspace-sequencing-w-launchpad-chuck-registration-75865286113
>>
>> Cheers,
>> Mario
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Sequencing with Launchpad and ChucK | Talk

2019-12-03 Thread Mario Buoninfante
Hi everybody,

For those who are in London, the 10th of December I'm giving a talk about
sequencing with Launchpad and ChucK at the Novation pop-up shop in
Shoreditch.
It's a free entry event.

Hope to see someone from the list :)

https://www.eventbrite.co.uk/e/novation-london-learn-hackspace-sequencing-w-launchpad-chuck-registration-75865286113

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Generate midi file

2019-09-23 Thread Mario Buoninfante
Hi Claudio,

What do you exactly mean with *create a wav file, bit in relation to MIDI*?

Cheers,
Mario

On Sun, 22 Sep 2019 at 18:46, Claudio Rogerio  wrote:

> Hi people fine!
> I'd like to record a midi file from any melody phrase via STK or
> oscillator, is it possible?
> There is a way to create wav file, but in relation to midi?
>
> Thanks again,
>
> --
>
> Claudio Rogerio
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] New version of VSCode ChucK extension has been released

2019-09-11 Thread Mario Buoninfante
Well, I'm on Ubuntu Studio :)
Anyway I'll try on MacOS as well and let you know in case I find anything.

Cheers,
Mario

-- Electronic Musician, Creative Coder, QA Engineer 
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante


On 11 Sep 2019 16:46, Forrest Cahoon  wrote:
>
> Please let me know how it works for you. I did all my development and testing 
> on a Debian Linux system; I'm anxious to know how it works on other systems. 
> I don't _think_ there will be any problems, but ... you never know.
>
> Forrest
>
> On Tue, Sep 10, 2019 at 10:22 AM mario buoninfante 
>  wrote:
>>
>> Hi Forrest,
>>
>>
>> That's simply great, I'll give it a try as soon as possible :)
>>
>> Also cause I've recently started using VSCode, coming from Atom, and this is 
>> a really good excuse for me to dive a little bit more into it.
>>
>>
>> Cheers,
>>
>> Mario
>>
>>
>> On 10/09/2019 04:45, Forrest Cahoon wrote:
>>>
>>> Hey all!
>>>
>>> I just published version 0.2.0 of my vscode-chuck extension.
>>>
>>> This version has the syntax checking feature using the recently added 
>>> `--syntax` chuck command-line switch. You will need to build chuck from 
>>> sources for this to be available; therefore this capability is disabled by 
>>> default.
>>>
>>> One thing that is enabled by default is the ability to play the code in the 
>>> current editor window; hopefully everyone will enjoy that.
>>>
>>> Please check it out and let me know if you have any issues.
>>>
>>> https://marketplace.visualstudio.com/items?itemName=forrcaho.chuck
>>>
>>> https://github.com/forrcaho/vscode-chuck
>>>
>>> Forrest
>>>
>>>
>>> ___
>>>
>>> chuck-users mailing list
>>>
>>> chuck-users@lists.cs.princeton.edu
>>>
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>> -- 
>>
>> Electronic Musician, Creative Coder, QA Engineer
>>
>> https://vimeo.com/creativecodingsalerno
>>
>> http://mbuoninfante.tumblr.com/
>>
>> https://github.com/mariobuoninfante
>>
>> https://bitbucket.org/mariobuoninfante/
>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] New version of VSCode ChucK extension has been released

2019-09-10 Thread mario buoninfante

Hi Forrest,


That's simply great, I'll give it a try as soon as possible :)

Also cause I've recently started using VSCode, coming from Atom, and 
this is a really good excuse for me to dive a little bit more into it.



Cheers,

Mario


On 10/09/2019 04:45, Forrest Cahoon wrote:

Hey all!

I just published version 0.2.0 of my vscode-chuck extension.

This version has the syntax checking feature using the recently added 
`--syntax` chuck command-line switch. You will need to build chuck 
from sources for this to be available; therefore this capability is 
disabled by default.


One thing that is enabled by default is the ability to play the code 
in the current editor window; hopefully everyone will enjoy that.


Please check it out and let me know if you have any issues.

https://marketplace.visualstudio.com/items?itemName=forrcaho.chuck

https://github.com/forrcaho/vscode-chuck

Forrest


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ChucK | Users Chugins/Chubgraphs/Chugens

2019-09-01 Thread Mario Buoninfante
Hi Michael,

Thanks for giving me a bit context here.
I think before I can say anything about it, I should have a proper look at 
LiCK. Something more than just poking around and get inspired by it, but 
instead I should spend some time actually using it.
Thus, I'll take some time in the next weeks and then I should be able to 
provide my view about it.
At the first sight I can only say that absolutely LiCK is quite powerful, from 
what I've seen in the code. And if the documentation is the only issue, well 
we're in a good place though :)

Cheers,
Mario

-- Electronic Musician, Creative Coder, QA Engineer 
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante


On 1 Sep 2019 02:58, Michael Heuer  wrote:
>
> Hello Mario,
>
> A long time ago, on this very list, some folks thought it would be a good 
> idea to create a place to collect their ChucK code into a shared library.  I 
> volunteered to start such a library and LiCK was born.
>
> For one reason or another, LiCK didn't really take off as a community 
> library.  I would guess the primary reason is that LiCK comes off as more of 
> a programmer library rather than a musician library.  There is a lot of good 
> stuff for musicians in there, I am just not so good at documentation!  :)
>
> Going forward, I'm more than welcome to contributions via Github pull request 
> or to the docs via FLOSS manuals.  Or if a new shared library should be 
> created from scratch, for another try at broader community involvement, I'm 
> all for that as well.
>
> Cheers,
>
>    michael
>
>
> On Sun, Aug 25, 2019 at 2:58 PM Mario Buoninfante 
>  wrote:
>>
>> Hi Michael,
>>
>> Considering the nature of the thread, would you like to expand a bit on "The 
>> original intent was that it be a place for lots of people to dump their 
>> stuff, but that hasn't really happened"?
>> I mean that seems exactly what I was looking for :)
>> How do you see that happen, if it's still something you'd like to see 
>> happening?
>>
>> Cheers,
>> Mario
>>
>> -- Electronic Musician, Creative Coder, QA Engineer 
>> https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
>> https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante
>>
>> On 23 Aug 2019 21:03, Michael Heuer  wrote:
>>>
>>> Hello Mario, Sarerac
>>>
>>> Thank you for the reminder about the FLOSS manuals documentation — that is 
>>> quite a bit out of date, and doesn't really mention much about making 
>>> music.  :)
>>>
>>> Very generally, LiCK is where I dump all the stuff I write in ChucK.  The 
>>> original intent was that it be a place for lots of people to dump their 
>>> stuff, but that hasn't really happened.
>>>
>>> Nearly every class/effect/instrument has an example in the examples 
>>> directory
>>>
>>> https://github.com/heuermh/lick/tree/master/examples
>>>
>>> The examples named *Pedal.ck work similar to a guitar pedal, I typically 
>>> use them with an Apogee Jam interface, or my real multichannel interface, 
>>> and this stomp board which acts as a keyboard (though it can also do MIDI 
>>> over USB)
>>>
>>> https://forum.loopyapp.com/discussion/419/homemade-teensyduino-pedal-works-well-with-loopy
>>>
>>>    michael
>>>
>>>
>>>> On Aug 21, 2019, at 4:07 PM, mario buoninfante 
>>>>  wrote:
>>>>
>>> Hi Sarerac,
>>>
>>>
>>> You can find more info about LiCK here: 
>>> https://en.flossmanuals.net/chuck/_full/#lick-library-for-chuck
>>>
>>>
>>> Cheers,
>>>
>>> Mario
>>>
>>> On 20/08/2019 17:39, sarerac wrote:
>>>
>>> Hello;
>>>
>>> How is it implemented LiCK in Chuck? LiCK is a little confuse for me 
>>> because i didn’t know it.___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ChucK | Users Chugins/Chubgraphs/Chugens

2019-08-25 Thread Mario Buoninfante
Hi Michael,

Considering the nature of the thread, would you like to expand a bit on "The 
original intent was that it be a place for lots of people to dump their stuff, 
but that hasn't really happened"?
I mean that seems exactly what I was looking for :)
How do you see that happen, if it's still something you'd like to see happening?

Cheers,
Mario

-- Electronic Musician, Creative Coder, QA Engineer 
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante


On 23 Aug 2019 21:03, Michael Heuer  wrote:
>
> Hello Mario, Sarerac
>
> Thank you for the reminder about the FLOSS manuals documentation — that is 
> quite a bit out of date, and doesn't really mention much about making music.  
> :)
>
> Very generally, LiCK is where I dump all the stuff I write in ChucK.  The 
> original intent was that it be a place for lots of people to dump their 
> stuff, but that hasn't really happened.
>
> Nearly every class/effect/instrument has an example in the examples directory
>
> https://github.com/heuermh/lick/tree/master/examples
>
> The examples named *Pedal.ck work similar to a guitar pedal, I typically use 
> them with an Apogee Jam interface, or my real multichannel interface, and 
> this stomp board which acts as a keyboard (though it can also do MIDI over 
> USB)
>
> https://forum.loopyapp.com/discussion/419/homemade-teensyduino-pedal-works-well-with-loopy
>
>    michael
>
>
>> On Aug 21, 2019, at 4:07 PM, mario buoninfante  
>> wrote:
>>
> Hi Sarerac,
>
>
> You can find more info about LiCK here: 
> https://en.flossmanuals.net/chuck/_full/#lick-library-for-chuck
>
>
> Cheers,
>
> Mario
>
> On 20/08/2019 17:39, sarerac wrote:
>
> Hello;
>
> How is it implemented LiCK in Chuck? LiCK is a little confuse for me because 
> i didn’t know it.
>  Cheers 
> Enviado desde mi iPhone
>
> El 20 ago 2019, a las 0:29, mario buoninfante  
> escribió:
>
> Ehehe you're perfectly right Michael, and I have to say I love LiCK. I've 
> learned tons just looking at the code in there.
>
> The reason why I didn't think about it is because I was thinking more about 
> something like Deken in Pure Data (https://puredata.info/docs/Deken).
>
> A place where you can look for something and find it (if it exists). Now this 
> something could be an important and well structured library like LiCK, but 
> also a little script with only few Chubgraphs.
>
> I don't know if this makes sense, but this is the kind of idea that popped up 
> in my mind. 
>
> But maybe it isn't the right one, that's why I'd like to hear from you guys. 
>
>
> Cheers,
>
> Mario
>
>
>
>
> <___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ChucK | Users Chugins/Chubgraphs/Chugens

2019-08-21 Thread mario buoninfante

Hi Sarerac,


You can find more info about LiCK here: 
https://en.flossmanuals.net/chuck/_full/#lick-library-for-chuck



Cheers,

Mario

On 20/08/2019 17:39, sarerac wrote:

Hello;

How is it implemented LiCK in Chuck? LiCK is a little confuse for me 
because i didn’t know it.

 Cheers
Enviado desde mi iPhone

El 20 ago 2019, a las 0:29, mario buoninfante 
mailto:mario.buoninfa...@gmail.com>> 
escribió:


Ehehe you're perfectly right Michael, and I have to say I love LiCK. 
I've learned tons just looking at the code in there.


The reason why I didn't think about it is because I was thinking more 
about something like Deken in Pure Data 
(https://puredata.info/docs/Deken).


A place where you can look for something and find it (if it exists). 
Now this something could be an important and well structured library 
like LiCK, but also a little script with only few Chubgraphs.


I don't know if this makes sense, but this is the kind of idea that 
popped up in my mind.


But maybe it isn't the right one, that's why I'd like to hear from 
you guys.



Cheers,

Mario




On 19/08/2019 22:37, Michael Heuer wrote:

How about

LiCK, a Library for ChucK
https://github.com/heuermh/lick

It’s only been going since 2007.  ;)

I’ll help adapt any contributions for code style if necessary. E.g. 
nearly all Chubgraphs extend from Effect or one of its subclasses


https://github.com/heuermh/lick/blob/master/lick/effect/Effect.ck

   michael


On Aug 19, 2019, at 2:53 PM, mario buoninfante 
mailto:mario.buoninfa...@gmail.com>> 
wrote:



Hi,

I've been looking at CSound recently and I was impressed by the 
quantity of Opcodes (Ugens) it has.
I know we have official Chugins, but still it's a small collection 
and I'm pretty sure there are plenty of interesting ones flying 
around that we all use every day (even if Chubgraphs), just they've 
never been 'captured'.

Thus, I was thinking why don't we 'capture' them somewhere :)
I also know that having an official repo means maintaining 
everything is on there, and that requires work as well.
What do you guys think about having an unofficial repo/'place on 
the internet' where to put some others, chubgraphs and libraries 
included?

I think the community would benefit from this.
Looking forward to hear your thoughts


Cheers,

Mario

--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu 
<mailto:chuck-users@lists.cs.princeton.edu>

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu 
<mailto:chuck-users@lists.cs.princeton.edu>

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK | Users Chugins/Chubgraphs/Chugens

2019-08-19 Thread mario buoninfante

Hi,

I've been looking at CSound recently and I was impressed by the quantity 
of Opcodes (Ugens) it has.
I know we have official Chugins, but still it's a small collection and 
I'm pretty sure there are plenty of interesting ones flying around that 
we all use every day (even if Chubgraphs), just they've never been 
'captured'.

Thus, I was thinking why don't we 'capture' them somewhere :)
I also know that having an official repo means maintaining everything is 
on there, and that requires work as well.
What do you guys think about having an unofficial repo/'place on the 
internet' where to put some others, chubgraphs and libraries included?

I think the community would benefit from this.
Looking forward to hear your thoughts


Cheers,

Mario

--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Embedded ChucK

2019-08-16 Thread mario buoninfante

Hi Jack, Michael,


Thanks for your reply. Really good to know there is this possibility, 
and despite I'm not into C++, from what I can see from Jack's email, it 
is kind of straightforward.


It seems like there are good possibilities to have ChucK running in 
other languages (ie Python, Lua, etc.) and I'd like to know if there's 
anybody out there that has already done anything like that.



Cheers,

Mario




On 16/08/2019 18:25, Michael Heuer wrote:

There is libchuck

https://github.com/heuermh/libchuck (and other forks)

though as far as I know, it may be dead in the water for iOS going 
forward, as Apple no longer allows the system exec calls.


   michael


On Aug 16, 2019, at 6:06 AM, Mario Buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Hi,

Do we have anything like ctcsound 
(https://csound.com/docs/ctcsound/ctcsound-API.html) or libpd 
(http://libpd.cc/) for ChucK.
I know changes have been made in the latest release, I was just 
wondering if there's anything to look at out there.


Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu 
<mailto:chuck-users@lists.cs.princeton.edu>

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users



___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Embedded ChucK

2019-08-16 Thread Mario Buoninfante
Hi,

Do we have anything like ctcsound (
https://csound.com/docs/ctcsound/ctcsound-API.html) or libpd (
http://libpd.cc/) for ChucK.
I know changes have been made in the latest release, I was just wondering
if there's anything to look at out there.

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] HPF | having issues with 'set' method

2019-07-28 Thread mario buoninfante

Hi,


I just noticed that the 'set' method doesn't seem to work properly with HPF.

the following code shows the difference between using 'set' and 'freq'


Noise noise => HPF filter => dac;

100 => float f;
filter.Q(1);

while( true )
{
    f + 100 => f;
    if( f > 5000 )
    {
    100 => f;
    }
    // swap between filter.freq and filter.set to check the difference
    filter.freq(f);
    //filter.set( f, 1 );
    0.1::second => now;
}


I'll report this on github as well.


Cheers,

Mario


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK + Launchpad

2019-07-25 Thread Mario Buoninfante
Hi Raul,

At the moment only LP Pro is supported, but the plan is to support all of
them.
I've already received several responses form others who own the standard
launchpad, so probably I'll re-prioritize the thing and work on supporting
them first.
Which LP have you got exactly?

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK + Launchpad

2019-07-25 Thread Mario Buoninfante
Hi,

is there anyone who owns a Novation Launchpad Pro and wants to be a beta
tester for a new open source project that involves ChucK+Launchpad?

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Expanding MIDI support

2019-07-07 Thread mario buoninfante
I suppose trying to use the latest version of RtMidi would require more 
work than simply address the issue I've reported.


But, we could at least fix the problem on Linux where you cannot send 1 
and 2 bytes messages (program changes, real-time and aftertouch), that 
seems a big one to me.


What I've done here (https://github.com/ccrma/chuck/issues/130) is 
obviously a workaround, but it would be great if someone could have a 
look at it and see whether or not this makes sense and is actually 
harmless with no side-effects.


It could take "no time" to a C++ person (not sure actually, but I'm 
trying :) ).



Cheers,

Mario



--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Expanding MIDI support

2019-07-03 Thread mario buoninfante

I've found a workaround (not sure it's a proper one though!)

more info here: https://github.com/ccrma/chuck/issues/130

this now allows to send SysEx from Linux as well :)

On 02/07/2019 22:15, Michael Heuer wrote:

Great, thanks!  I'll start a new thread asking how best to use it!

   michael


On Jul 2, 2019, at 3:53 PM, Mario Buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Nice :)
MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use 
to activate it that I don't remember whether is ON or OFF by default, 
but anyway is there.
Like I said there's a flag for SysEx as well, but that doesn't seem 
to do much.


Cheers,
Mario

On Tue, 2 Jul 2019 at 21:43, Michael Heuer <mailto:heue...@gmail.com>> wrote:


I'd say go for it! It would be nice to have proper SysEx and MIDI
clock support in ChucK.

I recall there was some progress on the latter; did I read
somewhere that clock messages are available via RtMidi but simply
disabled in ChucK for performance reasons?

   michael


> On Jul 2, 2019, at 3:23 PM, Mario Buoninfante
mailto:mario.buoninfa...@gmail.com>> wrote:
>
> Hi everybody,
>
> One month ago I got started with an Open Source project whose
goal is to support some hardware on various
platforms/environments/programming languages (Pd, SC, Processing,
Lua, Python, JS, etc.) and of course my goal is to have ChucK on
board as well (hopefully I'll share more info about the project
in the next months).
> The only issue I've got at the moment is that I need to talk
SysEx with these gears, and as you know ChucK doesn't deal with
SysEx.
> I really care a lot about this project, mainly because it's
open source and because will involve different communities (Pd,
SC, JS, etc.) and would really love to include ChucK in this
since is the tool I'm mainly using to experiment and make music
and I truly believe has got something more than other
languages/environments.
> Thus, since I'm not a C++ person, I decided I'll ask a
colleague of mine (a C++ programmer) to help out with this, also
because he'll get involved in the project for other reasons anyway.
> But before doing this I wanted to ask the developers and all
those who are involved in maintaining ChucK, if there's any
particular reason why SysEx messages are not currently supported.
> From what I can see in the code (and after running few
experiments) with the current architecture SysEx messages could
be sent out (3 bytes at time though) but with a lot of
limitations (didn't manage to receive SysEx messages though).
> Also, I think RtMidi doesn't gate us from doing that (there's
just a flag used to 'turn on/off' SysEx communication).
> But it seems like there's nothing in place that allows to deal
with MIDI messages bigger than 3 bytes and, from a "non-C++
person", it seems one way to fix this could potentially be to add
a SysExIn/SysExOut and a SysExMsg classes that deal with these
kind of MIDI messages.
> Of course there could be a lot of things I'm missing here, and
that's why I'm asking you for some help, even before asking for
other help :)
> Just to make sure there's nothing that prevents people from
adding this functionality.
> Then, last but not the least, ChucK is an open source project
and I love it. There are a lot of people working with it, and I
was wondering whether or not this would be a feature people are
after.
> Basically I'd like to hear from the community before even
getting started with this.
>
> I hope this makes sense. Looking forward to hearing from you
guys :)
>
> Cheers,
> Mario
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu 
<mailto:chuck-users@lists.cs.princeton.edu>

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users



___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___

Re: [chuck-users] Expanding MIDI support

2019-07-03 Thread mario buoninfante

just found out on Linux I cannot send anything that's not 3 bytes!

No Program Change, no Aftertouch, no Real Time.

I can receive them (real-time included), but I cannot send them since I 
get this error:


[chuck](via RtMidi): RtMidiOut::sendMessage: event parsing error!

Cheers,

Mario

On 02/07/2019 22:15, Michael Heuer wrote:

Great, thanks!  I'll start a new thread asking how best to use it!

   michael


On Jul 2, 2019, at 3:53 PM, Mario Buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Nice :)
MIDI clock works fine now (ChucK 1.4.0.0). There's a flag you can use 
to activate it that I don't remember whether is ON or OFF by default, 
but anyway is there.
Like I said there's a flag for SysEx as well, but that doesn't seem 
to do much.


Cheers,
Mario

On Tue, 2 Jul 2019 at 21:43, Michael Heuer <mailto:heue...@gmail.com>> wrote:


I'd say go for it! It would be nice to have proper SysEx and MIDI
clock support in ChucK.

I recall there was some progress on the latter; did I read
somewhere that clock messages are available via RtMidi but simply
disabled in ChucK for performance reasons?

   michael


> On Jul 2, 2019, at 3:23 PM, Mario Buoninfante
mailto:mario.buoninfa...@gmail.com>> wrote:
>
> Hi everybody,
>
> One month ago I got started with an Open Source project whose
goal is to support some hardware on various
platforms/environments/programming languages (Pd, SC, Processing,
Lua, Python, JS, etc.) and of course my goal is to have ChucK on
board as well (hopefully I'll share more info about the project
in the next months).
> The only issue I've got at the moment is that I need to talk
SysEx with these gears, and as you know ChucK doesn't deal with
SysEx.
> I really care a lot about this project, mainly because it's
open source and because will involve different communities (Pd,
SC, JS, etc.) and would really love to include ChucK in this
since is the tool I'm mainly using to experiment and make music
and I truly believe has got something more than other
languages/environments.
> Thus, since I'm not a C++ person, I decided I'll ask a
colleague of mine (a C++ programmer) to help out with this, also
because he'll get involved in the project for other reasons anyway.
> But before doing this I wanted to ask the developers and all
those who are involved in maintaining ChucK, if there's any
particular reason why SysEx messages are not currently supported.
> From what I can see in the code (and after running few
experiments) with the current architecture SysEx messages could
be sent out (3 bytes at time though) but with a lot of
limitations (didn't manage to receive SysEx messages though).
> Also, I think RtMidi doesn't gate us from doing that (there's
just a flag used to 'turn on/off' SysEx communication).
> But it seems like there's nothing in place that allows to deal
with MIDI messages bigger than 3 bytes and, from a "non-C++
person", it seems one way to fix this could potentially be to add
a SysExIn/SysExOut and a SysExMsg classes that deal with these
kind of MIDI messages.
> Of course there could be a lot of things I'm missing here, and
that's why I'm asking you for some help, even before asking for
other help :)
> Just to make sure there's nothing that prevents people from
adding this functionality.
> Then, last but not the least, ChucK is an open source project
and I love it. There are a lot of people working with it, and I
was wondering whether or not this would be a feature people are
after.
> Basically I'd like to hear from the community before even
getting started with this.
>
> I hope this makes sense. Looking forward to hearing from you
guys :)
>
> Cheers,
> Mario
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu 
<mailto:chuck-users@lists.cs.princeton.edu>

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users



___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/crea

Re: [chuck-users] how to use MIDI clock in ChucK

2019-07-02 Thread Mario Buoninfante
The only thing it's not clear to me is the your use case.
The problem I've always found with ext clocks (HW especially but not only)
is the accuracy. All the HW machines I've tested are inaccurate to a
certain degree. But usually what you do as a user is to use the MIDI clock
as a trigger for the slave machine and at this point the inaccuracy doesn't
matter anymore since all is in sync.
But in your case you said:
> "then I can adjust the BPM in the TimeSignature class as it is running"
Can you expand a bit on this?
Would like to receive a clock and decide when and whether to sync to it?

On Tue, 2 Jul 2019 at 23:09, Michael Heuer  wrote:

> The tempo in BPM is what drives the TimeSignature class in LicK
> <https://github.com/heuermh/lick/blob/master/lick/duration/TimeSignature.ck>,
> for example a 4/4 kick drum
>
> RolandTr808 rolandTr808;
> TimeSignature.common(120) @=> TimeSignature ts;
> ts.quarterProvider() @=> QuarterProvider q;
>
> spork ~ Loops.loop(rolandTr808.kickE, q).run();
>
> // wait a minute, then change the tempo to 110 BPM
> 1::minute => now;
> 110 => ts.tempo;
>
> // wait another minute, then decelerate the tempo by 0.8 over the next 30
> seconds
> 1::minute => now;
> spork ~ ts.decel(0.8, 30::second);
>
> etc.
>
> If I can calculate the BPM from external clock, then I can adjust the BPM
> in the TimeSignature class as it is running.
>
>michael
>
>
> On Jul 2, 2019, at 4:37 PM, Mario Buoninfante 
> wrote:
>
> about receiving external clock, I think the goal there is to use the clock
> to drive the algorithm.
> I wouldn't try to calculate the BPM if not for just displaying it
> somewhere.
>
> On Tue, 2 Jul 2019 at 22:17, Michael Heuer  wrote:
>
>> All,
>>
>> I'm curious how to use MIDI clock effectively in ChucK, in two main use
>> cases:
>>
>> From a sample-rate-based timer in ChucK, how should I send out MIDI clock?
>>
>> while (true) {
>>   10::ms => now;
>>   // send MIDI clock
>> }
>>
>> or
>>
>> TimeSignature.common(120) @=> TimeSignature ts;
>>
>> while (true) {
>>   ts.e => now;
>>   // send MIDI clock
>> }
>>
>> or (this one allows the caller to modify the tempo later)
>>
>> TimeSignature.common(120) @=> TimeSignature ts;
>> ts.eighthProvider() @=> EighthProvider e;
>>
>> while (true) {
>>   e.evaluate() => now;
>>   // send MIDI clock
>> }
>>
>>
>> From receiving MIDI clock messages from an external source, how should
>> one adjust the BPM in ChucK?
>>
>> MidiIn min;
>> MidiMsg msg;
>>
>> TimeSignature.common(120) @=> TimeSignature ts;
>>
>> while (min.recv(msg)) {
>>   // if is clock … {
>> /* new BPM */ => ts.tempo;
>>   }
>> }
>>
>> I would imagine I would want to window over the last n clock messages to
>> average?
>>
>> Thanks in advance,
>>
>>michael
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Expanding MIDI support

2019-07-02 Thread Mario Buoninfante
Hi everybody,

One month ago I got started with an Open Source project whose goal is to
support some hardware on various platforms/environments/programming
languages (Pd, SC, Processing, Lua, Python, JS, etc.) and of course my goal
is to have ChucK on board as well (hopefully I'll share more info about the
project in the next months).
The only issue I've got at the moment is that I need to talk SysEx with
these gears, and as you know ChucK doesn't deal with SysEx.
I really care a lot about this project, mainly because it's open source and
because will involve different communities (Pd, SC, JS, etc.) and would
really love to include ChucK in this since is the tool I'm mainly using to
experiment and make music and I truly believe has got something more than
other languages/environments.
Thus, since I'm not a C++ person, I decided I'll ask a colleague of mine (a
C++ programmer) to help out with this, also because he'll get involved in
the project for other reasons anyway.
But before doing this I wanted to ask the developers and all those who are
involved in maintaining ChucK, if there's any particular reason why SysEx
messages are not currently supported.
>From what I can see in the code (and after running few experiments) with
the current architecture SysEx messages could be sent out (3 bytes at time
though) but with a lot of limitations (didn't manage to receive SysEx
messages though).
Also, I think RtMidi doesn't gate us from doing that (there's just a flag
used to 'turn on/off' SysEx communication).
But it seems like there's nothing in place that allows to deal with MIDI
messages bigger than 3 bytes and, from a "non-C++ person", it seems one way
to fix this could potentially be to add a SysExIn/SysExOut and a SysExMsg
classes that deal with these kind of MIDI messages.
Of course there could be a lot of things I'm missing here, and that's why
I'm asking you for some help, even before asking for other help :)
Just to make sure there's nothing that prevents people from adding this
functionality.
Then, last but not the least, ChucK is an open source project and I love
it. There are a lot of people working with it, and I was wondering whether
or not this would be a feature people are after.
Basically I'd like to hear from the community before even getting started
with this.

I hope this makes sense. Looking forward to hearing from you guys :)

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Miniaudicle preferences error

2019-06-05 Thread Mario Buoninfante
Hi,

Despite the issue you're experiencing, if you installed MiniAudicle it
means ChucK is installed as well.
An easy way to check is to simply launch the terminal and type: "chuck",
then hit return.
If ChucK is there, you'll have this as a reply:
"[chuck]: no input files... (try --help)"
If you want to actually build ChucK, you can find some info here:
https://en.flossmanuals.net/chuck/_full/#installation
and here: https://github.com/ccrma/chuck/blob/master/notes/INSTALL

Cheers,
Mario


On Sun, 2 Jun 2019 at 19:02, sarerac  wrote:

> Thank you Mario!! How can i build Chuck in Atom
>
> Enviado desde mi iPhone
>
> > El 1 jun 2019, a las 19:11, mario buoninfante <
> mario.buoninfa...@gmail.com> escribió:
> >
> > Hi,
> >
> >
> > Unfortunately I'm not a Mac user, and I don't really know what could
> cause that. Only thing I can do is offering you an alternative to
> MiniAudicle, while someone more qualified than me (a C++ programmer
> basically :) ) replies to your question,
> >
> > I usually work with Atom+PlatformIO+"ChucK package" (once you've got
> Atom, you can install the other two from its preferences). PlatformIO
> allows you to use the terminal(s) from within Atom, and the ChucK package
> offers you the syntax highlighting. I've also added a sort of
> "auto-complete" function to the ChucK package, that you can find here:
> https://github.com/mariobuoninfante/language-chuck
> >
> > I know it's not the same that using MiniAudicle, but I have to say I
> found it more powerful.
> >
> > MiniAudicle is brilliant don't get me wrong, but apart from the
> dedicated functions to deal with launching/stopping/replacing shreds
> (things you can do from terminal as well), I think it lacks from the point
> of view of IDE/text editor features.
> >
> > That said, that's simply my personal opinion, and I know didn't answer
> your question at all, but I thought could be useful.
> >
> >
> > Cheers,
> >
> > Mario
> >
> >
> >> On 23/05/2019 19:36, sarerac wrote:
> >> Hi !
> >>
> >> I am using miniAudicle [version 1.4.0.0 (gidora) git: 1aa2cf5, 64-bit]
> on an Macbook [OS X 10.14.3 2,9 GHz Intel Core i7 16 GB 1600 MHz DDR3], and
> I get the following "Assertion failure" when I select the miniAudicle >
> Preferences menu :
> >>
> >> 2019-03-18 18:06:20.513 miniAudicle[984:112442] *** Assertion failure
> in -[NSMenuItem initWithTitle:action:keyEquivalent:],
> /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1671.20.108/Menus.subproj/NSMenuItem.m:423
> >>
> >> I can’t open Miniaudicle’s preference menu.
> >>
> >> Is there something obvious that I should do?
> >> Thanks.
> >> Enviado desde mi iPad
> >> ___
> >> chuck-users mailing list
> >> chuck-users@lists.cs.princeton.edu
> >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> >
> > --
> > Electronic Musician, Creative Coder, QA Engineer
> > https://vimeo.com/creativecodingsalerno
> > http://mbuoninfante.tumblr.com/
> > https://github.com/mariobuoninfante
> > https://bitbucket.org/mariobuoninfante/
> >
> > ___
> > chuck-users mailing list
> > chuck-users@lists.cs.princeton.edu
> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Miniaudicle preferences error

2019-06-01 Thread mario buoninfante

Hi,


Unfortunately I'm not a Mac user, and I don't really know what could 
cause that. Only thing I can do is offering you an alternative to 
MiniAudicle, while someone more qualified than me (a C++ programmer 
basically :) ) replies to your question,


I usually work with Atom+PlatformIO+"ChucK package" (once you've got 
Atom, you can install the other two from its preferences). PlatformIO 
allows you to use the terminal(s) from within Atom, and the ChucK 
package offers you the syntax highlighting. I've also added a sort of 
"auto-complete" function to the ChucK package, that you can find here: 
https://github.com/mariobuoninfante/language-chuck


I know it's not the same that using MiniAudicle, but I have to say I 
found it more powerful.


MiniAudicle is brilliant don't get me wrong, but apart from the 
dedicated functions to deal with launching/stopping/replacing shreds 
(things you can do from terminal as well), I think it lacks from the 
point of view of IDE/text editor features.


That said, that's simply my personal opinion, and I know didn't answer 
your question at all, but I thought could be useful.



Cheers,

Mario


On 23/05/2019 19:36, sarerac wrote:

Hi !

I am using miniAudicle [version 1.4.0.0 (gidora) git: 1aa2cf5, 64-bit] on an Macbook [OS X 
10.14.3 2,9 GHz Intel Core i7 16 GB 1600 MHz DDR3], and I get the following "Assertion 
failure" when I select the miniAudicle > Preferences menu :

2019-03-18 18:06:20.513 miniAudicle[984:112442] *** Assertion failure in 
-[NSMenuItem initWithTitle:action:keyEquivalent:], 
/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1671.20.108/Menus.subproj/NSMenuItem.m:423

I can’t open Miniaudicle’s preference menu.

Is there something obvious that I should do?
Thanks.
Enviado desde mi iPad
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK Bela

2019-05-03 Thread Mario Buoninfante
Hi,

I just saw this online
https://blog.bela.io/2019/05/03/bela-learn-csound/?fbclid=IwAR0N5zr36AD2bgkBd1PNQ8UmWlwYLsCsmSkVkwM4KcTWKzajkqsoE0NJp3I
and wondering if anybody ever thought about porting ChucK on Bela as well.

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] LiSa.feedback behavior

2019-05-02 Thread Mario Buoninfante
Hi Greg,

I must admit I never used Lisa, I can try to have a look in the next couple of 
days and get back to you.

Cheers,
Mario

-- Electronic Musician, Creative Coder, QA Engineer 
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante


On 30 Apr 2019 17:51, Gregory Brown  wrote:
>
> Hello all —
>
> I'm working with the LiSa.feedback parameter and it doesn't seem to be 
> behaving as expected.
>
> I was assuming 0 would be "keep nothing when overdubbing" and 1 would be 
> "keep everything."
>
> This doesn't seem to be the case; it seems to be default to something 
> near 50%. I have confirmed that I am changing the property but the 
> behavior seems to be stuck at the default. I have tried value as high as 
> 100, which gives some crackling, but no change in behavior.
>
> Can anyone shed some light on this?
>
> Thanks in advance,
>
> Greg
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] FLOSS Manual update

2019-04-09 Thread Mario Buoninfante
Sorry Scott :(

Anyway, sure let's have a chat in a couple of weeks, in the meanwhile I'll have 
a look at the tool Spencer shared.

Cheers,
Mario

-- Electronic Musician, Creative Coder, QA Engineer 
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante


On 9 Apr 2019 17:01, Scott Smallwood  wrote:
>
> I’m Scott S actually… 
>
> But yeah… I am going to admit right now that the next two weeks are hellish 
> for me because I’m at the end of my term and doing lots of grading, 
> installing a show, travelling, etc. 
>
> (Incidentally, while I’ve done lots of ChucK work as a performer, and lots of 
> generative sound installation work in general, this will be my first ever 
> multi-week installation that is done with ChucK instead of Max.  Two pieces 
> actually - one plain ChucK and one Chunity!!  Woo hoo!!)
>
> Anyway… once I get the next two weeks off my back, I’m happy to take a closer 
> look at the Floss manual and see where I can be of help.
>
> And yes I agree - this tool of Spencer’s sounds very cool and promising!
>
> —ss
>
> [ - ]  Scott Smallwood - Associate Professor - University of Alberta  [ - ]___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] FLOSS Manual update

2019-04-09 Thread Mario Buoninfante
Hi Scott H, Scott W, Spencer,

Sorry for the late reply. I've just sent you (Scott H, Scott W) an invite
to join and edit the book, let me know if you haven't received anything.
Spencer, I think this tool can be really useful, thanks for sharing. I'll
give it a look as soon as possible.
About what to do next on the FLOSS manual, how would you guys proceed?

Cheers,
Mario

On Mon, 8 Apr 2019 at 00:42, Spencer Salazar 
wrote:

> A few years ago I created ckdoc, intended as an easily update-able
> reference for chuck built-in libraries, chugins, etc.
> https://ccrma.stanford.edu/~spencer/ckdoc/
>
> Source code is here:
> https://github.com/spencersalazar/ckdoc
>
> This included a project to attach documentation strings to every class,
> public member function, and public member variable in the ChucK source
> code- meaning that ckdoc generates its reference dynamically from the
> source code rather than the separately maintained, hand-edited HTML
> reference that is up on the Princeton/Stanford sites. There are still a few
> classes that don't have documentation strings which you can see in the
> reference, but the pull request button is there if anyone wants to help :)
>
> Spencer
>
>
> On Sun, Apr 7, 2019 at 12:53 PM Scott Hewitt  wrote:
>
>> Hi,
>>
>> I added a bit a last time and would be willing to do so again.
>>
>> my user name is  witt0191
>>
>> It would be good to have a list of un documented stuff as crazy as that
>> sounds!
>>
>> Scott
>>
>> --
>> visit me
>>
>> http://scotthewitt.co.uk
>> @scotthewitt
>>
>> http://ablelemon.co.uk
>>
>>
>> On Sun, 7 Apr 2019 at 15:52, mario buoninfante <
>> mario.buoninfa...@gmail.com> wrote:
>>
>>> Hi Scott,
>>>
>>>
>>> That's my second round of updating the FLOSS manual. At the moment I've
>>> been adding some missing info (class methods mainly) and also some basic
>>> synthesis tutorials that can be useful to get familiar with ChucK.
>>>
>>> But now I think a more structured approach is required. I think it's
>>> time to do some proper formatting, to better present the info already in
>>> there (ie the way class methods are listed varies from chapter to chapter,
>>> an updated 'Installation' section is needed - there are still pictures of
>>> Win XP!, and so on).
>>>
>>> If you want, I would suggest you to join me on flossmanuals.net, so
>>> that you can get the rights to edit the book.
>>>
>>> Once you've got access, let's have a chat here on the mailing list, so
>>> that everybody is up to date, and get organized about what to do next.
>>>
>>> Let me know if you have any question.
>>>
>>>
>>> Cheers,
>>>
>>> Mario
>>>
>>>
>>> On 07/04/2019 15:25, Scott Smallwood wrote:
>>>
>>> Mario,
>>>
>>> I agree.  Case and point:  where is info about HID on the princeton
>>> site?  Not there!  (except examples).  I think it might be in the PDF, but
>>> not the web doc - at least not anywhere I’ve been able to find.
>>>
>>> I’m teaching a class with chuck next year, so this resource will be much
>>> needed…  I’m happy to help out in any way I can…
>>>
>>> PS:  If the FLOSS manual is meant to be the all-in-one resource, I
>>> wonder about including the Chunity stuff??
>>>
>>> —ss
>>>
>>> [ - ]  Scott Smallwood <http://www.scott-smallwood.com> - Associate
>>> Professor - University of Alberta  [ - ]
>>>
>>> On Apr 7, 2019, at 4:37 AM, mario buoninfante <
>>> mario.buoninfa...@gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> I just added 2 chapters (and updated an existing one), to the ChucK
>>> FLOSS manual (https://en.flossmanuals.net/chuck
>>> <https://l.facebook.com/l.php?u=https%3A%2F%2Fen.flossmanuals.net%2Fchuck%3Ffbclid%3DIwAR2B-M1MzHPF47tY3F35IL0vf_mNftflXgXhMZ6-Z2r96C8xA7o80ch-veg=AT0sIBlGxQUXB0tBfseuLvvdbZQH0gOKWMfULe4FC-OuTeDk7PPu6X219G9uaodxNlvKDuOhmHikkP1ZffTirAP4pgfK_Hu1gejrJQXXkjJKhhNFSI7abUGulljL_JGXDpz-Bd1UQiXOHpg>
>>> ).
>>>
>>>- Array Object Functions
>>>- String Object Functions
>>>- Other Objects Reference (added FileIO and SeriaIO)
>>>
>>> There's still 'some' work to do to make the FLOSS manual really
>>> comprehensive, but we'll eventually get there
>>> Next step would probably be a bit of text formatting. Especially in the
>>> various 'reference' sections, 

[chuck-users] FLOSS Manual update

2019-04-07 Thread mario buoninfante

Hi,

I just added 2 chapters (and updated an existing one), to the ChucK 
FLOSS manual (https://en.flossmanuals.net/chuck 
).


 * Array Object Functions
 * String Object Functions
 * Other Objects Reference (added FileIO and SeriaIO)

There's still 'some' work to do to make the FLOSS manual really 
comprehensive, but we'll eventually get there
Next step would probably be a bit of text formatting. Especially in the 
various 'reference' sections, there are too many 'styles'.

Just a quick note about the FLOSS manual and ChucK documentation in general.
What I always found difficult (especially at the begin of my adventure 
with ChucK), was the fact the the documentation wasn't centralized. 
There are plenty of places on the internet where you can find bits and 
bops, but none is really comprehensive (some are outdated, some just 
incomplete, and so on).
I believe ChucK is now mature enough and needs a fully comprehensive 
(and official) documentation. The FLOSS manual could help with that (my 
personal opinion, open for discussions :) ).

Wouldn't be easier if there was THE place where all the documentation is?
Looking forward to hearing from you.
In the meanwhile, give me a shout if you wanna help with the FLOSS 
manual, there's still plenty to do :P


Cheers,
Mario

--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Get date and time

2019-04-03 Thread Mario Buoninfante
Hi,

Is there any way to get date and time in ChucK? I was hoping for something
that's not Std.system().

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] issue adding elements to an array

2019-03-28 Thread Mario Buoninfante
Sorry, this is the right code that shows 'the issue':

function static void insert_1( string array[], string x, int pos )
{
string mom_arr[0];
if( pos < array.size() && pos >= 0 )
{
for( pos => int c; c < array.size(); c++ )
{
mom_arr << array[c];
}
x => array[ pos ];
array.size( array.size() + 1 );
for( 0 => int c; c < mom_arr.size(); c++ )
{
mom_arr[c] => array[ c + pos + 1 ];
}
}
else if( pos == array.size() )
{
array << x;
}
}

function static void insert_2( string array[], string x, int pos )
{
string mom_arr[0];
if( pos < array.size()  && pos >= 0 )
{
for( pos => int c; c < array.size(); c++ )
{
mom_arr.size( mom_arr.size() + 1 );
array[c] => mom_arr[ c - pos ];
}
x => array[ pos ];
array.size( array.size() + 1 );
for( 0 => int c; c < mom_arr.size(); c++ )
{
mom_arr[c] => array[ c + pos + 1 ];
}
}
else if( pos == array.size() )
{
array << x;
}
}

["a", "b", "c"] @=> string s_1[];
insert_1( s_1, "ONE", 1 );
for( 0 => int c; c < s_1.size(); c++ )
{
<<< s_1[c] >>>;
}
<<< "" >>>;
["a", "b", "c"] @=> string s_2[];
insert_2( s_2, "ONE", 1 );
for( 0 => int c; c < s_2.size(); c++ )
{
<<< s_2[c] >>>;
}
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] issue adding elements to an array

2019-03-28 Thread Mario Buoninfante
Hi,

I suspect I'm probably doing something stupid and just not realizing it,
but I don't understand why these 2 functions ("insert_1" and "insert_2")
are giving me 2 different results:

function static void insert_1( string array[], string x, int pos )
{
string mom_arr[0];
if( pos < array.size() - 1 && pos >= 0 )
{
for( pos => int c; c < array.size(); c++ )
{
mom_arr << array[c];
}
x => array[ pos ];
array.size( array.size() + 1 );
for( 0 => int c; c < mom_arr.size(); c++ )
{
mom_arr[c] => array[ c + pos + 1 ];
}
}
else if( pos == array.size() )
{
array << x;
}
}

function static void insert_2( string array[], string x, int pos )
{
string mom_arr[0];
if( pos < ( array.size() ) && pos >= 0 )
{
for( pos => int c; c < array.size(); c++ )
{
mom_arr.size( mom_arr.size() + 1 );
array[c] => mom_arr[ c - pos ];
}
x => array[ pos ];
array.size( array.size() + 1 );
for( 0 => int c; c < mom_arr.size(); c++ )
{
mom_arr[c] => array[ c + pos + 1 ];
}
}
else if( pos == array.size() )
{
array << x;
}
}

["a", "b", "c"] @=> string s_1[];
insert_1( s_1, "ONE", 1 );
for( 0 => int c; c < s_1.size(); c++ )
{
<<< s_1[c] >>>;
}
<<< "" >>>;
["a", "b", "c"] @=> string s_2[];
insert_2( s_2, "ONE", 1 );
for( 0 => int c; c < s_2.size(); c++ )
{
<<< s_2[c] >>>;
}

It seems like expanding an array with '<<' instead of using .size(int n) is
giving me some problem.
I'm on MacOS Sierra 10.12.6

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Eval function

2019-03-28 Thread Mario Buoninfante
Hi,

Do we have anything like an 'eval' function in ChucK?

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ChucK Ubuntu package

2019-03-20 Thread Mario Buoninfante
Hi,

I'm happy to look into it in the next days.
I also asked on the Ubuntu Studio group, and they suggested to have a look here

http://packaging.ubuntu.com/html/packaging-new-software.html

Cheers,
Mario

-- Electronic Musician, Creative Coder, QA Engineer 
https://vimeo.com/creativecodingsalerno http://mbuoninfante.tumblr.com 
https://github.com/mariobuoninfante https://bitbucket.org/mariobuoninfante


On 20 Mar 2019 20:42, Hugh Rawlinson  wrote:
>
> Hi,
>
> I worked on this once - https://github.com/hughrawlinson/chuck-debian
>
> There are two major hurdles:
> 1. The technical work of actually packaging ChucK in a deb, and the 
> automating the CI to build a deb for some build matrix so that binaries are 
> compatible across a variety of systems, debian, ubuntu, other derivatives
> 2. EITHER Getting the `chuck` package name in the ubuntu and debian and other 
> applicable package repositories (https://packages.ubuntu.com/cosmic/chuck), 
> which involves some emails to maintainers and finding people to commit to 
> maintaining it, OR creating and maintaining ChucK's own repository.
>
> @Spencer - if hurdle #1 was done for you, would you do hurdle #2?
>
> On Wed, 20 Mar 2019 at 15:32, Spencer Salazar  
> wrote:
>>
>> I've looked into this, the tools/process was massive rabbit hole I could 
>> never get to work. If you or anyone can get this up and running again in a 
>> way thats maintainable for future releases, that would be awesome. 
>>
>> Spencer
>>  
>>
>>
>> On Wed, Mar 20, 2019 at 3:40 AM Mario Buoninfante 
>>  wrote:
>>>
>>> Hi,
>>>
>>> I just noticed that the ChucK Ubuntu package is quite old (v 1.2). Would it 
>>> be possible to update it? What's the procedure for that?
>>>
>>> Cheers,
>>> Mario
>>> ___
>>> chuck-users mailing list
>>> chuck-users@lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK Ubuntu package

2019-03-20 Thread Mario Buoninfante
Hi,

I just noticed that the ChucK Ubuntu package is quite old (v 1.2). Would it
be possible to update it? What's the procedure for that?

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] FaucK inquiry

2019-03-18 Thread Mario Buoninfante
Hi,

Is there any plan to allow the FaucK chugin to deal with more than 1 input and 
output?

Cheers,
Mario

Sent from my WIKO U PULSE LITE___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Gen10 issue with odd harmonics

2019-02-23 Thread mario buoninfante
further testing shows that it's not about the odd harmonics, from the 
5th harmonic (6th partials) onwards, sometimes you get unwanted 
sidebands with odd harmonics, sometimes with even ones.
I'm monitoring the output (DFT) with Baudline and I tried driving Gen10 
at different frequencies.


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] FaucK compilation/installation problem?

2019-01-27 Thread Mario Buoninfante
Hi Marc,

I had the same on Ubuntu Studio 16.04, then I installed FaucK from here and 
everything worked

https://ccrma.stanford.edu/~rmichon/fauck/

Worth giving a try.

Cheers,
Mario


Sent from my WIKO U PULSE LITEOn 27 Jan 2019 01:13, Marc Lavallée 
 wrote:
>
> Hello Chuck users (and gurus). This is my first message to the list. 
>
> I'm a complete newbie, but I think I would enjoy using miniAudicle with 
> the Faust chugin (FaucK). So It could be a question for developers. I'm 
> an experienced Linux user. 
>
> I compiled ChucK 1.4.0.0, the latest and greatest Faust, all the chugins 
> (including FaucK) and miniAudicle. 
>
> Unfortunately, FaucK give me this error (on the command line and with 
> miniAudicle): 
>
> chuck examples/flute.ck 
> [flute.ck]:line(5): undefined type 'Faust'... 
> [flute.ck]:line(5): ... in declaration ... 
>
> Any pointer would be appreciated. 
>
> Marc 
>
> N.B. I first sent this message to the chuck announcement list, so please 
> ignore. 
>
> ___ 
> chuck-users mailing list 
> chuck-users@lists.cs.princeton.edu 
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users 
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] running() doesn't return status of the shred

2019-01-03 Thread mario buoninfante

Hi,

I found out that running() always return the value 0, doesn't matter if 
the shred is actually running or not. done() instead seems to work fine.

I tried on my Linux machine running Ubuntu Studio 16.04 using ChucK 1.4.0.0.

Here's a little script that shows the issue:

0 => int c;

spork ~ loop() @=> Shred parallel;

//-MAIN-

while( c < 5 )

{

    <<< "running(): " + parallel.running() + "\t||\t " +

    "done(): " + parallel.done() >>>;

    if( c == 2 )

    {

    <<< "exiting the shred" >>>;

    parallel.exit();

    }




    c++;




    0.5::second => now;

}

//---FUNCTIONS

function void loop()

{

    while( true )

    {

    333::ms => now;

    }

}


Cheers,

Mario


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] SysExIn and SysExOut classes

2018-12-19 Thread Mario Buoninfante
Hi,

I made 2 simple classes that allow to send/receive SysEx messages on ChucK:

https://bitbucket.org/mariobuoninfante/sysex/src/master/

All they do it's basically sending/receiving messages via OSC to/from Pure
Data that deals with actual SysEx messages.
It seems to work fine, but I didn't do any 'stress test'. Of course having
to convert from/to OSC is a kind of a bottleneck, so I'd expect some
'performance issues' when dealing with big SysEx messages (ie firmware
updates) , but I think it's fine for general purpose SysEx transmissions.

I'd like to see, one day, these 2 classes (SysExIn and SysExOut) being part
of the ChucK source code as members of the MIDI classes family.

Let me know if you have any question.

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Gen10 issue with coefficients

2018-12-08 Thread mario buoninfante

Hi,


I'm working with the Gen10 UGen and it seems like once I set up the 
coefficients, I can't change them on the fly anymore. To be more precise 
I can only add new sines to the table but I can't get rid of the ones 
that are already there.


Here's an example where I try to remove the fundamental, but I can't

Phasor phasor => Gen10 g10 => Gain volume => dac;

volume.gain(0.1);

g10.coefs([1.]);

0 => int c;
while(true)
{
    if(c==3)
    {
    g10.coefs([0., 0.,0.,0.,1.]);
    <<< "table update" >>>;
    }

    Math.random2f(500,700) => phasor.freq;
    c++;
    second => now;
}

When I update the table, instead of removing the 1st partial and add the 
5th, I end up having both 1st and 5th.


I had a quick look at the source code (ugen_osc.cpp, row 1469) and the 
possibility of having a coefficient equal to 0 is not considered.


Would it be better if we could remove partials?


Cheers,

Mario

--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] TCP protocol

2018-12-04 Thread mario buoninfante

Hi Jordan,


Thanks a lot for that, I'll give it a try as soon as possible ;)


Cheers,

Mario


On 04/12/2018 17:07, Jordan Orelli wrote:
ok, I had a little time to look at this, so I wrote you a simple proxy 
server in Go: https://github.com/jordanorelli/tuntun


there's a binary release here if you want to just have a downloadable 
binary to check it out:https://github.com/jordanorelli/tuntun/releases


and there's an example of how you'd use it from Chuck here: 
https://github.com/jordanorelli/tuntun/blob/master/ex/ex.ck


this is a pretty straightforward proxying server to write. If you're 
not familiar with writing network servers, this is a good entry-level 
project for learning about it.


Chuck's subprocess facilities are, ... well, pretty weird. It doesn't 
seem like you get the pid of the spawned process; there's no way to 
signal it, so there's no way to kill it from Chuck. This example 
leaves you with a zombie process.


I'm very confused as to how it operates internally, because it blocks 
the entire Chuck VM ... /unless /you stick an ampersand at the end of 
your command, which seems to put the job in the background. It ... it 
kinda looks like it's calling exec to exec a bash shell in the 
/current /process? I'm ... a bit baffled by the behavior, to be 
honest, but I found a way to work it out.


Running it this way means that Chuck launches the proxying server for 
you and can tell the proxying server the ports to use. You could also 
run the server yourself outside of Chuck to not have to deal with the 
weirdness of Chuck's subprocessing facilities.



On Tue, Dec 4, 2018 at 10:59 AM Mark Cerqueira 
mailto:mark.cerque...@gmail.com>> wrote:


Roger Dannenberg did some real-time music work and compared UDP
and TCP. His findings may surprise you! See 4.2 UDP vs. TCP here:
https://www.cs.cmu.edu/~rbd/papers/icmc01aura.pdf tl;dr - he ended
up going with TCP with some tweaks to make it more timely.

Cheers!

mc

On Sun, Dec 2, 2018 at 12:47 PM Jordan Orelli
mailto:jordanore...@gmail.com>> wrote:

I'm like ... 80% sure that there's no TCP-handling facilities
built in, but I may be wrong here. If there is, I surely don't
know about it.

Can you tell us a little more about your use case?

The design goals of TCP and ChucK are very different with
respect to /time/. ChucK is designed around guarantees about
time and timeliness. TCP is not designed around timeliness or
latency in general: TCP is designed around guarantees about
ordering (messages always appear in order) and delivery
(messages are guaranteed to be delivered). Since every byte
sent over a TCP socket has to be eventually acknowledged, and
all bytes have to be processed in order, a stall in the
network (a normal occurrence) could mean later messages being
delayed, much like a traffic jam. It's not possible to have
timing /guarantees /with TCP.

I'm not sure how to find it in the source code, but maybe
someone else here knows: does calling Std.system create a new
shell process for each invocation? That would be a fairly
inefficient way to go about things. Also since you're piping
to another process, that's a new netcat process for each
invocation (so it's either one or two processes per
invocation), and a new TCP socket for every invocation. TCP is
/especially slow /at /the very beginning of communication./

If I were in your shoes, I would probably write a separate
program that acts as a server and serves an OSC-based
protocol. This server would take your messages as OSC and
translate them and then forward them to the intended recipient
over just one TCP connection and continue to use that one
connection the whole time. It may or may not respond to your
ChucK program over OSC, depending on whether you want the
ChucK program to get responses to its requests (probably not?).


On Sat, Dec 1, 2018 at 1:25 PM mario buoninfante
mailto:mario.buoninfa...@gmail.com>> wrote:

Hi,


It seems like accessing the shell and use "netcat" (on
Unix) is a possible solution. Quite an /exotic/ workaround
but better than nothing I'd say.

Something like that seems to work:

/// run ChucK with "--caution-to-the-wind"//
//
//"echo -ne '" => string prefix;//
//"' | netcat 127.0.0.1  " => string suffix;  //
netcat  //
//
//while(true)//
//{//
//  Math.random2(0,127) => int r;//
//  prefix + Std.itoa(r) + suffix => string msg;//
//  Std.system(msg);//
//
//  second => now;//

Re: [chuck-users] TCP protocol

2018-12-01 Thread mario buoninfante

Hi,


I also tried opening a file in /dev/tcp//, but 
it didn't work. I'm on Ubuntu 16.04. Any idea?



Cheers,

Mario


On 30/11/2018 16:52, Mario Buoninfante wrote:

Hi,

Does anyone know if it's possible to use TCP instead of UDP in ChucK?

Cheers,
Mario


--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] TCP protocol

2018-11-30 Thread Mario Buoninfante
Hi,

Does anyone know if it's possible to use TCP instead of UDP in ChucK?

Cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Biweekly appointment with ChucK on the Facebook group

2018-11-05 Thread mario buoninfante

Hi Doug,

Maybe I'm wrong about this and in that case I apologize, but my only 
concern is that the forum doesn't seem to be too active.
I don't even know how many people are still using it. I personally check 
what's going on there from time to time, but nothing more really.
I'm only scared that the 2::week=>FB disappears before it even starts. 
The 12th of November there will be the second appointment on the FB 
group, it's still a fresh thing and people are only now getting 
involved. I have to admit I'm a bit skeptical about moving it to the 
forum, at least now. But that said, I personally find the forum a better 
place to do this kind of things. I'm not a Facebook fan at all! But the 
reality is, more people use FB nowadays and it's not always easy to 
bring them elsewhere. I'm with you, the forum is way more appropriate, 
but if that means killing the thing... I don't really know if it's worth 
doing this.
But that's just my point of view. I'm more than happy to discuss this, 
on the FB group as well. I mean, if we see more people asking the same, 
so let's move it :)


cheers,
Mario




On 01/11/2018 16:20, Nunn, Douglas wrote:
Could I suggest that this goes on the existing ChucK forum at 
http://electro-music.com/forum/forum-140.html


    Doug


*From:* chuck-users-boun...@lists.cs.princeton.edu 
[chuck-users-boun...@lists.cs.princeton.edu] on behalf of Mario 
Buoninfante [mario.buoninfa...@gmail.com]

*Sent:* 01 November 2018 07:34
*To:* ChucK
*Subject:* Re: [chuck-users] Biweekly appointment with ChucK on the 
Facebook group


Hi guys,

I know the "platform choice" has always been an issue, and I'm not a 
Facebook fan as well, despite I still use it for certain things (ChucK 
group included).
I'd like to find an alternative for sure, so I'm open to new proposal. 
But, at the same time I don't feel like I want to immediately drop the 
appointment on Facebook. We just started last week, the 29th, and I 
believe this things take time to "reach stability", plus changing 
platform after the first appointment could be confusing and daunting 
for some.
That said, yes let's find an alternative to Facebook, totally up for 
that, as long as there are people supporting the thing and involved in 
the "organization". Let's find a solution here on the mailing list and 
try to get as much people involved as possible.


cheers,
Mario

On Wed, 31 Oct 2018 at 23:12, Eugene Martynec 
mailto:eugenemarty...@gmail.com>> wrote:


Hi

I too won't use Facebook. From inception I couldn't figure out why
I needed more friends and why I had to like a post. Silly stuff
but we bought it.

Eugene Martynec

On Wed, Oct 31, 2018, 15:33 Forrest Cahoon
mailto:forrest.cah...@gmail.com> wrote:

That's great and all, but ever since the Cambridge Analytica
scandal, I've left Facebook, never to return. I'd love to hear
more works in ChucK and take part in challenges, but not
there. What about Reddit?

On Tue, Oct 30, 2018 at 4:30 PM Gonzalo mailto:gonz...@dense13.com>> wrote:

I think that's fantastic Mario, thanks for organizing
this! Couldn't
join this time, but will aim to do so in the next one.

    Gonzalo


On 31.10.18 04:52, mario buoninfante wrote:
> Hi everybody,
>
>
> Sorry in advance for the spam, I simply wanted to let
you guys know that
> we're organizing a biweekly appointment with ChucK on
the Facebook
> group. It's just an occasion to share works made with
ChucK, focusing on
> sound and music, without getting lost in technicalities.
The idea is to
> "force" us to do something creative, artistic, without
worrying too much
> about the way the goal has been accomplished.
>
> If you feel like you want to take part, please give us a
shout:
> https://www.facebook.com/groups/1593843507578422/
>
>
> Happy ChucKing,
>
> Mario
>
>

-- 
http://dense13.com

http://www.whole-play.com
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu

[chuck-users] ChucK scripting language for Audio/MIDI testing

2018-11-05 Thread mario buoninfante

Hi,

Has anyone ever used ChucK for audio/MIDI testing?

I personally used it in more than a couple of occasions, and I found it 
really useful. Nowadays, also for audio and MIDI, Python is pretty much 
the standard language for testing. Actually it is quite powerful, 
especially considering the number of libraries available, but despite 
its versatility and easy of use, I found it a bit annoying for 
audio/MIDI testing. It seems to me that languages like ChucK and Pure 
Data are better candidates for this kind of job.


I've been using Pd for testing for almost 2 years now (from regression 
to semi-automated tests), and I'm really happy with it. No need to 
configure anything more than the essential, pretty stable and reliable, 
multi-platform, etc.


Then, recently I started doing the same with ChucK, that of course has 
some advantages being a "text-based" language rather than a graphical 
one. In the specific I've been using it to talk with a CLI via Serial 
(hardware testing). Perfect, stable, reliable, the possibility to easily 
manage events... in short, brilliant! I think it would be perfect for 
test automation as well!


The only missing thing is a full MIDI implementation (I know, I said 
that something like 5 billions times here on the mailing list, and I'm 
sorry I'm being "a bit" boring). But, SysEx messages are crucial 
nowadays. A lot of gears use it for basically everything from data 
transmission (patches, bootloader/firmware updates, etc.) to parameters 
control (from DX7 till the most recent Korg Volca series), plus internal 
functionalities. I think this is the real bottleneck at the moment, and 
I hope one day it will get "fixed".


Anyway, I'm saying this for 2 reasons.

First, I'd like to get some feedback from you guys and see if anyone 
else has been doing similar things.


Second, I think start using ChucK for audio/MIDI testing could be really 
good for ChucK itself and its community. I don't know, maybe that's just 
me thinking about stupid things, but I suppose if people (and when I say 
people I also mean companies) start using ChucK for work reason, the 
amount of support increases as well. There will be more users for sure, 
that means more beta testing, and probably more support in developing it 
as well.



cheers,

Mario




--
Electronic Musician, Creative Coder, QA Engineer
https://vimeo.com/creativecodingsalerno
http://mbuoninfante.tumblr.com/
https://github.com/mariobuoninfante
https://bitbucket.org/mariobuoninfante/

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Biweekly appointment with ChucK on the Facebook group

2018-11-01 Thread Mario Buoninfante
Hi guys,

I know the "platform choice" has always been an issue, and I'm not a
Facebook fan as well, despite I still use it for certain things (ChucK
group included).
I'd like to find an alternative for sure, so I'm open to new proposal. But,
at the same time I don't feel like I want to immediately drop the
appointment on Facebook. We just started last week, the 29th, and I believe
this things take time to "reach stability", plus changing platform after
the first appointment could be confusing and daunting for some.
That said, yes let's find an alternative to Facebook, totally up for that,
as long as there are people supporting the thing and involved in the
"organization". Let's find a solution here on the mailing list and try to
get as much people involved as possible.

cheers,
Mario

On Wed, 31 Oct 2018 at 23:12, Eugene Martynec 
wrote:

> Hi
>
> I too won't use Facebook. From inception I couldn't figure out why I
> needed more friends and why I had to like a post. Silly stuff but we bought
> it.
>
> Eugene Martynec
>
> On Wed, Oct 31, 2018, 15:33 Forrest Cahoon  wrote:
>
>> That's great and all, but ever since the Cambridge Analytica scandal,
>> I've left Facebook, never to return. I'd love to hear more works in ChucK
>> and take part in challenges, but not there. What about Reddit?
>>
>> On Tue, Oct 30, 2018 at 4:30 PM Gonzalo  wrote:
>>
>>> I think that's fantastic Mario, thanks for organizing this! Couldn't
>>> join this time, but will aim to do so in the next one.
>>>
>>> Gonzalo
>>>
>>>
>>> On 31.10.18 04:52, mario buoninfante wrote:
>>> > Hi everybody,
>>> >
>>> >
>>> > Sorry in advance for the spam, I simply wanted to let you guys know
>>> that
>>> > we're organizing a biweekly appointment with ChucK on the Facebook
>>> > group. It's just an occasion to share works made with ChucK, focusing
>>> on
>>> > sound and music, without getting lost in technicalities. The idea is
>>> to
>>> > "force" us to do something creative, artistic, without worrying too
>>> much
>>> > about the way the goal has been accomplished.
>>> >
>>> > If you feel like you want to take part, please give us a shout:
>>> > https://www.facebook.com/groups/1593843507578422/
>>> >
>>> >
>>> > Happy ChucKing,
>>> >
>>> > Mario
>>> >
>>> >
>>>
>>> --
>>> http://dense13.com
>>> http://www.whole-play.com
>>> ___
>>> chuck-users mailing list
>>> chuck-users@lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>> ___
>> chuck-users mailing list
>> chuck-users@lists.cs.princeton.edu
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] SinOsc UGen

2018-10-24 Thread mario buoninfante

Hi,


I ran the same simple test on my Linux machine (Asus i5-6198DU 2.30 GHz, 
8 Gb RAM - Ubuntu Studio 16.04) and here I've got different results:


SndBuf x 50 - 15.3% CPU usage

SinOsc x 50 - 15.7% CPU usage


What could explain this?


cheers,

Mario

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] SinOsc UGen

2018-10-24 Thread Mario Buoninfante
Hi,

I tried using SndBuf instead of SinOsc (both on Rasp Pi and a MacBookPro),
but SinOsc seems to offer better performances.
On the Mac (2.7 GHz Intel Core i5, 16 GB 1867 MHz DDR3, MacOS Sierra
10.12.6), running the code you'll find below, I've got this CPU usage (I
used top from terminal to check the CPU usage):

SndBuf x 50 - CPU usage 24.0%
SinOsc x 50 - CPU usage 16.4%

the same seems to happen on Rasp Pi 3, despite I had to use 25 oscillators
to avoid glitches.

here's my code
SinOsc Version
SinOsc s[50];

for(0 => int c; c dac;
}

while(true)
{
for(0=>int c; c s[c].freq;
}

200::ms => now;
}

SndBuf Version
SndBuf s[50];

for(0 => int c; c dac;
}

while(true)
{
for(0=>int c; c s[c].freq;
}

200::ms => now;
}

---

cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] SinOsc UGen

2018-10-24 Thread Mario Buoninfante
huck-...@lists.cs.princeton.edu
> <https://link.getmailspring.com/link/1540330200.local-c32b839e-ac26-v1.4.2-f587b...@getmailspring.com/0?redirect=mailto%3Achuck-dev%40lists.cs.princeton.edu=Y2h1Y2stdXNlcnNAbGlzdHMuY3MucHJpbmNldG9uLmVkdQ%3D%3D>
>
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-dev
> <https://link.getmailspring.com/link/1540330200.local-c32b839e-ac26-v1.4.2-f587b...@getmailspring.com/1?redirect=https%3A%2F%2Flists.cs.princeton.edu%2Fmailman%2Flistinfo%2Fchuck-dev=Y2h1Y2stdXNlcnNAbGlzdHMuY3MucHJpbmNldG9uLmVkdQ%3D%3D>
>
>
> Sent from Mailspring
> <https://link.getmailspring.com/link/1540330200.local-c32b839e-ac26-v1.4.2-f587b...@getmailspring.com/2?redirect=https%3A%2F%2Fgetmailspring.com%2F=Y2h1Y2stdXNlcnNAbGlzdHMuY3MucHJpbmNldG9uLmVkdQ%3D%3D>,
> the best free email app for work
> On Oct 23 2018, at 9:28 am, Mario Buoninfante 
> wrote:
>
>
> Hi,
>
> As already pointed out by someone else here, I noticed we've got the
> SinOsc UGen that doesn't use a wavetable but instead uses the sin function.
> I don't know what the reason behind this decision, but I was wondering
> whether it would be possible to also have a variant that uses wavetable as
> well. I presume that would help a bit in terms of performances, and I think
> it would be useful in scenarios where ChucK runs on platforms like
> Raspberry Pi.
>
> cheers,
> Mario
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] SinOsc UGen

2018-10-23 Thread Mario Buoninfante
Hi,

As already pointed out by someone else here, I noticed we've got the SinOsc
UGen that doesn't use a wavetable but instead uses the sin function. I
don't know what the reason behind this decision, but I was wondering
whether it would be possible to also have a variant that uses wavetable as
well. I presume that would help a bit in terms of performances, and I think
it would be useful in scenarios where ChucK runs on platforms like
Raspberry Pi.

cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] FLOSS manual on floss website

2018-07-05 Thread mario buoninfante

Hi,


sure thing, I mean I can't help with that since I don't speak French. 
but of course I think it's a great thing, so I'm happy to help in 
whatever way.



cheers,

Mario


On 05/07/18 21:14, tth wrote:

On 07/05/2018 09:30 PM, mario buoninfante wrote:

hi everybody,

ChucK FLOSS manual has been brought back on https://flossmanuals.net/ 


   https://omnibook.pro/chuck/_full/ ?


PDF and Epub are available as well


   Time to start a french translation ?





___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] FLOSS manual on floss website

2018-07-05 Thread mario buoninfante

hi everybody,

ChucK FLOSS manual has been brought back on https://flossmanuals.net/ 


PDF and Epub are available as well


cheers,

Mario

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Chugin/Faust issue

2018-06-20 Thread mario buoninfante

Hi,


I double checked and it's like you guys suspected. I tried my Chugin 
with ChucK 1.3.5.2 and I had no issues, so the problem seems to occur 
with the latest release.



cheers,

Mario


On 19/06/18 21:41, Spencer Salazar wrote:
Yep, the faust2ck needs to have its chuck submodule updated to use the 
latest chuck headers, although it seems a bit messier than that since 
the structure of the headers changed. I will look in to it!


Spencer


--

Spencer Salazar, PhD
spen...@spencersalazar.com <mailto:spen...@spencersalazar.com> | 
831.277.4654

https://spencersalazar.com <https://spencersalazar.com/>


On Mon, Jun 18, 2018 at 7:18 AM, Mario Buoninfante 
mailto:mario.buoninfa...@gmail.com>> wrote:


Hi Casper,

that's a really good point, in fact I had to do the same with my
chugins after installed ChucK 1.4.0.0
I'll double check.

cheers,
Mario

On 18 June 2018 at 10:49, Casper Schipper
mailto:casper.schip...@gmail.com>> wrote:

correction: I meant 1.3.5.2, 1.3.6.0 is actually pretty much
identical to 1.4.0.0 according to changelog
<http://chuck.cs.princeton.edu/release/VERSIONS>.
best,
Casper

On Mon, Jun 18, 2018 at 11:47 AM, Casper Schipper
mailto:casper.schip...@gmail.com>>
wrote:

Hi Mario,

Cannot say with 100% certainty, but it could be that Faust
is including a slightly older version of chuck_dl.h when
building the chugin ?
Chugins built with Version 1.3.6.0 are no longer
compatable with 1.4.0.0, I also had to recompile my own
chugins because of this.

Best,
Casper

    On Sat, Jun 16, 2018 at 8:38 PM, mario buoninfante
mailto:mario.buoninfa...@gmail.com>> wrote:

Hi,


I'm having issue with a chugin generated with
faust2ck. I'm on a 64bit Linux machine (Ubuntu Studio
16.04) and I created a simple /sample and hold/
component in Faust (SampleAndHold.dsp that contains
/declare name "SampleAndHold"//;/) and then turned it
into a chugin using faust2ck. everything seems fine,
my /SampleAndHold.chug/ is generated, but
unfortunately I cannot use it in ChucK (console:
/undefined type 'SampleAndHold'.../) . I copied it
into the chugin folder and also tried launching ChucK
with -gSampleAndHold .

does anyone have any experience with faust2ck? am I
missing something?


cheers,

Mario


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
<https://lists.cs.princeton.edu/mailman/listinfo/chuck-users>




-- 
Casper Schipper

casper.schip...@gmail.com <mailto:casper.schip...@gmail.com>
+31 6 52 322 590




-- 
Casper Schipper

casper.schip...@gmail.com <mailto:casper.schip...@gmail.com>
+31 6 52 322 590

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
<https://lists.cs.princeton.edu/mailman/listinfo/chuck-users>



___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
<mailto:chuck-users@lists.cs.princeton.edu>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
<https://lists.cs.princeton.edu/mailman/listinfo/chuck-users>




___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] FLOSS manual on floss website

2018-06-20 Thread mario buoninfante

Hi,


in the next days the ChucK manual we'll be brought back to 
http://flossmanuals.net (there's always been a version there, in the 
meanwhile on the new platform we were updating a copy of it). as I 
reported here when I started working on it, at that time I've been asked 
to test a new platform for editing (https://omnibook.pro). now it looks 
like it's time to bring it back to the main site ;)


FYI everyone can follow the discussion here: 
http://lists.flossmanuals.net/pipermail/discuss-flossmanuals.net/


I'll keep you posted.


cheers,

Mario

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] Chugin/Faust issue

2018-06-18 Thread Mario Buoninfante
Hi Casper,

that's a really good point, in fact I had to do the same with my chugins
after installed ChucK 1.4.0.0
I'll double check.

cheers,
Mario

On 18 June 2018 at 10:49, Casper Schipper  wrote:

> correction: I meant 1.3.5.2, 1.3.6.0 is actually pretty much identical to
> 1.4.0.0 according to changelog
> <http://chuck.cs.princeton.edu/release/VERSIONS>.
>
> best,
> Casper
>
> On Mon, Jun 18, 2018 at 11:47 AM, Casper Schipper <
> casper.schip...@gmail.com> wrote:
>
>> Hi Mario,
>>
>> Cannot say with 100% certainty, but it could be that Faust is including a
>> slightly older version of chuck_dl.h when building the chugin ?
>> Chugins built with Version 1.3.6.0 are no longer compatable with 1.4.0.0,
>> I also had to recompile my own chugins because of this.
>>
>> Best,
>> Casper
>>
>> On Sat, Jun 16, 2018 at 8:38 PM, mario buoninfante <
>> mario.buoninfa...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>>
>>> I'm having issue with a chugin generated with faust2ck. I'm on a 64bit
>>> Linux machine (Ubuntu Studio 16.04) and I created a simple *sample and
>>> hold* component in Faust (SampleAndHold.dsp that contains *declare name
>>> "SampleAndHold"**;*) and then turned it into a chugin using faust2ck.
>>> everything seems fine, my *SampleAndHold.chug* is generated, but
>>> unfortunately I cannot use it in ChucK (console: *undefined type
>>> 'SampleAndHold'...*) . I copied it into the chugin folder and also
>>> tried launching ChucK with -gSampleAndHold .
>>>
>>> does anyone have any experience with faust2ck? am I missing something?
>>>
>>>
>>> cheers,
>>>
>>> Mario
>>>
>>> ___
>>> chuck-users mailing list
>>> chuck-users@lists.cs.princeton.edu
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>>>
>>
>>
>> --
>> Casper Schipper
>> casper.schip...@gmail.com
>> +31 6 52 322 590
>>
>
>
>
> --
> Casper Schipper
> casper.schip...@gmail.com
> +31 6 52 322 590
>
> ___
> chuck-users mailing list
> chuck-users@lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] Chugin/Faust issue

2018-06-16 Thread mario buoninfante

Hi,


I'm having issue with a chugin generated with faust2ck. I'm on a 64bit 
Linux machine (Ubuntu Studio 16.04) and I created a simple /sample and 
hold/ component in Faust (SampleAndHold.dsp that contains /declare name 
"SampleAndHold"//;/) and then turned it into a chugin using faust2ck. 
everything seems fine, my /SampleAndHold.chug/ is generated, but 
unfortunately I cannot use it in ChucK (console: /undefined type 
'SampleAndHold'.../) . I copied it into the chugin folder and also tried 
launching ChucK with -gSampleAndHold .


does anyone have any experience with faust2ck? am I missing something?


cheers,

Mario

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] ChucK FLOSS - MIDI reference

2018-05-22 Thread mario buoninfante

Hi Juan,


thanks a lot for that. I forgot there was an example about it. despite I 
work quite a lot with MIDI in general, from both programming and musical 
purposes, I've almost never used MIDI files. so, honestly I've never 
paid attention to that example, mea culpa :)


apart from that, now I'd like to know what are the differences between 
MidiFileIn and MidiRW. I'll dig a bit more into the source code. in the 
meanwhile I updated the ChucK FLOSS manual, with at least all the 
methods I found on the link you sent. I'll try to get the descriptions 
as well as soon as possible.



cheers,

Mario


On 22/05/18 22:48, Juan Reyes wrote:

Hi Mario,

Have used 'MidiFileIn' as per  '/examples/midi/playmidi.ck'

Some documentation is on:
[1]  https://ccrma.stanford.edu/~spencer/ckdoc/io.html#MidiFileIn

BTW, Thanks to Spencer for MidiFileIn'.

Tricky parts are more related to MidiMsg and actual midifile
manipulation.  'playmidi.ck' only triggers noteOns from the MIDI file.
For NoteOffs another MidiMsg conditional (or filter for this kind of
data stream on file) needs to be added. Tempo can also be manipulated 
by just hacking 'playmidi.ck' code.


Certainly one needs to get fluent on MIDI messaging hexadecimal codes.
NoteOn is 0x90 and NoteOff is 0x80. NoteOffs are useful to get actual
note durations. Some STK Ugens sustain forever if you don't have
NoteOffs, -in fact wherever an ADSR is not used-.

Below some code that works to get NoteOffs and for illustration
purposes. Can post all the code or email it, in case you need it.

Thanks for the MIDI Reference chapter on the ChucK FLOSS manual.

  -- Juan Reyes


//**//

MidiFileIn min;
MidiMsg msg;

0 => int j;
time delta;
float beg;  // start midi note
0.0 => float durat;

 if((msg.data1 & 0xF0) == 0x90 && msg.data2 > 0 && msg.data3 > 0)
{
<<< j, "  NOTE-ON KEY:  ", msg.data2, "Velocity: ", msg.data3 >>>;
1 +=> j;
 }

if((msg.data1 & 0xF0) == 0x80)
 {
   beg-last => durat;
 <<< "NOTE-OFF:  ",msg.data2, msg.data3, "start: ", beg, "  duration: ",
durat >>>;

beg => last;
}

//**//




at the moment there are info about MIDI also under the Event 
Reference, which I don't wanna touch for now. anyway, there are a 
couple of classes I've never seen before, MidiMsgIn, MidiMsgOut and 
MidiFileIn, has anyone ever used them?




___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


Re: [chuck-users] FLOSS manual - FM chapter

2018-04-09 Thread mario buoninfante

Hi Zack,


I think a good starting point could be one of the ChucK examples, in 
miniAudicle: File->Open Example...->midi/polyphony.ck .



cheers,

Mario


On 09/04/18 23:33, Zach Smith wrote:
Could someone provide a link / brief way to implement a MIDI usb 
keyboard into using chuck+ audicle with a chuck class file?


Thank you for the FM guide.

ZS

Sent from my iPhone

On Apr 9, 2018, at 3:39 PM, mario buoninfante 
<mario.buoninfa...@gmail.com <mailto:mario.buoninfa...@gmail.com>> wrote:



Hi everybody,

I also added a small introduction to FM synthesis.
as usual, feedback are welcome :D

FM Chapter <https://omnibook.pro/chuck/_full/#synthesis-basics-part-iii>

cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu 
<mailto:chuck-users@lists.cs.princeton.edu>

https://lists.cs.princeton.edu/mailman/listinfo/chuck-users



___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] FLOSS manual - FM chapter

2018-04-09 Thread mario buoninfante

Hi everybody,

I also added a small introduction to FM synthesis.
as usual, feedback are welcome :D

FM Chapter 

cheers,
Mario
___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


[chuck-users] ChucK Floss manual / bug reporting

2018-04-08 Thread mario buoninfante

Hi Scott,


sure I only need your email address to send you the invite. if you want 
you can also send it to my personal mail: mario.buoninfa...@gmail.com



cheers,

Mario

___
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users


  1   2   >