Converting two Jitter matrices into two Java arrays
Hi there,
I am struggling with some Max-Java basics...I am an absolute Java beginner
I would like to get two matrices into Java external and convert them into two arrays. Ideally the matrices should have different dimensions.
I know how to do that for one matrix but with two matrices I am stuck.
PS: what I need to do is to compare individual cells of two matrices
Thanks!
I am actually already stuck at just getting two matrices inside Java. For instance this is the code from Jitter tutorial 51:
import com.cycling74.max.*;
import com.cycling74.jitter.*;
public class j51matrixinfoexample extends MaxObject {
public void jit_matrix(String s)
{
JitterMatrix jm = new JitterMatrix(s);
outlet(0,"name", jm.getName());
}
}
How to modify this patch so I could input two matrices (one through inlet 1 and another through inlet 2) ?
try this (I haven't tested it but I think this is the way to do it):
[edit--made jm0 and jm1 global]import com.cycling74.max.*;
import com.cycling74.jitter.*;
JitterMatrix jm0;
JitterMatrix jm1;
public class jtwoMatrixs extends MaxObject
{
// just put another "DataTypes.ALL" argument in the declareInlets
// method for another inlet
public jtwoMatrixs(Atom[] args)
{
declareInlets(new int[]{DataTypes.ALL, DataTypes.ALL});
declareOutlets(new int[]{DataTypes.ALL});
}
public void jit_matrix(String s)
{
//check which inlet the matrix came in
int inlet_num = getInlet();
//if it came in the first, call it jm0
if (inlet_num==0)
{
jm0 = new JitterMatrix(s);
}
// jm1 for second inlet
if (inlet_num==1)
{
jm1 = new JitterMatrix(s);
}
}
public void bang() //bang to see if it works
{
outlet(0,"names", jm0.getName( ) +", "+jm1.getName( ));
}
}