Welcome to %s forums

BrainModular Users Forum

Login Register

Matrix Pack official thread

Let's talk about free additional packs
Post Reply
23fx23
Member
Posts: 2533

Post by 23fx23 » 14 Jun 2010, 00:03

IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-

aaaaaaaaarf can't wait the bomb :cool:

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

Post by nay-seven » 14 Jun 2010, 08:19

ha ha, didn't you know that Martin was a little sadistic.?
:D

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

Post by martignasse » 14 Jun 2010, 17:16

nay-seven wrote:ha ha, didn't you know that Martin was a little sadistic.?
:D
hehe, not false lol, but 23fx23 is a brave victim :P
IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-

aaaaaaaaarf can't wait the bomb
in fact, i have some obvious bug to kill before go in beta test....

-> me return to code ;)
Martin FLEURENT - Usine Developer - SDK maintainer

23fx23
Member
Posts: 2533

Post by 23fx23 » 14 Jun 2010, 17:21

AAhhhh glad to see ya on it man, good luck!!!

Clearscreen
Member
Posts: 482
Location: Australia
Contact:

Post by Clearscreen » 15 Jun 2010, 07:05

REALLY lookin forward to this.... :o

mchenetz
New member
Posts: 6
Location: Philly
Contact:

Post by mchenetz » 08 Jul 2010, 00:19

Hi all,

It is a little adjustment right now because i am quite new to this platform and do not know all of the objects yet... I think i an overthingking everything. Anyhow, Here is what i want to do... I have a 64 pad controller that i want to map to the matrix. Right now, i just want to see the lights of the matrix, light up. So far, I have the midi in working and i have a, "Mod 8" and, "div 8" to get the rows and columns from my midi value. The question is, what does cell in of the matrix expect? Somehow, and i am thinking in how i would accomplish this in Max, I have to get the column, row and value into the cell in. I am playing around with arrays, but i am not sure if that is what i should do yet. Any help would be greatly appreciated.

Regards,
Mike
Sites:
http://noisemakers.info/
http://max4live.info/

Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40

23fx23
Member
Posts: 2533

Post by 23fx23 » 08 Jul 2010, 01:28

Hi mike

"cell in" is an Array input, group of values one after the other that correspond to the values going from 0 to 1 of each cellz,starting from top left to bottom rigth, that are reflected by lighting up, so if i well understood in your case you can bypass the mod and div thing and direct set one element of the array (cell vallue) from a CC. ie CC00 wil set cell 00 , CC63 will set cell 63.
to use this you will can use the "set Array Element Value" that pick matrix ArrayOut, and refedback to Matrix In.

On the module you see index, (=Cell number, = CC number), Value (On 1, off 0, so Midii/127) and , set Value wich will apply change to the array you will probably want to occur each time you received midi Changes for example led of midi module.

Clearscreen
Member
Posts: 482
Location: Australia
Contact:

Post by Clearscreen » 08 Jul 2010, 03:48

martignasse wrote:hello all,

i know i'm late, but i didn't forgot to work on the matrix...

so a little teaser to show you how things are coming along
you can see some HSL colors array and captions array populating the matrix :cool:

http://www.sensomusic.com/forums/upload ... ptions.jpg

-basic colors and captions implementation are done, i have to polish that and make some heavy test.
-multi touch part isn't done yet


hope you like it
This looks great, but any hint on when this'll be released? I could do with some of this functionality...

mchenetz
New member
Posts: 6
Location: Philly
Contact:

Post by mchenetz » 08 Jul 2010, 16:25

23fx23 wrote:Hi mike

"cell in" is an Array input, group of values one after the other that correspond to the values going from 0 to 1 of each cellz,starting from top left to bottom rigth, that are reflected by lighting up, so if i well understood in your case you can bypass the mod and div thing and direct set one element of the array (cell vallue) from a CC. ie CC00 wil set cell 00 , CC63 will set cell 63.
to use this you will can use the "set Array Element Value" that pick matrix ArrayOut, and refedback to Matrix In.

On the module you see index, (=Cell number, = CC number), Value (On 1, off 0, so Midii/127) and , set Value wich will apply change to the array you will probably want to occur each time you received midi Changes for example led of midi module.
Thanks for the quick reply... I was trying to take the easy way out. :-) Here is my scenario... I have a Livid Block and Ohm64 that I thought would be perfect tot use with the Matrix set... Typically in Max (Sorry to bring up Max so much. Just what I am accustomed to), I can convert the midi notes (0-63) to a col, row pair, so that is what the mod and div did. This way i can send a 0 0 1 for column 0, row 0 and 1 for note on as a value. This allows me to not have to connect each button to a matrix in. I was looking for the matrix to interpret the row, col value and then set the corresponding cell. So, i guess I just need to map each button in the 64 button grid. No biggy... If there is a better way then please tell me. Thanks again for your help.

Regards,

Mike
Sites:
http://noisemakers.info/
http://max4live.info/

Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40

23fx23
Member
Posts: 2533

Post by 23fx23 » 08 Jul 2010, 17:08

Yes, but instead of dealing with col/row you can direct set the Index relating to CC nb in, no need col/row conversion,
the CC 00 to 63 direct conrol matrix cells (assuming your 64 cc are indexed same way, from top left to botom right).

If on input you want to have cols/row, the real index to set on matrix will just be (Col Mod 8) + (Row x 8)
on reverse as you thought, to convert index to col/row (index mod 8) + (index Div 8).
so you can build really simple subpatch convertor.

it depends the way you deal, but for me easier access would be (16cellz example): on your livid:

cc00 cc01 cc02 cc03
cc04 cc05 cc06 cc07
cc08 cc09 cc10 cc11
cc12 cc13 cc14 cc15

that way if you press cell Cc09, the setArray will set matrix cell index 9, wich is visually corresponding, without bothering
cols and row. You don't have to connect each button to matrix in, just use the setArray Element Value (/Array). Ill
make ya a pic when getting back home.

if you want to keep cols row way of thinking, can make a subpatch that converts the indexIn(cc) to row/col , then
reconvert col/row to absolute index for matrix, but i don't see the point (exept if your livid is indexed matrix inversed).

mchenetz
New member
Posts: 6
Location: Philly
Contact:

Post by mchenetz » 08 Jul 2010, 17:45

23fx23 wrote:Yes, but instead of dealing with col/row you can direct set the Index relating to CC nb in, no need col/row conversion,
the CC 00 to 63 direct conrol matrix cells (assuming your 64 cc are indexed same way, from top left to botom right).

If on input you want to have cols/row, the real index to set on matrix will just be (Col Mod 8) + (Row x 8)
on reverse as you thought, to convert index to col/row (index mod 8) + (index Div 8).
so you can build really simple subpatch convertor.

it depends the way you deal, but for me easier access would be (16cellz example): on your livid:

cc00 cc01 cc02 cc03
cc04 cc05 cc06 cc07
cc08 cc09 cc10 cc11
cc12 cc13 cc14 cc15

that way if you press cell Cc09, the setArray will set matrix cell index 9, wich is visually corresponding, without bothering
cols and row. You don't have to connect each button to matrix in, just use the setArray Element Value (/Array). Ill
make ya a pic when getting back home.

if you want to keep cols row way of thinking, can make a subpatch that converts the indexIn(cc) to row/col , then
reconvert col/row to absolute index for matrix, but i don't see the point (exept if your livid is indexed matrix inversed).
Thanks again... I will try it out when i get back home tonight. I really appreciate your help. I do think that the matrix is inversed in it's default layout. I will have to check.

Mike
Sites:
http://noisemakers.info/
http://max4live.info/

Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40

23fx23
Member
Posts: 2533

Post by 23fx23 » 08 Jul 2010, 22:03

this shows ya the system of the setArray, can't test but should work directly if same way indexed
Image

howerver if reverse indexed, a bit of math is needed to convert the index, by inserting this between CC and set index:

swaped index = (index div 8) + ((index mod 8)*8) for a 8x8 matrix.
Image

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

Post by nay-seven » 08 Jul 2010, 22:21

don't know if it's the same problem but for the addon sequenaya I've use a swap array module to inverse the matrix..?

23fx23
Member
Posts: 2533

Post by 23fx23 » 08 Jul 2010, 22:45

you're right nay, but I used wrong word by using "swap"
not exactly the same, swap array reverse orders of the cells, without bothering cols and rows, 0 become 63, 63 become 0,
1 become 62 ect, wich cannot work in that case, wich would more be called "swapping cols/rows way of indexing"

funny thought i was calling that "rotating 90" in my patches, if fact its rotating+flip vertical,
swap array would be "fliping horizontal + fliping Vertical", so made me think a little generic patch/script for all
scenarios like we would do on images could be a nice util, especially with upcoming colors Arrays, it
could be easy for user to visualize (ok, i need to rotate bacward and flip) than pathing the maths each time...
Il see i f can give a shot, martin will propably already have inclueded some indexes manipulation tools in next release?

mchenetz
New member
Posts: 6
Location: Philly
Contact:

Post by mchenetz » 09 Jul 2010, 01:20

Thanks for the help. It was exactly what i needed. All of the objects are really well done and I tend to overthink them. I am really digging Usine. I am going to do a writeup and walkthrough soon for noisemakers.info. I now just have to add some logic to do something with the Block control. Hmmmm lots to think about. Probably start out with a glitchy type sequencer to replace my MLR type patch in M4L... Next after that is to integrate my multitouch AIO-PC. I think that Usine has HUGH potential.

Here is the result, so far:

Image
Sites:
http://noisemakers.info/
http://max4live.info/

Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40

mchenetz
New member
Posts: 6
Location: Philly
Contact:

Post by mchenetz » 09 Jul 2010, 01:22

oh yeah, I almost forgot... I did have to use the second patch illustrated to invert the matrix for the Block/Ohm64. Thanks fot that...

Mike
Sites:
http://noisemakers.info/
http://max4live.info/

Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40

23fx23
Member
Posts: 2533

Post by 23fx23 » 09 Jul 2010, 01:54

cool glad it work ok for ya. yes you ll see usine is awesome!

note two advices:

if wanna make a midi Thru, like your picture seems, you can bypass the create midi message, and diect connect
midi of in to out, but maybe you wanted to try some things.

Also when creating matrix, it ask you for a nb of fader, this create some inputs, and have the advantage of leting
you see the values, but if you don't use individual inputs but array like here, you can make a "no fader" one, it can still
have 64 cellz you control with the array, use probably tiny less cpu/memory, and space on screen :)

yup there are tons of stuff to play with with matrix, sequencers,mlr, clip triggers, multifx, audio matrix...

Im actually on kind of Rex/Mlr patch that let me slice a loop using markers and replay the sequence at any tempo,
then with arrays i random slice order, make rolls, reverse, pitch ect. very cool instant loops variations i spent hours making in
midi, then a matrix trig some paterns or slice live, ofset in the loop, change time ect. quite happy of it, have to finish it..
It gives me much better results than ableton type 1/16 offsets, or any king of Vst that usually slice on 16th, cause here
it really trig the sices related to maker, meaning with their transient and lenght.

some times i just press auto random and after a while the ghost crasy drummer can ouput me some very similar to the
Afx, squarepusher or amontobin kind of hard breaked drums very coherent loops, so i rec and selecta, cheating easy,
for dnb breaking stuff, no more pgming ;) arf need time to finish that one..

mchenetz
New member
Posts: 6
Location: Philly
Contact:

Post by mchenetz » 09 Jul 2010, 03:08

Thanks for the advise... I really need to get accustomed to all of the devices and their parameters... It's a matter of finding an object that I picture in my head in the module library. Again, thanks for your help. I will contribute anything I make back to the community.

Mike
Sites:
http://noisemakers.info/
http://max4live.info/

Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40

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

Post by martignasse » 09 Jul 2010, 14:23

Clearscreen wrote:This looks great, but any hint on when this'll be released? I could do with some of this functionality...
should come out with the 5.18 version of usine and SDK ...
Martin FLEURENT - Usine Developer - SDK maintainer

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

Post by martignasse » 13 Aug 2010, 19:48

Matrix Pack 1.2[large][/large]
you'll find in the download section the new version off the matrix pack :)

Image

lots of new features and more examples and utils patchs

improvements :
- added inlets/outlets compatibility for patch with old version.
- added 'cells rounded' and 'cells round size' in edit layout.
- added 'cells col' array and 'cells caption' array inlets.
- added 'matrix size' and 'last clicked cell' outlets.
- added three HSL offset sliders for cells OFF colors in edit layout panel.
- added 'edit' mode in 'mouse mode'.

comments :
This version works only with Usine v5.25 and above. so for now, use it with the 5.25 beta.
the wiki page is updated for this new version.

enjoy
Martin FLEURENT - Usine Developer - SDK maintainer

23fx23
Member
Posts: 2533

Post by 23fx23 » 13 Aug 2010, 19:55

yeeeeeeeeeeeeeeaaaaaaaaaaaaaaaa

User avatar
senso
Site Admin
Posts: 4371
Location: France
Contact:

Post by senso » 13 Aug 2010, 20:07

great job Martin!
This pack is an essential part of Usine.

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

Post by nay-seven » 13 Aug 2010, 20:15

yep !
amazing and addictive module !

Clearscreen
Member
Posts: 482
Location: Australia
Contact:

Post by Clearscreen » 14 Aug 2010, 01:43

WOO HOO!! Been looking forward to this!:D

Floego
Member
Posts: 319
Location: Venezuela

Post by Floego » 14 Aug 2010, 13:43

When building a patch using the matrix, I found it difficult to find a solution on this simple patch ( I know it looks like a trivial logic problem, sorry if that is the case):

Image

The problem is that I can't get to avoid somekind of feedback/loop problem when trying to update the values of the matrix. The solution would be very simple but I just can't reach that.:/

in case anyone are interested, here is the (very very simple) patch:

http://sensomusic.com/forums/uploads.ph ... roblem.pat

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

Post by nay-seven » 14 Aug 2010, 14:04

not sure to understand what you want but a 1 to 0 module between the mouse down outlet and the set value...?

Floego
Member
Posts: 319
Location: Venezuela

Post by Floego » 14 Aug 2010, 14:20

Yes! that solved the problem!. :D

That patch is a little part of a greater one (a pianoroll) but I isolated this problem and failed to find the solution you did. I'm testing how much responsive matrix is when using the edit mode instead of the draw or toggle mode (that's the reason for the oscilloscope into the patch). But it could be useful to create a mine sweeper game using usine , isn't it?.:P

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

Post by martignasse » 15 Aug 2010, 18:57

@Floego : cool you solved your problem

more generally in usine, it's important to 'break' infinite update loop like in your patch. you should decide precisely when the update take place (what action or state cause the update) and put some glue modules (pass, pass if changed, 0 to 1...) to limit to only this case.

about 'edit' and 'lock' modes differences, they both ignore mouse interactions with cells, but 'edit' update the 'last click XXX' and 'lock' don't.

'edit' mode is ideal to process cells stats (values, colors, captions...) externally.


hope it help
Martin FLEURENT - Usine Developer - SDK maintainer

Floego
Member
Posts: 319
Location: Venezuela

Post by Floego » 15 Aug 2010, 22:34

Thank you martin :)
Usine seems like a set of microcontrollers to me.

23fx23
Member
Posts: 2533

Post by 23fx23 » 14 Sep 2010, 08:42

i noticed a light but i can't find how trigged:

got patchs with a matrix of 1x4 that returns arrays of 16?

Post Reply