rebecca@26: import oscP5.*; rebecca@26: import netP5.*; rebecca@26: import maxlink.*; rebecca@26: rebecca@26: OscP5 oscP5return; andrew@49: NetAddress ableton = new NetAddress("localhost", 12345); // OSC to ableton rebecca@26: MaxLink link = new MaxLink(this, "midiCom"); rebecca@26: import processing.opengl.*; rebecca@26: int imageWidth = 1000; rebecca@26: int imageHeight = 300; rebecca@26: int fanWidth = 400; rebecca@26: rebecca@26: float rpulse; rebecca@26: boolean rpulseup; rebecca@26: boolean clickTrack; rebecca@26: int currentPulse = 0; rebecca@26: int grid = 32; rebecca@26: int fractions = 4; rebecca@26: int pulseFrequency = grid / fractions; rebecca@26: int beatsPerBar = 4; rebecca@26: int bar = 0, beat = 0, fraction = 0, pulse = 0; rebecca@26: int pulsesPerBar = beatsPerBar * grid; rebecca@26: rebecca@26: color lineColour = color(150,150,150); rebecca@26: color barLineColour = color(255,255,95); rebecca@26: color backGround = color(50,81,191); rebecca@26: int redC = 50; rebecca@26: int greenC = 81; rebecca@26: int blueC = 191; rebecca@26: PImage screenImage; rebecca@26: PGraphics img, imgNotes, imgNoteFan; rebecca@26: PImage test; rebecca@26: rebecca@26: int barOfPixels = grid * beatsPerBar; rebecca@26: int playArea = 200; rebecca@26: int x= 0; rebecca@26: int x2= 0; rebecca@26: PFont arial; rebecca@26: int arraySize = 800-playArea; rebecca@26: int bpm = 130; rebecca@26: int tempo = bpm/60*grid; rebecca@26: int noOfBars = 2; rebecca@26: int loopLength = grid*beatsPerBar*noOfBars; rebecca@26: Track[] tracks = new Track[16]; rebecca@26: Track chordsTemp; rebecca@26: int trSelected; rebecca@26: boolean[] noteOnArray = new boolean[16]; rebecca@26: boolean[] displayNoteOnArray = new boolean[16]; rebecca@26: int[] noteOnArrayLength = new int[16]; rebecca@26: boolean chordSelecter, clickTrackOn; rebecca@26: int lastTrack; rebecca@26: int trackStorer, screenAni; rebecca@26: boolean quantizeValueIn, loopLengthValueIn, haveQuestion, aniOut, muteValueIn; rebecca@26: String screenQuestion; rebecca@26: boolean eraseOn; rebecca@26: rebecca@26: int crneeded = 24; rebecca@26: int noOfChords; rebecca@26: boolean tonicNeeded; rebecca@26: boolean chordAI = true; rebecca@26: int lastChordChange; rebecca@26: boolean lastMinor; rebecca@26: int barCounter; rebecca@26: