Awake

20 chars of OMG gimme gimme.

1 Like

Ok, I’ll bundle it up and share it later this week.

3 Likes

I added trigger probability to awake this morning. Is that something other people could see themselves using? Should I make a PR?

19 Likes

yes
i would like to see it

thanks dude

1 Like

sounds good! curious to see the interface.

1 Like

interface is just a param at the moment.

edit: i ended up adding to the step page. alt + enc2 sets probability.

4 Likes

This would be fantastic! Thanks Mat!

1 Like

It is done :sweat_smile:

5 Likes

Ok, the Karplus-Rings version of awake can be found here:

Zip https://github.com/GoneCaving/awake/archive/KarplusRings.zip
Github: https://github.com/GoneCaving/awake (in a branch called KarplusRings).

9 Likes

After installing the Karplus Awake its giving me duplicate engine error. I tried deleting the awake script and polyperc engine from the Karplus Awake folder but im still getting the issue. Am I on the right track here?

Do I need to remove the Karplusrings engine from the folder as well?

It also exists under “we”. I made some changes to the naming of the synthdef which seemed to fix some issues I was having. I suggest you delete the copy under “we” unless you have something using it.

so, a weird and unfortunate fact about the supercollider class inclusion system (as presnetly configured) is that all .sc files in ~/dust/code are “visible” at the same time. and of course multiple copies cannot be tolerated by supercollider.

so yes, if Foo.sc [*] exists in ~/dust/code/we then it must not exist anywhere else in ~/dust/code and vice versa.

so unfortunately the user/maintainer of the system must manage script->engine dependencies at the moment. script writers that use existing engines should probably not include local copies of them, but instead clearly indicate that their script requires the installation of another project. this isn’t ideal and it will certainly change at some not-to-distant point.

([*] technically, any file defining class Foo, but this is the convention)

Got it ok thanks. I just threw the new KR awake into the original awake folder.

Now another question maybe for @Justmat.

If I wanted to add the probability to @GoneCaving Kr-awake what lines would I need to copy into his script?

Done. Changes pushed to the branch. Untested, so let me know if you encounter issues!

1 Like

I did run into some weird issues trying to get this working, unrelated to the duplicate engine. Hence the minor changes to make sure I have consistent naming of the engine and synthdef. I’m not sure if that was strictly necessary but it didn’t seem to work without it.

Lost an hour on floor playing the jf/crow implementation. So beautiful

8 Likes

I’ve been trying to modify awake to respond to crow input signals, but can’t get the “change” callback function get called at all.

I tried pasting this at the top of init and got nothing when sending a trigger to input 1:

crow.input[1].mode("change",0.5,0.1,"rising")
crow.input[1].change = function() print('here') end

My crow/norns connection seems to otherwise be working (awake -> JF works, and the 2-input.lua file from crow-studies is responding to inputs just fine…)

Am I doing something dumb or…?

not dumb, this is becoming an oddly regular occurrence. hmm. can you execute crow.clear() in Maiden and see if it cleans things up?

yup that did it. Thanks @dan_derks!

So I modded awake to add this. It’s a pretty simple change. I’m happy to open a PR if @tehn is into it.

What’s a little weird is the current morph code will only change a note if it is greater than 0 (not muted), but then it will set it to a random value 0-8, so if you repeatedly morph, eventually all notes will be 0 and you end up with no sequence.

Of course this is true whether or not you trigger morph with crow, I just happened to notice it after triggering morph with a really fast clock.

Maybe morph should clamp the minimum random value to 1 instead?

5 Likes