KBHit kb; // time-loop while( true ) { // wait on kbhit event kb => now; // potentially more than 1 key at a time while( kb.more() ) { // print key value machineadd(kb.getchar()); } }"
Hello Forrest,The import.ck script is a workaround for this issueI believe many other ChucK projects use something similar. If you don't want to see plugin related warnings, you can just comment out from around line 387 down, and of course anything else you don't need.michaelOn Mon, Oct 12, 2015 at 10:34 PM, Forrest Curo <treegestalt@gmail.com> wrote:Shreds that just declare classes so that other shreds can instantiate & use them... It makes my mind blur, but so it goes!On Mon, Oct 12, 2015 at 3:54 PM, Forrest Curo <treegestalt@gmail.com> wrote:I'm gathering that I can just put 'machine.add(<any of these classes in the directory that I want to use>)' and
that should work(?)On Mon, Oct 12, 2015 at 2:54 PM, Forrest Curo <treegestalt@gmail.com> wrote:Okay, I did find the github zip for tap-plugins -- but the later plugins are struggling; and I wasn't thinking of using them... so I'll assume that I'm okay if I don't, for now.On Mon, Oct 12, 2015 at 1:32 PM, Michael Heuer <heuermh@gmail.com> wrote:Forrest Curo <treegestalt@gmail.com> wrote:so running the text input through a maze of logic by ascii values seems too cumbersome.and I want to be able to modify the arrangement meanwhile so I don't trap myself into a bad design..."Something more elaborate than branching on the value of a specific variable?"To use a text keyboard to trigger real-time changes in key, mode ('major', 'minor', etc), record-&-repeat-&-vary (by scale degrees in whichever the current key & mode are), accelerate or slow playback, change target instrument for playback-and/or-midi-keyboard, dump or keep current loop, etc:
with some 36+ keys available for whatever organization of this works --
I know, I could search-&-replace, but finding a key value in a listand changing the associated functionjust seems a whole lot less ugly!
-------------------------Um, I'm now trying to install 'tap-plugins' as a prerequisite for installing 'lick' -- and the instructions for that are telling me, ~'just cd into folder and run 'make' -- but make can't find anything _to_ make! Do I really need those plugins to install & use lick?$ chuck + import.ck
...
[TapeDelay.ck]:line(26): cannot extend incomplete type 'Swh'
[TapeDelay.ck]:line(26): ...(note: the parent's declaration must preceed child's)
[RubberBand.ck]:line(26): cannot extend incomplete type 'Ladspa'
[RubberBand.ck]:line(26): ...(note: the parent's declaration must preceed child's)
"LiCK imported." : (string)but everything else will work fine. And installing all of those plugins is a real mess, especially on OSX. I should probably cut a docker image at some point.michael
On Mon, Oct 12, 2015 at 11:41 AM, Spencer Salazar <spencer@ccrma.stanford.edu> wrote:Doing functional stuff in ChucK can be pretty fun (and verbose), but for specifically switch-case structures, mostly these can be implemented e.g. asif(var == 0) // case 0:{ }else if(var == 1) // case 1:{ }else // default:{ }You can't do fall-throughs or nutty things like Duff's device, but (making up a number) maybe 90% of switch-case uses I see are basically a slightly better-looking if-else. Are you doing something more elaborate than branching on the value of a specific variable?spencer--On Mon, Oct 12, 2015 at 2:22 PM, Forrest Curo <treegestalt@gmail.com> wrote:It looks far prettier than a mess of logical spaghetti!But is this documented with examples for the help & understanding of object-challenged geezers from the days of punch-card boxes converted twice/day to error-message listings?On Mon, Oct 12, 2015 at 10:37 AM, Michael Heuer <heuermh@gmail.com> wrote:_______________________________________________Forrest Curo <treegestalt@gmail.com> wroteAn array of functions, either numbered or associative? How to declare and call such an array?Since switches have so far not been included, is there a way around this?An array of Events?ChucK doesn't have function pointers or similar, so I've resorted to functors
https://github.com/heuermh/lick/blob/master/lick/fnE.g.class DoSomething extends Procedure {fun void run() { ... }}class DoSomethingElse extends Procedure {fun void run() { ... }}DoSomething doSomething;DoSomethingElse doSomethingElse;ArrayList procedures;
procedures.add(doSomething);procedures.add(doSomethingElse);while (true) {procedures.sample() $ Procedure @=> Procedure procedure;procedure.run();1::second => now;}Yeah, it ain't pretty.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
Spencer SalazarDoctoral CandidateCenter for Computer Research in Music and AcousticsStanford University
_______________________________________________
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 mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users