Forums > Java

wrapping bidimensional lists as a pointer for multi-dimensional arrays

July 19, 2011 | 11:30 am

hi everyone.. I am writing a small script for an mxj object to create universal ccs or something like that (if anyone has even created it, but I guess not)

so, here is the code I am working on.. I am pretty kinda noob with java in max, meaning that I only did a couple of simple programs.

so my first question is:

after receiving the list, how do I wrapp it into a multi-dimensional array as a pointer for the index?
it’s a noob question, but I really need your help

if someone wants to work on this collaboratively and share authory please, say something

greets
tiago morgado

//—————————-

/* cc input receives a list with two integers (cc number cc channel)

there is a bidimensional matrix of 127*16
this matrix stores all the values of the ccs

when a index is received it iterates between ((0-1)*127) stores the number in the index
and outputs a list to send for a midi format or ctlout with cc value cc number and cc channel

*/

import com.cycling74.max.*;

public class midionoff extends MaxObject {

private int[][] ccmidionoffout = new int[127][16]; // cc number, cc channel
private List storage = new ArrayList()
private int inletNUM = 1;
private int outletNUM = 1;
//———————-
public midionoff() {
declareInlets(new int[]{DataTypes.INT,DataTypes.INT});
declareOutlets(new int[]{DataTypes.INT,DataTypes.INT});
int inletCOUNT[]=new int[inletNUM];
for(int i=0;i
declareInlets(inletCOUNT); //declara de novo "k" outlets
int outletCOUNT[]=new int[outletsNUM];
for(int i=0;i
declareOutlets(outletCOUNT);
}
public onoff() {
inputstatus();
setmessage();
outmessage();
}
public inputstatus(){
if(getInlet() == 0){;}

}
public setmessage() {}
public outmessage(){}
}


July 21, 2011 | 2:37 pm

Check out the Collections tutorial in the Java docs; it will make your life so much easier.

You could implement this using the Map interface. Something along the lines of:
Map> map = new TreeMap>();

(TreeMap will maintain a sorted hash by key)

First level of map is for the channel, second is for the CC and value. Stay away from matrices in Java if at all possible; the Collections are much, much easier to work with and decently optimized.


Viewing 2 posts - 1 through 2 (of 2 total)