Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import processing.serial.*;
- import themidibus.*; //Import the library
- MidiBus myBus; // The MidiBus
- Serial myPort; // The serial port
- int xPos = 1; // horizontal position of the graph
- float inByte = 0;
- void setup () {
- MidiBus.list();
- // set the window size:
- size(900, 400);
- // List all the available serial ports
- // if using Processing 2.1 or later, use Serial.printArray()
- println(Serial.list());
- myBus = new MidiBus(this, 1, 3); // Create a new MidiBus with no input device and the default Java Sound Synthesizer as the output device.
- // I know that the first port in the serial list on my mac
- // is always my Arduino, so I open Serial.list()[0].
- // Open whatever port is the one you're using.
- myPort = new Serial(this, Serial.list()[1], 115200);
- // don't generate a serialEvent() unless you get a newline character:
- myPort.bufferUntil('\n');
- // set inital background:
- background(0);
- }
- void draw () {
- // draw the line:
- stroke(127, 34, 255);
- line(xPos, height, xPos, height - inByte);
- // at the edge of the screen, go back to the beginning:
- if (xPos >= width) {
- xPos = 0;
- background(255,255,255);
- } else {
- // increment the horizontal position:
- xPos++;
- }
- }
- void serialEvent (Serial myPort) {
- // get the ASCII string:
- String inString = myPort.readStringUntil('\n');
- if (inString != null) {
- // trim off any whitespace:
- inString = trim(inString);
- // convert to an int and map to the screen height:
- inByte = int(inString);
- println(inByte);
- int a = 56;
- inByte = map(inByte, 0, 1023, 0, 127);
- int test = int(inByte);
- if(inByte > 2){
- myBus.sendNoteOn(1, 38, test); // Send a Midi noteOn
- delay(1);
- inByte--;
- myBus.sendNoteOff(1, 38, test); // Send a Midi nodeOff
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement