Matrix Pack official thread
IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-
aaaaaaaaarf can't wait the bomb
aaaaaaaaarf can't wait the bomb
ha ha, didn't you know that Martin was a little sadistic.?
-
- Site Admin
- Posts: 611
- Location: Lyon, FRANCE
- Contact:
hehe, not false lol, but 23fx23 is a brave victimnay-seven wrote:ha ha, didn't you know that Martin was a little sadistic.?
in fact, i have some obvious bug to kill before go in beta test....IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-IWANNABETATESTMATRIXASAP-
aaaaaaaaarf can't wait the bomb
-> me return to code
Martin FLEURENT - Usine Developer - SDK maintainer
-
- Member
- Posts: 482
- Location: Australia
- Contact:
REALLY lookin forward to this....
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
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
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
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.
"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.
-
- Member
- Posts: 482
- Location: Australia
- Contact:
This looks great, but any hint on when this'll be released? I could do with some of this functionality...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
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
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.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.
Regards,
Mike
Sites:
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
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 + (Row x
on reverse as you thought, to convert index to col/row (index mod + (index Div .
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).
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 + (Row x
on reverse as you thought, to convert index to col/row (index mod + (index Div .
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.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 + (Row x
on reverse as you thought, to convert index to col/row (index mod + (index Div .
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).
Mike
Sites:
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
this shows ya the system of the setArray, can't test but should work directly if same way indexed
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 + ((index mod *8) for a 8x8 matrix.
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 + ((index mod *8) for a 8x8 matrix.
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..?
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?
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?
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:
Here is the result, so far:
Sites:
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
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
Mike
Sites:
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
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..
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..
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
Mike
Sites:
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
http://noisemakers.info/
http://max4live.info/
Some gear:
2 Lemurs, Livid ohm64 and Block, Monome 64, Launchpad, APC40
-
- Site Admin
- Posts: 611
- Location: Lyon, FRANCE
- Contact:
should come out with the 5.18 version of usine and SDK ...Clearscreen wrote:This looks great, but any hint on when this'll be released? I could do with some of this functionality...
Martin FLEURENT - Usine Developer - SDK maintainer
-
- Site Admin
- Posts: 611
- Location: Lyon, FRANCE
- Contact:
Matrix Pack 1.2[large][/large]
you'll find in the download section the new version off the matrix pack
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
you'll find in the download section the new version off the matrix pack
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
great job Martin!
This pack is an essential part of Usine.
This pack is an essential part of Usine.
Olivier Sens
www.brainmodular.com
www.brainmodular.com
yep !
amazing and addictive module !
amazing and addictive module !
-
- Member
- Posts: 482
- Location: Australia
- Contact:
WOO HOO!! Been looking forward to this!:D
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):
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
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
not sure to understand what you want but a 1 to 0 module between the mouse down outlet and the set value...?
Yes! that solved the problem!.
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?.
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?.
-
- Site Admin
- Posts: 611
- Location: Lyon, FRANCE
- Contact:
@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
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
Thank you martin
Usine seems like a set of microcontrollers to me.
Usine seems like a set of microcontrollers to me.