Welcome to %s forums

BrainModular Users Forum

Login Register

new roll array user module

I need help on a Patch
Post Reply
soundmind
Member
Posts: 236
Contact:

Unread post by soundmind » 17 Feb 2010, 23:38

greetings all,
After using v5 (which is awesome by the way) I noticed that the "roll array" user module is missing the shift left and right buttons which were essential in a project of mine. is there anyway to recreate their behavior in a patch? basically the buttons loop the roll fader so that it keeps rolling in a loop no matter how many times you press the shift button. I tried copying the old roll array module to the new version but usine started coughing and spiting out errors. maybe some patch gurus can help me here. thanks for the help.

martignasse
Site Admin
Posts: 611
Location: Lyon, FRANCE
Contact:

Unread post by martignasse » 18 Feb 2010, 01:20

hi soundmind,

yep, the RollArr module is different in the v5, We changed it to have the same behavior than the ShiftArr module.

of course, it's totally possible to recreate the left and right functionalities by patch :)

Image

The fader (or whatever you want) indicate how many you want to roll, and pass module break the infinite loop, preventing the array to roll to hell.
Martin FLEURENT - Usine Developer - SDK maintainer

soundmind
Member
Posts: 236
Contact:

Unread post by soundmind » 18 Feb 2010, 03:02

Thanks for the response. I appreciate your help. However i'm not sure if this solves it completely. I should have supplied more info. Basically, I have one array to "draw" the values into several other arrays so the array does not need to be fed back into the draw array. The roll happens after the draw array and then is fed into the several other arrays after the roll. Also the pass module prevents these values from being updated in the other arrays unless i press the button? It is important for the other arrays to update as the values in the first one are drawn in. Let me know if i should supply an image. I hope this helps. Thanks again for taking the time.

See post below for image.

soundmind
Member
Posts: 236
Contact:

Unread post by soundmind » 18 Feb 2010, 04:07

Here is what I am trying to achieve.
Image
thanks again.

martignasse
Site Admin
Posts: 611
Location: Lyon, FRANCE
Contact:

Unread post by martignasse » 18 Feb 2010, 10:51

oups, i completely misunderstood was you try to do...:|

To be more precise about what changed :
- Now, the module feed the output every time one of the inputs change ('in' or 'roll').
- The output is the result of the input array, rolled by the value of the roll input (in slice number).

So, two important things have to be considered :
- When the output should be updated ?
- By how many slices it should be rolled ?

This determines how you feed inputs.

So...
It is important for the other arrays to update as the values in the first one are drawn in...
it's in contradiction with the picture you posted. Do you want to update synchro on the tempo, or right after any draws in the source array ?

your roll value have to change or not ?

If your roll value is constant :
- Just put a value in the parameter field of the module and control the 'when' with the 'array in' input.
- If you want update right after draws, just direct connect the array to the RollArr module and that's it.
- If you want update synchro to tempo, connect the array through a pass module mastered by the clock beat module (or whatever)

If your roll value is varying, you have to be careful about when you change the value, has it will fire an output array update.

Do you see the whole logic behind this ;)
Usine is event based, and it's by mastering the event flow that we decide what happen :)

Hope it help
Martin FLEURENT - Usine Developer - SDK maintainer

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 18 Feb 2010, 11:21

Image

i know it seems not clean, but
after several researchs that's the only solution i found to be a able to draw and update, keeping a roll control.
note here it's an old example , when needed to have the feed back on main "draw roll", but if you put your arrays after the output of 2nd roll module it should work...

I got a patch here working nicely with < and > button, shifting of Array lengh/2, 1/4, ect, i could isolate that part and post it to you if you want...

User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 18 Feb 2010, 11:29

yes 23fx !
except that 's not the same Roll_array module in the 5.01.....

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 18 Feb 2010, 11:31

yes you're right nay sorry, but it will basically be the same, the fader will be in step exept of percentage, will update the pic of my new version.

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 18 Feb 2010, 11:44

Image

little more complex but same idea.
this is the setup you describe, any array in is rolled on array out (you have to ffedback to the in of draw array like previous pic, and the out of the draw array to the in of your others array). the combo box contains the text: 1,2,4,8,16 ect, so that you can choose to shift/roll of 1/2, 1/4 ect and direction with each button, when reaching limit it automatically reset to 0 for endless shifing via the Amod B module.
this way even if you roll and/or redraw on first, all should correctly update,

this is cool to not bother when should "update" or not, otherwise it would be more clean/cpu efficient with martignasse suggestion of finding the right pass pulse, using only one roll module.

still ..hope it helps..

User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 18 Feb 2010, 11:51

impressive !!
;-)

soundmind
Member
Posts: 236
Contact:

Unread post by soundmind » 18 Feb 2010, 14:13

wow! thanks for the replies. You all make this forum a great experience. Basically, the clock beat module "animates" the roll. with the new rollarr module there is no way to step or "animate" the roll in equal increments. The clock beat acts as a sort of "frames per second" as in video. the faster the clock the smoother the animation. Yes the roll amount value has to be a constant. I believe the old rollarr rolled in pecentages too but I also like the way the new one behaves. I have sort of emulated the animation behavior in the new one using a curve with points module connected to the roll input with some promising results. but I hope to recreate the clock beat method. to understand completely what i mean in usine 4 create the patch i posted above. as you will see the second array is rolled in frames based on the clock beat module. I will experiment with your advice here too. 23fx23, you are a patching magician. usine is very flexible when it comes to mad patching! I will experiment with your method. martin, the draw and the update happen independently in the old module. the draw is updated in the other arrays even if the clock beat is off. but the roll animation only happens when it is on. Thanks again for all the effort here. You all rock!

martignasse
Site Admin
Posts: 611
Location: Lyon, FRANCE
Contact:

Unread post by martignasse » 18 Feb 2010, 17:44

soundmind wrote:I have sort of emulated the animation behavior in the new one using a curve with points module connected to the roll input with some promising results. but I hope to recreate the clock beat method.
This should do the trick ?
Image
The drawing in the source is updated in sync with the clock, and the counter build the roll value (in sync too)

if you want to keep drawing in real time, just delete the pass module
Martin FLEURENT - Usine Developer - SDK maintainer

soundmind
Member
Posts: 236
Contact:

Unread post by soundmind » 18 Feb 2010, 19:36

Absolutely brilliant martin! This solves it perfectly. Actually this is even better than what I had originally. Much more control with your method. Thank you very much for the help. And by the way the new usine is lightning fast. Great work on this one sensomusic! Long live usine!

Post Reply

Who is online

Users browsing this forum: No registered users and 22 guests