From curtullerich at gmail.com Sat Aug 8 13:56:28 2020 From: curtullerich at gmail.com (Curtis Ullerich) Date: Sat, 8 Aug 2020 10:56:28 -0700 Subject: [chuck-users] imports/includes Message-ID: What's the state of the art for imports/includes? If I have files lib0.ck and lib1.ck that declare public classes both used in control.ck, I understand these to be the two options for running them: chuck lib0.ck lib1.ck control.ck or, make another file control-main.ck: Machine.add("lib0.ck"); Machine.add("lib1.ck"); Machine.add("control.ck"); and run it as: chuck control-main.ck I thought it would work to use Machine.add("lib0.ck"); Machine.add("lib1.ck "); as the first line of control.ck and then just run chuck control.ck, but the included classes are not found. Are these the two options, or is there another way that can support transitive inclusion (not having to list each util file for every program that uses them)? Thanks, Curtis -------------- next part -------------- An HTML attachment was scrubbed... URL: From heuermh at gmail.com Sat Aug 8 14:34:53 2020 From: heuermh at gmail.com (Michael Heuer) Date: Sat, 8 Aug 2020 13:34:53 -0500 Subject: [chuck-users] imports/includes In-Reply-To: References: Message-ID: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> Hello Curtis, In LiCK there is one big import.ck file (your second method) https://github.com/heuermh/lick/blob/master/import.ck I typically use it with two terminal windows, in one $ chuck --loop and in the other $ chuck + import.ck $ chuck + other-stuff.ck See also Add namespaces and import statements https://github.com/ccrma/chuck/issues/109 Cheers, michael > On Aug 8, 2020, at 12:56 PM, Curtis Ullerich wrote: > > What's the state of the art for imports/includes? > > If I have files lib0.ck and lib1.ck that declare public classes both used in control.ck , I understand these to be the two options for running them: > > chuck lib0.ck lib1.ck control.ck > > or, make another file control-main.ck : > Machine.add("lib0.ck "); > Machine.add("lib1.ck "); > Machine.add("control.ck "); > > and run it as: > chuck control-main.ck > > I thought it would work to use Machine.add("lib0.ck "); Machine.add("lib1.ck "); as the first line of control.ck and then just run chuck control.ck , but the included classes are not found. > > Are these the two options, or is there another way that can support transitive inclusion (not having to list each util file for every program that uses them)? > > Thanks, > Curtis > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From curtullerich at gmail.com Sat Aug 8 14:46:11 2020 From: curtullerich at gmail.com (Curtis Ullerich) Date: Sat, 8 Aug 2020 11:46:11 -0700 Subject: [chuck-users] imports/includes In-Reply-To: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> References: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> Message-ID: Thanks for confirming. I subscribed to the issue in case it gains traction. I found it curious that Machine.add used in the header of control.ck doesn't work, but it works if the libs and control.ck are Machine.added in the same file. Why is that? On Sat, Aug 8, 2020, 11:35 Michael Heuer wrote: > Hello Curtis, > > In LiCK there is one big import.ck file (your second method) > > https://github.com/heuermh/lick/blob/master/import.ck > > I typically use it with two terminal windows, in one > > $ chuck --loop > > and in the other > > $ chuck + import.ck > $ chuck + other-stuff.ck > > See also > > Add namespaces and import statements > https://github.com/ccrma/chuck/issues/109 > > Cheers, > > michael > > > On Aug 8, 2020, at 12:56 PM, Curtis Ullerich > wrote: > > What's the state of the art for imports/includes? > > If I have files lib0.ck and lib1.ck that declare public classes both used > in control.ck, I understand these to be the two options for running them: > > chuck lib0.ck lib1.ck control.ck > > or, make another file control-main.ck: > Machine.add("lib0.ck"); > Machine.add("lib1.ck"); > Machine.add("control.ck"); > > and run it as: > chuck control-main.ck > > I thought it would work to use Machine.add("lib0.ck"); Machine.add(" > lib1.ck"); as the first line of control.ck and then just run chuck > control.ck, but the included classes are not found. > > Are these the two options, or is there another way that can support > transitive inclusion (not having to list each util file for every program > that uses them)? > > Thanks, > Curtis > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From curtullerich at gmail.com Sat Aug 8 16:42:51 2020 From: curtullerich at gmail.com (Curtis Ullerich) Date: Sat, 8 Aug 2020 13:42:51 -0700 Subject: [chuck-users] GameTrak velocity In-Reply-To: References: Message-ID: Here's what I ended up writing: https://github.com/curtisullerich/computer-music/tree/master/chuck/gametrak The velocity and acceleration tracking is very rough, but the underlying GameTrak abstraction is working well. Input welcome. :) On Sat, Jul 4, 2020 at 11:47 PM Curtis Ullerich wrote: > Thanks for the links! I implemented a GameTrak class that extends Event > and allows a simple wrapper Event to calculate velocity. I'll get it on > GitHub and share it with the list once I've exercised it a bit. > > On Fri, Jul 3, 2020 at 7:10 PM Michael Heuer wrote: > >> Hello Curtis, >> >> I am not familiar with the GameTrak joystick specifically, but you may >> find USB NES, HID Joystick and Logitech F310 classes >> >> https://github.com/heuermh/lick/blob/master/lick/device/Nes.ck >> https://github.com/heuermh/lick/blob/master/lick/device/Joystick.ck >> >> https://github.com/heuermh/lick/blob/master/lick/device/LogitechGamepadF310.ck >> >> and examples >> >> https://github.com/heuermh/lick/blob/master/examples/nesExample.ck >> https://github.com/heuermh/lick/blob/master/examples/joystickDemo.ck >> https://github.com/heuermh/lick/blob/master/examples/gamepadTr808.ck >> >> in LiCK, a Library for Chuck. Hope these help! >> >> Cheers, >> >> michael >> >> >> On Jul 3, 2020, at 6:16 PM, Curtis Ullerich >> wrote: >> >> Hi all, >> >> I'm experimenting with velocity patterns of GameTrak joysticks as event >> triggers. I'm curious if there's any prior art here. >> >> I'm working on a GameTrak class in ChucK that tracks the hand movement in >> space to add velocity and acceleration updates alongside the usual xyz >> position. >> >> In general, I've been surprised to not find much in the way of a GameTrak >> class/lib for ChucK, though I did find this one >> >> . >> >> Curtis >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From maria.indigo7325987 at gmail.com Sun Aug 9 16:13:55 2020 From: maria.indigo7325987 at gmail.com (maria p cruz) Date: Sun, 9 Aug 2020 15:13:55 -0500 Subject: [chuck-users] chuck.exe is infected! Message-ID: Dear Ge Wang! Because this mail is "only for Ge Wang" nobody else must answer it! My Windows 10 legal copy was infected with your ChucK server download of the chuck.exe, can you please dear Ge Wang explain to me and to everybody else who uses Windows 10 why your chuck.exe download file contains malware (a troyan perhaps?)). PS: the screenshots "with the infection proof"are not attached, they are sent to Ge Wang CCRMA e-mail inbox. I hope Ge, You can solve this error because I cannot use ChucK on Windows 10 now. Maria -------------- next part -------------- An HTML attachment was scrubbed... URL: From cooper_rts at hotmail.com Thu Aug 13 04:18:23 2020 From: cooper_rts at hotmail.com (Daniel Cooper) Date: Thu, 13 Aug 2020 08:18:23 +0000 Subject: [chuck-users] Error in Console Message-ID: Hi everyone, This might seem like a very basic question, though I?m getting an error in the Console that makes it impossible for me to use MiniAudicle: ?[chuck]: (DirectSound) error (Generic error) creating input buffer (Default Device)! [chuck]:(2:SYSTEM): | | | cannot initialize audio device (use --silent/-s for non-realtime)? I?ve tried everything I could find online, and it seems my audio drivers are working. The program worked just fine on my old computer, but I have no idea how to get around this on my new computer. Has anyone come across this before? I?m using version 1.4.0.1, Windows 10. Any help would be greatly appreciated! Cheers, Daniel -------------- next part -------------- An HTML attachment was scrubbed... URL: From lja at ccrma.stanford.edu Fri Aug 14 12:01:12 2020 From: lja at ccrma.stanford.edu (Jack Atherton) Date: Fri, 14 Aug 2020 09:01:12 -0700 Subject: [chuck-users] imports/includes In-Reply-To: References: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> Message-ID: I think this is an artifact of the type checker. It will run on a single file before any of the lines in the file are run. So, if you're trying to use a class that's only being imported with a Machine.add declaration, that declaration is not going to run before the type checker gets to the line where you use it. But, if a file has two Machine.add declarations, then the type isn't used in that file, so the type checker doesn't complain, then at runtime the first .add is run, followed by the second. I guess a Machine.import would need to compile and run the file during compile time, which might be non-trivial because I'm not sure that the compiler can be gracefully interrupted. Maybe the "import" keyword is the way to go. This might be straightforward to do by adding a few rules to the grammar and making import be a reserved word, and allow a number of import statements (only?) at the top of of a program. I have definitely faced the same issue when I was working on utility classes. ~Jack On Sat, Aug 8, 2020 at 11:46 AM Curtis Ullerich wrote: > Thanks for confirming. I subscribed to the issue in case it gains traction. > > I found it curious that Machine.add used in the header of control.ck > doesn't work, but it works if the libs and control.ck are Machine.added > in the same file. Why is that? > > > On Sat, Aug 8, 2020, 11:35 Michael Heuer wrote: > >> Hello Curtis, >> >> In LiCK there is one big import.ck file (your second method) >> >> https://github.com/heuermh/lick/blob/master/import.ck >> >> I typically use it with two terminal windows, in one >> >> $ chuck --loop >> >> and in the other >> >> $ chuck + import.ck >> $ chuck + other-stuff.ck >> >> See also >> >> Add namespaces and import statements >> https://github.com/ccrma/chuck/issues/109 >> >> Cheers, >> >> michael >> >> >> On Aug 8, 2020, at 12:56 PM, Curtis Ullerich >> wrote: >> >> What's the state of the art for imports/includes? >> >> If I have files lib0.ck and lib1.ck that declare public classes both >> used in control.ck, I understand these to be the two options for running >> them: >> >> chuck lib0.ck lib1.ck control.ck >> >> or, make another file control-main.ck: >> Machine.add("lib0.ck"); >> Machine.add("lib1.ck"); >> Machine.add("control.ck"); >> >> and run it as: >> chuck control-main.ck >> >> I thought it would work to use Machine.add("lib0.ck"); Machine.add(" >> lib1.ck"); as the first line of control.ck and then just run chuck >> control.ck, but the included classes are not found. >> >> Are these the two options, or is there another way that can support >> transitive inclusion (not having to list each util file for every program >> that uses them)? >> >> Thanks, >> Curtis >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From curtullerich at gmail.com Sun Aug 16 00:30:39 2020 From: curtullerich at gmail.com (Curtis Ullerich) Date: Sat, 15 Aug 2020 21:30:39 -0700 Subject: [chuck-users] imports/includes In-Reply-To: References: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> Message-ID: Makes sense; thank you for the details. A more restricted sense of importing than normal sporking might be good, like only allowing importing of class and method definitions. Pre-constructor class code makes that a little messier. By the way, does anyone get notified when new pull requests are made on the ChucK repo, or should I be tagging someone? On Fri, Aug 14, 2020 at 9:01 AM Jack Atherton wrote: > I think this is an artifact of the type checker. It will run on a single > file before any of the lines in the file are run. So, if you're trying to > use a class that's only being imported with a Machine.add declaration, that > declaration is not going to run before the type checker gets to the line > where you use it. But, if a file has two Machine.add declarations, then the > type isn't used in that file, so the type checker doesn't complain, then at > runtime the first .add is run, followed by the second. > > I guess a Machine.import would need to compile and run the file during > compile time, which might be non-trivial because I'm not sure that the > compiler can be gracefully interrupted. Maybe the "import" keyword is the > way to go. This might be straightforward to do by adding a few rules to the > grammar and making import be a reserved word, and allow a number of import > statements (only?) at the top of of a program. > > I have definitely faced the same issue when I was working on utility > classes. > > ~Jack > > On Sat, Aug 8, 2020 at 11:46 AM Curtis Ullerich > wrote: > >> Thanks for confirming. I subscribed to the issue in case it gains >> traction. >> >> I found it curious that Machine.add used in the header of control.ck >> doesn't work, but it works if the libs and control.ck are Machine.added >> in the same file. Why is that? >> >> >> On Sat, Aug 8, 2020, 11:35 Michael Heuer wrote: >> >>> Hello Curtis, >>> >>> In LiCK there is one big import.ck file (your second method) >>> >>> https://github.com/heuermh/lick/blob/master/import.ck >>> >>> I typically use it with two terminal windows, in one >>> >>> $ chuck --loop >>> >>> and in the other >>> >>> $ chuck + import.ck >>> $ chuck + other-stuff.ck >>> >>> See also >>> >>> Add namespaces and import statements >>> https://github.com/ccrma/chuck/issues/109 >>> >>> Cheers, >>> >>> michael >>> >>> >>> On Aug 8, 2020, at 12:56 PM, Curtis Ullerich >>> wrote: >>> >>> What's the state of the art for imports/includes? >>> >>> If I have files lib0.ck and lib1.ck that declare public classes both >>> used in control.ck, I understand these to be the two options for >>> running them: >>> >>> chuck lib0.ck lib1.ck control.ck >>> >>> or, make another file control-main.ck: >>> Machine.add("lib0.ck"); >>> Machine.add("lib1.ck"); >>> Machine.add("control.ck"); >>> >>> and run it as: >>> chuck control-main.ck >>> >>> I thought it would work to use Machine.add("lib0.ck"); Machine.add(" >>> lib1.ck"); as the first line of control.ck and then just run chuck >>> control.ck, but the included classes are not found. >>> >>> Are these the two options, or is there another way that can support >>> transitive inclusion (not having to list each util file for every program >>> that uses them)? >>> >>> Thanks, >>> Curtis >>> _______________________________________________ >>> chuck-users mailing list >>> chuck-users at lists.cs.princeton.edu >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>> >>> >>> _______________________________________________ >>> chuck-users mailing list >>> chuck-users at lists.cs.princeton.edu >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From prc at cs.princeton.edu Sun Aug 16 22:12:50 2020 From: prc at cs.princeton.edu (Perry Cook) Date: Sun, 16 Aug 2020 19:12:50 -0700 Subject: [chuck-users] imports/includes (Curtis Ullerich) In-Reply-To: <543D93B8-6327-47D6-B5BA-12DC4E91CF8F@cs.princeton.edu> References: <543D93B8-6327-47D6-B5BA-12DC4E91CF8F@cs.princeton.edu> Message-ID: <1B49EA4F-F8D7-4825-B890-63EDE2A81FA7@cs.princeton.edu> So if I understand you correctly, this is solved fairly easily by a structure we propose in the "ChucK Book? 1) Create a file that loads (by Machine.add()) all the classes you think you?ll need. 2) As the last line of that, have it Machine.add() a different file, which then either does the work, or adds any file(s) that depend on those initial classes. I?ve sometimes even named these files include.ck and Main.ck but include also runs Main, so it?s not strictly an ?include? or import. Hope this helps, PRC -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Listing9.17.ClassLoading.jpeg Type: image/jpeg Size: 25372 bytes Desc: not available URL: From curtullerich at gmail.com Sun Aug 16 22:33:40 2020 From: curtullerich at gmail.com (Curtis Ullerich) Date: Sun, 16 Aug 2020 19:33:40 -0700 Subject: [chuck-users] imports/includes (Curtis Ullerich) In-Reply-To: <1B49EA4F-F8D7-4825-B890-63EDE2A81FA7@cs.princeton.edu> References: <543D93B8-6327-47D6-B5BA-12DC4E91CF8F@cs.princeton.edu> <1B49EA4F-F8D7-4825-B890-63EDE2A81FA7@cs.princeton.edu> Message-ID: Thanks for the reply, Perry. This is indeed what I've taken to doing. In the GameTrak wrappers I've written I have public classes for Tether, GameTrak, Button, etc, that all extend Event. The abstractions are useful, but it means any script that uses them has to list them in the include.ck, and in the correct order, even if the top-level GameTrak is all that is referenced: Machine.add("external/gametrak/button.ck"); Machine.add("external/gametrak/point.ck"); Machine.add("external/gametrak/tether.ck"); Machine.add("external/gametrak/gametrak.ck"); I'd like to have each ck file declare its imports so users don't have to know about these internals. Maybe there's a similar way to do this that I'm not seeing yet. On Sun, Aug 16, 2020 at 7:13 PM Perry Cook wrote: > So if I understand you correctly, this is solved fairly easily by a > structure we propose in the "ChucK Book? > > 1) Create a file that loads (by Machine.add()) all the classes you think > you?ll need. > > 2) As the last line of that, have it Machine.add() a different file, > which then > either does the work, or adds any file(s) that depend on those initial > classes. > > I?ve sometimes even named these files include.ck and Main.ck > but include also runs Main, so it?s not strictly an ?include? or import. > > Hope this helps, > > PRC > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Listing9.17.ClassLoading.jpeg Type: image/jpeg Size: 25372 bytes Desc: not available URL: From lja at ccrma.stanford.edu Wed Aug 19 13:25:02 2020 From: lja at ccrma.stanford.edu (Jack Atherton) Date: Wed, 19 Aug 2020 10:25:02 -0700 Subject: [chuck-users] imports/includes In-Reply-To: References: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> Message-ID: The most straightforward version of an import statement would just add the public class in that file to the VM if it hasn't been added already. Do you think an import statement should also add the ability to splice in functions and other classes too? I get an email when new pull requests are made, but I don't get the chance to look through them very often. ~Jack On Sat, Aug 15, 2020 at 9:31 PM Curtis Ullerich wrote: > Makes sense; thank you for the details. A more restricted sense of > importing than normal sporking might be good, like only allowing importing > of class and method definitions. Pre-constructor class code makes that a > little messier. > > By the way, does anyone get notified when new pull requests are made on > the ChucK repo, or should I be tagging someone? > > On Fri, Aug 14, 2020 at 9:01 AM Jack Atherton > wrote: > >> I think this is an artifact of the type checker. It will run on a single >> file before any of the lines in the file are run. So, if you're trying to >> use a class that's only being imported with a Machine.add declaration, that >> declaration is not going to run before the type checker gets to the line >> where you use it. But, if a file has two Machine.add declarations, then the >> type isn't used in that file, so the type checker doesn't complain, then at >> runtime the first .add is run, followed by the second. >> >> I guess a Machine.import would need to compile and run the file during >> compile time, which might be non-trivial because I'm not sure that the >> compiler can be gracefully interrupted. Maybe the "import" keyword is the >> way to go. This might be straightforward to do by adding a few rules to the >> grammar and making import be a reserved word, and allow a number of import >> statements (only?) at the top of of a program. >> >> I have definitely faced the same issue when I was working on utility >> classes. >> >> ~Jack >> >> On Sat, Aug 8, 2020 at 11:46 AM Curtis Ullerich >> wrote: >> >>> Thanks for confirming. I subscribed to the issue in case it gains >>> traction. >>> >>> I found it curious that Machine.add used in the header of control.ck >>> doesn't work, but it works if the libs and control.ck are Machine.added >>> in the same file. Why is that? >>> >>> >>> On Sat, Aug 8, 2020, 11:35 Michael Heuer wrote: >>> >>>> Hello Curtis, >>>> >>>> In LiCK there is one big import.ck file (your second method) >>>> >>>> https://github.com/heuermh/lick/blob/master/import.ck >>>> >>>> I typically use it with two terminal windows, in one >>>> >>>> $ chuck --loop >>>> >>>> and in the other >>>> >>>> $ chuck + import.ck >>>> $ chuck + other-stuff.ck >>>> >>>> See also >>>> >>>> Add namespaces and import statements >>>> https://github.com/ccrma/chuck/issues/109 >>>> >>>> Cheers, >>>> >>>> michael >>>> >>>> >>>> On Aug 8, 2020, at 12:56 PM, Curtis Ullerich >>>> wrote: >>>> >>>> What's the state of the art for imports/includes? >>>> >>>> If I have files lib0.ck and lib1.ck that declare public classes both >>>> used in control.ck, I understand these to be the two options for >>>> running them: >>>> >>>> chuck lib0.ck lib1.ck control.ck >>>> >>>> or, make another file control-main.ck: >>>> Machine.add("lib0.ck"); >>>> Machine.add("lib1.ck"); >>>> Machine.add("control.ck"); >>>> >>>> and run it as: >>>> chuck control-main.ck >>>> >>>> I thought it would work to use Machine.add("lib0.ck"); Machine.add(" >>>> lib1.ck"); as the first line of control.ck and then just run chuck >>>> control.ck, but the included classes are not found. >>>> >>>> Are these the two options, or is there another way that can support >>>> transitive inclusion (not having to list each util file for every program >>>> that uses them)? >>>> >>>> Thanks, >>>> Curtis >>>> _______________________________________________ >>>> chuck-users mailing list >>>> chuck-users at lists.cs.princeton.edu >>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>>> >>>> >>>> _______________________________________________ >>>> chuck-users mailing list >>>> chuck-users at lists.cs.princeton.edu >>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>>> >>> _______________________________________________ >>> chuck-users mailing list >>> chuck-users at lists.cs.princeton.edu >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From heuermh at gmail.com Wed Aug 19 18:41:34 2020 From: heuermh at gmail.com (Michael Heuer) Date: Wed, 19 Aug 2020 17:41:34 -0500 Subject: [chuck-users] imports/includes In-Reply-To: References: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> Message-ID: <9EAB741E-FC58-406D-94F9-732B2CD7C931@gmail.com> On Aug 19, 2020, at 12:25 PM, Jack Atherton wrote: > > The most straightforward version of an import statement would just add the public class in that file to the VM if it hasn't been added already. Do you think an import statement should also add the ability to splice in functions and other classes too? In LiCK many public classes depend on non-public classes local to the file. A quick count shows 437 public classes of approximately 939 total classes: $ chuck import.ck ... [chuck](VM): sporking incoming shred: 437 (RubberBand.ck)... LiCK imported at path ~/working/lick/ $ find lick -name "*.ck" | xargs grep class | wc -l 939 Imports should also be recursive, e.g. the public class in the imported file may import other classes. Finally, as described in the linked issue below, having namespaces via a namespace or package statement would also be quite useful. Cheers, michael > > I get an email when new pull requests are made, but I don't get the chance to look through them very often. > > ~Jack > > On Sat, Aug 15, 2020 at 9:31 PM Curtis Ullerich > wrote: > Makes sense; thank you for the details. A more restricted sense of importing than normal sporking might be good, like only allowing importing of class and method definitions. Pre-constructor class code makes that a little messier. > > By the way, does anyone get notified when new pull requests are made on the ChucK repo, or should I be tagging someone? > > On Fri, Aug 14, 2020 at 9:01 AM Jack Atherton > wrote: > I think this is an artifact of the type checker. It will run on a single file before any of the lines in the file are run. So, if you're trying to use a class that's only being imported with a Machine.add declaration, that declaration is not going to run before the type checker gets to the line where you use it. But, if a file has two Machine.add declarations, then the type isn't used in that file, so the type checker doesn't complain, then at runtime the first .add is run, followed by the second. > > I guess a Machine.import would need to compile and run the file during compile time, which might be non-trivial because I'm not sure that the compiler can be gracefully interrupted. Maybe the "import" keyword is the way to go. This might be straightforward to do by adding a few rules to the grammar and making import be a reserved word, and allow a number of import statements (only?) at the top of of a program. > > I have definitely faced the same issue when I was working on utility classes. > > ~Jack > > On Sat, Aug 8, 2020 at 11:46 AM Curtis Ullerich > wrote: > Thanks for confirming. I subscribed to the issue in case it gains traction. > > I found it curious that Machine.add used in the header of control.ck doesn't work, but it works if the libs and control.ck are Machine.added in the same file. Why is that? > > > On Sat, Aug 8, 2020, 11:35 Michael Heuer > wrote: > Hello Curtis, > > In LiCK there is one big import.ck file (your second method) > > https://github.com/heuermh/lick/blob/master/import.ck > > I typically use it with two terminal windows, in one > > $ chuck --loop > > and in the other > > $ chuck + import.ck > $ chuck + other-stuff.ck > > See also > > Add namespaces and import statements > https://github.com/ccrma/chuck/issues/109 > > Cheers, > > michael > > >> On Aug 8, 2020, at 12:56 PM, Curtis Ullerich > wrote: >> >> What's the state of the art for imports/includes? >> >> If I have files lib0.ck and lib1.ck that declare public classes both used in control.ck , I understand these to be the two options for running them: >> >> chuck lib0.ck lib1.ck control.ck >> >> or, make another file control-main.ck : >> Machine.add("lib0.ck "); >> Machine.add("lib1.ck "); >> Machine.add("control.ck "); >> >> and run it as: >> chuck control-main.ck >> >> I thought it would work to use Machine.add("lib0.ck "); Machine.add("lib1.ck "); as the first line of control.ck and then just run chuck control.ck , but the included classes are not found. >> >> Are these the two options, or is there another way that can support transitive inclusion (not having to list each util file for every program that uses them)? >> >> Thanks, >> Curtis >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From curtullerich at gmail.com Wed Aug 19 21:26:37 2020 From: curtullerich at gmail.com (Curtis Ullerich) Date: Wed, 19 Aug 2020 18:26:37 -0700 Subject: [chuck-users] imports/includes In-Reply-To: <9EAB741E-FC58-406D-94F9-732B2CD7C931@gmail.com> References: <2872C448-CB09-4E47-9CF9-066F9D9EAD98@gmail.com> <9EAB741E-FC58-406D-94F9-732B2CD7C931@gmail.com> Message-ID: This is what I was thinking as well. I don't think the dependencies of the import statements should be exposed transitively, but they need to be added to the vm. I think it's reasonable to only have public classes be exposed by an import, and leave bare functions and non-public classes private. Jack, no worries about review speed, I just wanted to make sure I was following the preferred procedure. On Wed, Aug 19, 2020 at 3:41 PM Michael Heuer wrote: > On Aug 19, 2020, at 12:25 PM, Jack Atherton > wrote: > > > The most straightforward version of an import statement would just add the > public class in that file to the VM if it hasn't been added already. Do you > think an import statement should also add the ability to splice in > functions and other classes too? > > > In LiCK many public classes depend on non-public classes local to the > file. A quick count shows 437 public classes of approximately 939 total > classes: > > $ chuck import.ck > ... > [chuck](VM): sporking incoming shred: 437 (RubberBand.ck)... > LiCK imported at path ~/working/lick/ > > $ find lick -name "*.ck" | xargs grep class | wc -l > 939 > > Imports should also be recursive, e.g. the public class in the imported > file may import other classes. > > Finally, as described in the linked issue below, having namespaces via a > namespace or package statement would also be quite useful. > > Cheers, > > michael > > > > I get an email when new pull requests are made, but I don't get the chance > to look through them very often. > > ~Jack > > On Sat, Aug 15, 2020 at 9:31 PM Curtis Ullerich > wrote: > >> Makes sense; thank you for the details. A more restricted sense of >> importing than normal sporking might be good, like only allowing importing >> of class and method definitions. Pre-constructor class code makes that a >> little messier. >> >> By the way, does anyone get notified when new pull requests are made on >> the ChucK repo, or should I be tagging someone? >> >> On Fri, Aug 14, 2020 at 9:01 AM Jack Atherton >> wrote: >> >>> I think this is an artifact of the type checker. It will run on a single >>> file before any of the lines in the file are run. So, if you're trying to >>> use a class that's only being imported with a Machine.add declaration, that >>> declaration is not going to run before the type checker gets to the line >>> where you use it. But, if a file has two Machine.add declarations, then the >>> type isn't used in that file, so the type checker doesn't complain, then at >>> runtime the first .add is run, followed by the second. >>> >>> I guess a Machine.import would need to compile and run the file during >>> compile time, which might be non-trivial because I'm not sure that the >>> compiler can be gracefully interrupted. Maybe the "import" keyword is the >>> way to go. This might be straightforward to do by adding a few rules to the >>> grammar and making import be a reserved word, and allow a number of import >>> statements (only?) at the top of of a program. >>> >>> I have definitely faced the same issue when I was working on utility >>> classes. >>> >>> ~Jack >>> >>> On Sat, Aug 8, 2020 at 11:46 AM Curtis Ullerich >>> wrote: >>> >>>> Thanks for confirming. I subscribed to the issue in case it gains >>>> traction. >>>> >>>> I found it curious that Machine.add used in the header of control.ck >>>> doesn't work, but it works if the libs and control.ck are >>>> Machine.added in the same file. Why is that? >>>> >>>> >>>> On Sat, Aug 8, 2020, 11:35 Michael Heuer wrote: >>>> >>>>> Hello Curtis, >>>>> >>>>> In LiCK there is one big import.ck file (your second method) >>>>> >>>>> https://github.com/heuermh/lick/blob/master/import.ck >>>>> >>>>> I typically use it with two terminal windows, in one >>>>> >>>>> $ chuck --loop >>>>> >>>>> and in the other >>>>> >>>>> $ chuck + import.ck >>>>> $ chuck + other-stuff.ck >>>>> >>>>> See also >>>>> >>>>> Add namespaces and import statements >>>>> https://github.com/ccrma/chuck/issues/109 >>>>> >>>>> Cheers, >>>>> >>>>> michael >>>>> >>>>> >>>>> On Aug 8, 2020, at 12:56 PM, Curtis Ullerich >>>>> wrote: >>>>> >>>>> What's the state of the art for imports/includes? >>>>> >>>>> If I have files lib0.ck and lib1.ck that declare public classes both >>>>> used in control.ck, I understand these to be the two options for >>>>> running them: >>>>> >>>>> chuck lib0.ck lib1.ck control.ck >>>>> >>>>> or, make another file control-main.ck: >>>>> Machine.add("lib0.ck"); >>>>> Machine.add("lib1.ck"); >>>>> Machine.add("control.ck"); >>>>> >>>>> and run it as: >>>>> chuck control-main.ck >>>>> >>>>> I thought it would work to use Machine.add("lib0.ck"); Machine.add(" >>>>> lib1.ck"); as the first line of control.ck and then just run chuck >>>>> control.ck, but the included classes are not found. >>>>> >>>>> Are these the two options, or is there another way that can support >>>>> transitive inclusion (not having to list each util file for every program >>>>> that uses them)? >>>>> >>>>> Thanks, >>>>> Curtis >>>>> _______________________________________________ >>>>> chuck-users mailing list >>>>> chuck-users at lists.cs.princeton.edu >>>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>>>> >>>>> >>>>> _______________________________________________ >>>>> chuck-users mailing list >>>>> chuck-users at lists.cs.princeton.edu >>>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>>>> >>>> _______________________________________________ >>>> chuck-users mailing list >>>> chuck-users at lists.cs.princeton.edu >>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>>> >>> _______________________________________________ >>> chuck-users mailing list >>> chuck-users at lists.cs.princeton.edu >>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >>> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From micheal.ocathain at gmail.com Tue Aug 25 08:01:41 2020 From: micheal.ocathain at gmail.com (=?UTF-8?B?TcOtY2hlw6FsIMOTIENhdGjDoWlu?=) Date: Tue, 25 Aug 2020 13:01:41 +0100 Subject: [chuck-users] webchuck and osc Message-ID: hi there, Webchuck is such an excellent development - thanks for all the work that has gone into this by Jack (and others I'm sure). Hopefully I'll be able to contribute in some way in future, after getting up the learning curve a bit more! I have a question about using OSC with webchuck... I have a .ck script running on my local machine, using OSC to emit messages every X samples of a .wav file played by a SndBuf. These OSC messages are received by a webpage on my local machine. For this receiver I am running the page using node.js, and... * https://github.com/automata/osc-web * socket.io Locally, this works fine - as I play the .wav file via ChucK on MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd expect. However when I try to run this same .ck file using Webchuck, I get the following error message: chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... Does Webchuck feature OSC messages yet? Thanks Micheal -------------- next part -------------- An HTML attachment was scrubbed... URL: From lja at ccrma.stanford.edu Tue Aug 25 14:37:37 2020 From: lja at ccrma.stanford.edu (Jack Atherton) Date: Tue, 25 Aug 2020 11:37:37 -0700 Subject: [chuck-users] webchuck and osc In-Reply-To: References: Message-ID: It doesn't! Never quite figured out architecturally how this might work. The workaround would be to use some JavaScript mechanism for communicating with outside programs, then use global variables to communicate between JS and ChucK. ~Jack On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in < micheal.ocathain at gmail.com> wrote: > hi there, > > Webchuck is such an excellent development - thanks for all the work that > has gone into this by Jack (and others I'm sure). Hopefully I'll be able > to contribute in some way in future, after getting up the learning curve a > bit more! > > I have a question about using OSC with webchuck... > > I have a .ck script running on my local machine, using OSC to emit > messages every X samples of a .wav file played by a SndBuf. > These OSC messages are received by a webpage on my local machine. > For this receiver I am running the page using node.js, and... > * https://github.com/automata/osc-web > * socket.io > > Locally, this works fine - as I play the .wav file via ChucK on > MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd > expect. > > However when I try to run this same .ck file using Webchuck, I get the > following error message: > chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... > > Does Webchuck feature OSC messages yet? > > > Thanks > Micheal > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.crane at gmail.com Tue Aug 25 16:51:07 2020 From: john.crane at gmail.com (John Crane) Date: Tue, 25 Aug 2020 13:51:07 -0700 Subject: [chuck-users] Passing functions as arguments Message-ID: Hi all, Chuck newbie here. Is it possible to pass a function as an argument? I'd like to be able to transform things in a functional programming manner. As a trivial example, if I had an array of midi notes and wanted to raise them all one interval. fun int increment(int note) { note + 1; } // use map to apply a function to all elements of an array map ( array_of_notes, increment); thanks in advance, John -------------- next part -------------- An HTML attachment was scrubbed... URL: From znmeb at znmeb.net Tue Aug 25 17:52:40 2020 From: znmeb at znmeb.net (M. Edward (Ed) Borasky) Date: Tue, 25 Aug 2020 14:52:40 -0700 Subject: [chuck-users] webchuck and osc In-Reply-To: References: Message-ID: This is the first I've heard of WebChuck - is there a link to it? Google turned up nothing. On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton wrote: > > It doesn't! Never quite figured out architecturally how this might work. The workaround would be to use some JavaScript mechanism for communicating with outside programs, then use global variables to communicate between JS and ChucK. > > ~Jack > > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in wrote: >> >> hi there, >> >> Webchuck is such an excellent development - thanks for all the work that has gone into this by Jack (and others I'm sure). Hopefully I'll be able to contribute in some way in future, after getting up the learning curve a bit more! >> >> I have a question about using OSC with webchuck... >> >> I have a .ck script running on my local machine, using OSC to emit messages every X samples of a .wav file played by a SndBuf. >> These OSC messages are received by a webpage on my local machine. >> For this receiver I am running the page using node.js, and... >> * https://github.com/automata/osc-web >> * socket.io >> >> Locally, this works fine - as I play the .wav file via ChucK on MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd expect. >> >> However when I try to run this same .ck file using Webchuck, I get the following error message: >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... >> >> Does Webchuck feature OSC messages yet? >> >> >> Thanks >> Micheal >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users -- Borasky Research Journal https://www.znmeb.mobi Markovs of the world, unite! You have nothing to lose but your chains! From lja at ccrma.stanford.edu Tue Aug 25 18:04:43 2020 From: lja at ccrma.stanford.edu (Jack Atherton) Date: Tue, 25 Aug 2020 15:04:43 -0700 Subject: [chuck-users] webchuck and osc In-Reply-To: References: Message-ID: Here's two pages that use WebChucK in slightly different ways -- you can look at the source to get an idea, download relevant files, etc: https://ccrma.stanford.edu/~lja/webchuck/ https://ccrma.stanford.edu/~lja/timbre-library/ I think this might be the most recent branch on github. It's at least the one that has been modified most recently. https://github.com/ccrma/chuck/tree/emscripten-pattern-c Sorry for the lack of clear documentation! As with a lot of ChucK things, development is very sporadic. ~Jack On Tue, Aug 25, 2020 at 2:53 PM M. Edward (Ed) Borasky wrote: > This is the first I've heard of WebChuck - is there a link to it? > Google turned up nothing. > > On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton > wrote: > > > > It doesn't! Never quite figured out architecturally how this might work. > The workaround would be to use some JavaScript mechanism for communicating > with outside programs, then use global variables to communicate between JS > and ChucK. > > > > ~Jack > > > > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in < > micheal.ocathain at gmail.com> wrote: > >> > >> hi there, > >> > >> Webchuck is such an excellent development - thanks for all the work > that has gone into this by Jack (and others I'm sure). Hopefully I'll be > able to contribute in some way in future, after getting up the learning > curve a bit more! > >> > >> I have a question about using OSC with webchuck... > >> > >> I have a .ck script running on my local machine, using OSC to emit > messages every X samples of a .wav file played by a SndBuf. > >> These OSC messages are received by a webpage on my local machine. > >> For this receiver I am running the page using node.js, and... > >> * https://github.com/automata/osc-web > >> * socket.io > >> > >> Locally, this works fine - as I play the .wav file via ChucK on > MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd > expect. > >> > >> However when I try to run this same .ck file using Webchuck, I get the > following error message: > >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... > >> > >> Does Webchuck feature OSC messages yet? > >> > >> > >> Thanks > >> Micheal > >> > >> _______________________________________________ > >> chuck-users mailing list > >> chuck-users at lists.cs.princeton.edu > >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > _______________________________________________ > > chuck-users mailing list > > chuck-users at lists.cs.princeton.edu > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > -- > Borasky Research Journal https://www.znmeb.mobi > > Markovs of the world, unite! You have nothing to lose but your chains! > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From znmeb at znmeb.net Tue Aug 25 18:08:50 2020 From: znmeb at znmeb.net (M. Edward (Ed) Borasky) Date: Tue, 25 Aug 2020 15:08:50 -0700 Subject: [chuck-users] webchuck and osc In-Reply-To: References: Message-ID: Thanks! So it's Emscripten-based - that's what I was hoping for. On Tue, Aug 25, 2020 at 3:06 PM Jack Atherton wrote: > > Here's two pages that use WebChucK in slightly different ways -- you can look at the source to get an idea, download relevant files, etc: > > https://ccrma.stanford.edu/~lja/webchuck/ > https://ccrma.stanford.edu/~lja/timbre-library/ > > I think this might be the most recent branch on github. It's at least the one that has been modified most recently. > https://github.com/ccrma/chuck/tree/emscripten-pattern-c > > Sorry for the lack of clear documentation! As with a lot of ChucK things, development is very sporadic. > > ~Jack > > On Tue, Aug 25, 2020 at 2:53 PM M. Edward (Ed) Borasky wrote: >> >> This is the first I've heard of WebChuck - is there a link to it? >> Google turned up nothing. >> >> On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton wrote: >> > >> > It doesn't! Never quite figured out architecturally how this might work. The workaround would be to use some JavaScript mechanism for communicating with outside programs, then use global variables to communicate between JS and ChucK. >> > >> > ~Jack >> > >> > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in wrote: >> >> >> >> hi there, >> >> >> >> Webchuck is such an excellent development - thanks for all the work that has gone into this by Jack (and others I'm sure). Hopefully I'll be able to contribute in some way in future, after getting up the learning curve a bit more! >> >> >> >> I have a question about using OSC with webchuck... >> >> >> >> I have a .ck script running on my local machine, using OSC to emit messages every X samples of a .wav file played by a SndBuf. >> >> These OSC messages are received by a webpage on my local machine. >> >> For this receiver I am running the page using node.js, and... >> >> * https://github.com/automata/osc-web >> >> * socket.io >> >> >> >> Locally, this works fine - as I play the .wav file via ChucK on MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd expect. >> >> >> >> However when I try to run this same .ck file using Webchuck, I get the following error message: >> >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... >> >> >> >> Does Webchuck feature OSC messages yet? >> >> >> >> >> >> Thanks >> >> Micheal >> >> >> >> _______________________________________________ >> >> chuck-users mailing list >> >> chuck-users at lists.cs.princeton.edu >> >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > >> > _______________________________________________ >> > chuck-users mailing list >> > chuck-users at lists.cs.princeton.edu >> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> >> >> -- >> Borasky Research Journal https://www.znmeb.mobi >> >> Markovs of the world, unite! You have nothing to lose but your chains! >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users -- Borasky Research Journal https://www.znmeb.mobi Markovs of the world, unite! You have nothing to lose but your chains! From garton at columbia.edu Tue Aug 25 18:19:46 2020 From: garton at columbia.edu (Brad Garton) Date: Tue, 25 Aug 2020 15:19:46 -0700 Subject: [chuck-users] webchuck and osc In-Reply-To: References: Message-ID: Me too, and I'm very interested. Does it use WASM (sounds like it does)? brad On Tue, Aug 25, 2020 at 2:53 PM M. Edward (Ed) Borasky wrote: > > This is the first I've heard of WebChuck - is there a link to it? > Google turned up nothing. > > On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton wrote: > > > > It doesn't! Never quite figured out architecturally how this might work. The workaround would be to use some JavaScript mechanism for communicating with outside programs, then use global variables to communicate between JS and ChucK. > > > > ~Jack > > > > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in wrote: > >> > >> hi there, > >> > >> Webchuck is such an excellent development - thanks for all the work that has gone into this by Jack (and others I'm sure). Hopefully I'll be able to contribute in some way in future, after getting up the learning curve a bit more! > >> > >> I have a question about using OSC with webchuck... > >> > >> I have a .ck script running on my local machine, using OSC to emit messages every X samples of a .wav file played by a SndBuf. > >> These OSC messages are received by a webpage on my local machine. > >> For this receiver I am running the page using node.js, and... > >> * https://github.com/automata/osc-web > >> * socket.io > >> > >> Locally, this works fine - as I play the .wav file via ChucK on MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd expect. > >> > >> However when I try to run this same .ck file using Webchuck, I get the following error message: > >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... > >> > >> Does Webchuck feature OSC messages yet? > >> > >> > >> Thanks > >> Micheal > >> > >> _______________________________________________ > >> chuck-users mailing list > >> chuck-users at lists.cs.princeton.edu > >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > _______________________________________________ > > chuck-users mailing list > > chuck-users at lists.cs.princeton.edu > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > -- > Borasky Research Journal https://www.znmeb.mobi > > Markovs of the world, unite! You have nothing to lose but your chains! > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users From lja at ccrma.stanford.edu Wed Aug 26 01:01:35 2020 From: lja at ccrma.stanford.edu (Jack Atherton) Date: Tue, 25 Aug 2020 22:01:35 -0700 Subject: [chuck-users] webchuck and osc In-Reply-To: References: Message-ID: Yes it does! If I remember correctly it relies on Hongchan's design pattern here: https://developers.google.com/web/updates/2018/06/audio-worklet-design-pattern ~Jack On Tue, Aug 25, 2020 at 3:20 PM Brad Garton wrote: > Me too, and I'm very interested. Does it use WASM (sounds like it does)? > > brad > > On Tue, Aug 25, 2020 at 2:53 PM M. Edward (Ed) Borasky > wrote: > > > > This is the first I've heard of WebChuck - is there a link to it? > > Google turned up nothing. > > > > On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton > wrote: > > > > > > It doesn't! Never quite figured out architecturally how this might > work. The workaround would be to use some JavaScript mechanism for > communicating with outside programs, then use global variables to > communicate between JS and ChucK. > > > > > > ~Jack > > > > > > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in < > micheal.ocathain at gmail.com> wrote: > > >> > > >> hi there, > > >> > > >> Webchuck is such an excellent development - thanks for all the work > that has gone into this by Jack (and others I'm sure). Hopefully I'll be > able to contribute in some way in future, after getting up the learning > curve a bit more! > > >> > > >> I have a question about using OSC with webchuck... > > >> > > >> I have a .ck script running on my local machine, using OSC to emit > messages every X samples of a .wav file played by a SndBuf. > > >> These OSC messages are received by a webpage on my local machine. > > >> For this receiver I am running the page using node.js, and... > > >> * https://github.com/automata/osc-web > > >> * socket.io > > >> > > >> Locally, this works fine - as I play the .wav file via ChucK on > MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd > expect. > > >> > > >> However when I try to run this same .ck file using Webchuck, I get > the following error message: > > >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type > 'OscOut'... > > >> > > >> Does Webchuck feature OSC messages yet? > > >> > > >> > > >> Thanks > > >> Micheal > > >> > > >> _______________________________________________ > > >> chuck-users mailing list > > >> chuck-users at lists.cs.princeton.edu > > >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > > > _______________________________________________ > > > chuck-users mailing list > > > chuck-users at lists.cs.princeton.edu > > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > > > > > -- > > Borasky Research Journal https://www.znmeb.mobi > > > > Markovs of the world, unite! You have nothing to lose but your chains! > > _______________________________________________ > > chuck-users mailing list > > chuck-users at lists.cs.princeton.edu > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From micheal.ocathain at gmail.com Wed Aug 26 03:50:54 2020 From: micheal.ocathain at gmail.com (=?UTF-8?B?TcOtY2hlw6FsIMOTIENhdGjDoWlu?=) Date: Wed, 26 Aug 2020 08:50:54 +0100 Subject: [chuck-users] webchuck and osc (Jack Atherton) In-Reply-To: References: Message-ID: Hi Jack, Thanks for clarifying! I'll try the workaround you suggest with global variables and report back!! Socket.io will be my first port of call for a JavaScript mechanism but open to all suggestions... On Tue, 25 Aug 2020, 23:05 , wrote: > Send chuck-users mailing list submissions to > chuck-users at 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-request at lists.cs.princeton.edu > > You can reach the person managing the list at > chuck-users-owner at 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: webchuck and osc (Jack Atherton) > 2. Passing functions as arguments (John Crane) > 3. Re: webchuck and osc (M. Edward (Ed) Borasky) > 4. Re: webchuck and osc (Jack Atherton) > > > > ---------- Forwarded message ---------- > From: Jack Atherton > To: ChucK Users Mailing List > Cc: > Bcc: > Date: Tue, 25 Aug 2020 11:37:37 -0700 > Subject: Re: [chuck-users] webchuck and osc > It doesn't! Never quite figured out architecturally how this might work. > The workaround would be to use some JavaScript mechanism for communicating > with outside programs, then use global variables to communicate between JS > and ChucK. > > ~Jack > > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in < > micheal.ocathain at gmail.com> wrote: > >> hi there, >> >> Webchuck is such an excellent development - thanks for all the work that >> has gone into this by Jack (and others I'm sure). Hopefully I'll be able >> to contribute in some way in future, after getting up the learning curve a >> bit more! >> >> I have a question about using OSC with webchuck... >> >> I have a .ck script running on my local machine, using OSC to emit >> messages every X samples of a .wav file played by a SndBuf. >> These OSC messages are received by a webpage on my local machine. >> For this receiver I am running the page using node.js, and... >> * https://github.com/automata/osc-web >> * socket.io >> >> Locally, this works fine - as I play the .wav file via ChucK on >> MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd >> expect. >> >> However when I try to run this same .ck file using Webchuck, I get the >> following error message: >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... >> >> Does Webchuck feature OSC messages yet? >> >> >> Thanks >> Micheal >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > > > > ---------- Forwarded message ---------- > From: John Crane > To: chuck-users at lists.cs.princeton.edu > Cc: > Bcc: > Date: Tue, 25 Aug 2020 13:51:07 -0700 > Subject: [chuck-users] Passing functions as arguments > Hi all, > > Chuck newbie here. Is it possible to pass a function as an argument? I'd > like to be able to transform things in a functional programming manner. > As a trivial example, if I had an array of midi notes and wanted to raise > them all one interval. > > fun int increment(int note) { > note + 1; > } > > // use map to apply a function to all elements of an array > map ( array_of_notes, increment); > > thanks in advance, > > John > > > > ---------- Forwarded message ---------- > From: "M. Edward (Ed) Borasky" > To: ChucK Users Mailing List > Cc: > Bcc: > Date: Tue, 25 Aug 2020 14:52:40 -0700 > Subject: Re: [chuck-users] webchuck and osc > This is the first I've heard of WebChuck - is there a link to it? > Google turned up nothing. > > On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton > wrote: > > > > It doesn't! Never quite figured out architecturally how this might work. > The workaround would be to use some JavaScript mechanism for communicating > with outside programs, then use global variables to communicate between JS > and ChucK. > > > > ~Jack > > > > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in < > micheal.ocathain at gmail.com> wrote: > >> > >> hi there, > >> > >> Webchuck is such an excellent development - thanks for all the work > that has gone into this by Jack (and others I'm sure). Hopefully I'll be > able to contribute in some way in future, after getting up the learning > curve a bit more! > >> > >> I have a question about using OSC with webchuck... > >> > >> I have a .ck script running on my local machine, using OSC to emit > messages every X samples of a .wav file played by a SndBuf. > >> These OSC messages are received by a webpage on my local machine. > >> For this receiver I am running the page using node.js, and... > >> * https://github.com/automata/osc-web > >> * socket.io > >> > >> Locally, this works fine - as I play the .wav file via ChucK on > MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd > expect. > >> > >> However when I try to run this same .ck file using Webchuck, I get the > following error message: > >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... > >> > >> Does Webchuck feature OSC messages yet? > >> > >> > >> Thanks > >> Micheal > >> > >> _______________________________________________ > >> chuck-users mailing list > >> chuck-users at lists.cs.princeton.edu > >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > _______________________________________________ > > chuck-users mailing list > > chuck-users at lists.cs.princeton.edu > > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > > > -- > Borasky Research Journal https://www.znmeb.mobi > > Markovs of the world, unite! You have nothing to lose but your chains! > > > > > ---------- Forwarded message ---------- > From: Jack Atherton > To: ChucK Users Mailing List > Cc: > Bcc: > Date: Tue, 25 Aug 2020 15:04:43 -0700 > Subject: Re: [chuck-users] webchuck and osc > Here's two pages that use WebChucK in slightly different ways -- you can > look at the source to get an idea, download relevant files, etc: > > https://ccrma.stanford.edu/~lja/webchuck/ > https://ccrma.stanford.edu/~lja/timbre-library/ > > I think this might be the most recent branch on github. It's at least the > one that has been modified most recently. > https://github.com/ccrma/chuck/tree/emscripten-pattern-c > > Sorry for the lack of clear documentation! As with a lot of ChucK things, > development is very sporadic. > > ~Jack > > On Tue, Aug 25, 2020 at 2:53 PM M. Edward (Ed) Borasky > wrote: > >> This is the first I've heard of WebChuck - is there a link to it? >> Google turned up nothing. >> >> On Tue, Aug 25, 2020 at 11:39 AM Jack Atherton >> wrote: >> > >> > It doesn't! Never quite figured out architecturally how this might >> work. The workaround would be to use some JavaScript mechanism for >> communicating with outside programs, then use global variables to >> communicate between JS and ChucK. >> > >> > ~Jack >> > >> > On Tue, Aug 25, 2020 at 5:02 AM M?che?l ? Cath?in < >> micheal.ocathain at gmail.com> wrote: >> >> >> >> hi there, >> >> >> >> Webchuck is such an excellent development - thanks for all the work >> that has gone into this by Jack (and others I'm sure). Hopefully I'll be >> able to contribute in some way in future, after getting up the learning >> curve a bit more! >> >> >> >> I have a question about using OSC with webchuck... >> >> >> >> I have a .ck script running on my local machine, using OSC to emit >> messages every X samples of a .wav file played by a SndBuf. >> >> These OSC messages are received by a webpage on my local machine. >> >> For this receiver I am running the page using node.js, and... >> >> * https://github.com/automata/osc-web >> >> * socket.io >> >> >> >> Locally, this works fine - as I play the .wav file via ChucK on >> MiniAudicle, the webpage at localhost:3000 displays the OSC messages as I'd >> expect. >> >> >> >> However when I try to run this same .ck file using Webchuck, I get the >> following error message: >> >> chucknode.js:189 [osc-eibhlin.ck]:line(38): undefined type 'OscOut'... >> >> >> >> Does Webchuck feature OSC messages yet? >> >> >> >> >> >> Thanks >> >> Micheal >> >> >> >> _______________________________________________ >> >> chuck-users mailing list >> >> chuck-users at lists.cs.princeton.edu >> >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > >> > _______________________________________________ >> > chuck-users mailing list >> > chuck-users at lists.cs.princeton.edu >> > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> >> >> -- >> Borasky Research Journal https://www.znmeb.mobi >> >> Markovs of the world, unite! You have nothing to lose but your chains! >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> >> _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From casper.schipper at gmail.com Wed Aug 26 07:22:42 2020 From: casper.schipper at gmail.com (Casper Schipper) Date: Wed, 26 Aug 2020 13:22:42 +0200 Subject: [chuck-users] Passing functions as arguments In-Reply-To: References: Message-ID: Hello John, It is not really possible in normal Chuck syntax: functions are not values in Chuck and there is no function type. However, you can simulate functions as values, by creating classes that create objects that behave like a function would. The library LicK provides an implementation of that idea: https://github.com/heuermh/lick/tree/master/lick/fn The approach is best explained with an example I think. // this is the Function class from LicK for functions that take one float argument. class FloatFunction { 0.0 => float default; fun float evaluate(float arg0) // evaluate is abstract method applying the function to an argument. { return default; } } // You extend it to make some function, for example, to make an addition Function object: class Adder extends FloatFunction { float value; fun void init(float arg) { arg => value; } fun float evaluate(float arg0) { // here we override the evaluate method from the base class. return value + arg0; } } // this is just a helper, to create a Adder object: fun Adder mkAdder(float arg) { Adder a; a.init(arg); return a; } // Now it is possible to implement map, where you can take a function object as an argument: fun float [] map (FloatFunction f, float lst[]) { float result[lst.cap()]; for (int i;i result[i]; } return result; } fun void printArray(float arr[]) { for (int i;i>>; } } // so now your transposing mapping would look something like this: [10.,11.,12.,13] @=> float test[]; map(mkAdder(10.0),test) => printArray; map(mkAdder(20.0),test) => printArray; A limitation that remains with this, since there is no curying etc.., you need a lot of classes, for each function type one. So creating and defining functions like this is not very lightweight (you almost always have to extend some class :-/). No surprise I guess: this is just programming a functional programming language using an object oriented one. My personal way of getting around that limitation was to build a translator in python that takes my own (scheme-like) syntax and parses it into chuck code* to automate all that boilerplate. But that is still quite a lot work! If you are really into doing functional stuff, it may also be worthwhile to consider use a ?proper" functional language (ocaml/haskell) and communicate with chuck through OSC? It depends a bit on what level you would like to use the functions (controlling parameters or audio processing itself). I probably would have done something like this now if I didn?t have a whole bunch of tools written in chuck already :-P. Hope this helps, Casper * https://github.com/casperschipper/ChucK-Tools & https://github.com/casperschipper/cisp There is some documentation in the cisp repo (sorry not very complete, this is kind of a personal toolbox). > On 25 Aug 2020, at 22:51, John Crane wrote: > > Hi all, > > Chuck newbie here. Is it possible to pass a function as an argument? I'd like to be able to transform things in a functional programming manner. As a trivial example, if I had an array of midi notes and wanted to raise them all one interval. > > fun int increment(int note) { > note + 1; > } > > // use map to apply a function to all elements of an array > map ( array_of_notes, increment); > > thanks in advance, > > John > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From heuermh at gmail.com Wed Aug 26 10:10:22 2020 From: heuermh at gmail.com (Michael Heuer) Date: Wed, 26 Aug 2020 09:10:22 -0500 Subject: [chuck-users] Passing functions as arguments In-Reply-To: References: Message-ID: <9FB81147-4D3F-4FAF-994D-668B668B94C3@gmail.com> Hello John, Casper For better or worse, LiCK was inspired by functional-ish language features in Java (the colt library and commons-functor specifically) well before JDK8 lambdas or other JVM languages such as Scala. The downside as Casper points out is lots of little classes. John's original example might look like IntArrayList notes; notes.size(10); notes.assign(42); <<>>; class Increment extends IntFunction { fun int evaluate(int arg) { return arg + 1; } } Increment increment; notes.transform(increment); <<>>; ... [chuck](VM): sporking incoming shred: 1 (increment.ck)... 42 :(int) 43 :(int) Hope this helps! michael > On Aug 26, 2020, at 6:22 AM, Casper Schipper wrote: > > Hello John, > > It is not really possible in normal Chuck syntax: functions are not values in Chuck and there is no function type. > > However, you can simulate functions as values, by creating classes that create objects that behave like a function would. > The library LicK provides an implementation of that idea: > https://github.com/heuermh/lick/tree/master/lick/fn > > The approach is best explained with an example I think. > > // this is the Function class from LicK for functions that take one float argument. > class FloatFunction > { > 0.0 => float default; > fun float evaluate(float arg0) // evaluate is abstract method applying the function to an argument. > { > return default; > } > } > > // You extend it to make some function, for example, to make an addition Function object: > class Adder extends FloatFunction > { > float value; > > fun void init(float arg) { > arg => value; > } > > fun float evaluate(float arg0) { // here we override the evaluate method from the base class. > return value + arg0; > } > } > > // this is just a helper, to create a Adder object: > fun Adder mkAdder(float arg) { > Adder a; > a.init(arg); > return a; > } > > // Now it is possible to implement map, where you can take a function object as an argument: > fun float [] map (FloatFunction f, float lst[]) { > float result[lst.cap()]; > for (int i;i f.evaluate(lst[i]) => result[i]; > } > return result; > } > > fun void printArray(float arr[]) { > for (int i;i <<>>; > } > } > > // so now your transposing mapping would look something like this: > [10.,11.,12.,13] @=> float test[]; > > map(mkAdder(10.0),test) => printArray; > map(mkAdder(20.0),test) => printArray; > > A limitation that remains with this, since there is no curying etc.., you need a lot of classes, for each function type one. So creating and defining functions like this is not very lightweight (you almost always have to extend some class :-/). No surprise I guess: this is just programming a functional programming language using an object oriented one. My personal way of getting around that limitation was to build a translator in python that takes my own (scheme-like) syntax and parses it into chuck code* to automate all that boilerplate. But that is still quite a lot work! If you are really into doing functional stuff, it may also be worthwhile to consider use a ?proper" functional language (ocaml/haskell) and communicate with chuck through OSC? It depends a bit on what level you would like to use the functions (controlling parameters or audio processing itself). I probably would have done something like this now if I didn?t have a whole bunch of tools written in chuck already :-P. > > Hope this helps, > Casper > > * https://github.com/casperschipper/ChucK-Tools & https://github.com/casperschipper/cisp > There is some documentation in the cisp repo (sorry not very complete, this is kind of a personal toolbox). > > > > > > >> On 25 Aug 2020, at 22:51, John Crane > wrote: >> >> Hi all, >> >> Chuck newbie here. Is it possible to pass a function as an argument? I'd like to be able to transform things in a functional programming manner. As a trivial example, if I had an array of midi notes and wanted to raise them all one interval. >> >> fun int increment(int note) { >> note + 1; >> } >> >> // use map to apply a function to all elements of an array >> map ( array_of_notes, increment); >> >> thanks in advance, >> >> John >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From micheal.ocathain at gmail.com Wed Aug 26 12:05:51 2020 From: micheal.ocathain at gmail.com (=?UTF-8?B?TcOtY2hlw6FsIMOTIENhdGjDoWlu?=) Date: Wed, 26 Aug 2020 17:05:51 +0100 Subject: [chuck-users] ofxChucK Message-ID: Hi there! I stumbled upon Ge's ofxChuck page earlier today. I would be very interested in exploring this addon. My installation of OpenFrameworks is on a Raspberry Pi 4 however. The README.md is written with the XCode IDE in mind. I'm using Vim on my RPi, via ssh, though pixel desktop environment is also installed. Are there any reasons ofxChucK would not work as an addon to OF on a RPi 4? If anyone has done this and/or written a tutorial I'm all ears. Otherwise I'll endevour to write one myself if I get it going! micheal -------------- next part -------------- An HTML attachment was scrubbed... URL: From lja at ccrma.stanford.edu Wed Aug 26 20:31:43 2020 From: lja at ccrma.stanford.edu (Jack Atherton) Date: Wed, 26 Aug 2020 17:31:43 -0700 Subject: [chuck-users] ofxChucK In-Reply-To: References: Message-ID: I think ofxChuck may not have been maintained since 2016? No guarantees anything will still work. Probably making your own C++ embedding and using chuck global variables will yield more success. ~Jack On Wed, Aug 26, 2020 at 9:06 AM M?che?l ? Cath?in < micheal.ocathain at gmail.com> wrote: > Hi there! > I stumbled upon Ge's ofxChuck page earlier today. > I would be very interested in exploring this addon. > My installation of OpenFrameworks is on a Raspberry Pi 4 however. > > The README.md is written with the XCode IDE in mind. > I'm using Vim on my RPi, via ssh, though pixel desktop environment is also > installed. > > Are there any reasons ofxChucK would not work as an addon to OF on a RPi 4? > If anyone has done this and/or written a tutorial I'm all ears. > Otherwise I'll endevour to write one myself if I get it going! > > > micheal > > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From micheal.ocathain at gmail.com Thu Aug 27 15:30:24 2020 From: micheal.ocathain at gmail.com (=?UTF-8?B?TcOtY2hlw6FsIMOTIENhdGjDoWlu?=) Date: Thu, 27 Aug 2020 20:30:24 +0100 Subject: [chuck-users] chuck-users Digest, Vol 180, Issue 16 In-Reply-To: References: Message-ID: Thanks Jack. I've had a quick scan of chuck global variables on the chunity tutorials and chuck-users list. Looking forward to embedding into a C++ app, and likewise for a JavaScript app. Thanks for the steer! On Thu, 27 Aug 2020 at 17:00, wrote: > Send chuck-users mailing list submissions to > chuck-users at 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-request at lists.cs.princeton.edu > > You can reach the person managing the list at > chuck-users-owner at 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. ofxChucK (M?che?l ? Cath?in) > 2. Re: ofxChucK (Jack Atherton) > > > > ---------- Forwarded message ---------- > From: "M?che?l ? Cath?in" > To: chuck-users at lists.cs.princeton.edu > Cc: > Bcc: > Date: Wed, 26 Aug 2020 17:05:51 +0100 > Subject: [chuck-users] ofxChucK > Hi there! > I stumbled upon Ge's ofxChuck page earlier today. > I would be very interested in exploring this addon. > My installation of OpenFrameworks is on a Raspberry Pi 4 however. > > The README.md is written with the XCode IDE in mind. > I'm using Vim on my RPi, via ssh, though pixel desktop environment is also > installed. > > Are there any reasons ofxChucK would not work as an addon to OF on a RPi 4? > If anyone has done this and/or written a tutorial I'm all ears. > Otherwise I'll endevour to write one myself if I get it going! > > > micheal > > > > > ---------- Forwarded message ---------- > From: Jack Atherton > To: ChucK Users Mailing List > Cc: > Bcc: > Date: Wed, 26 Aug 2020 17:31:43 -0700 > Subject: Re: [chuck-users] ofxChucK > I think ofxChuck may not have been maintained since 2016? No guarantees > anything will still work. Probably making your own C++ embedding and using > chuck global variables will yield more success. > > ~Jack > > On Wed, Aug 26, 2020 at 9:06 AM M?che?l ? Cath?in < > micheal.ocathain at gmail.com> wrote: > >> Hi there! >> I stumbled upon Ge's ofxChuck page earlier today. >> I would be very interested in exploring this addon. >> My installation of OpenFrameworks is on a Raspberry Pi 4 however. >> >> The README.md is written with the XCode IDE in mind. >> I'm using Vim on my RPi, via ssh, though pixel desktop environment is >> also installed. >> >> Are there any reasons ofxChucK would not work as an addon to OF on a RPi >> 4? >> If anyone has done this and/or written a tutorial I'm all ears. >> Otherwise I'll endevour to write one myself if I get it going! >> >> >> micheal >> >> _______________________________________________ >> chuck-users mailing list >> chuck-users at lists.cs.princeton.edu >> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users >> > _______________________________________________ > chuck-users mailing list > chuck-users at lists.cs.princeton.edu > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: