promidi midi input
in
Contributed Library Questions
•
1 year ago
Hi
I'm trying to get a midi input from a midi controller (APC20) in processing. Some parts of this midi should be passed through, the other part should be converted to OSC.
Now the problem is that I can't get promidi to work accepting midi messages. Can someone help?
- import oscP5.*; // oscP5 library
- import netP5.*; // included with oscP5 library
- import controlP5.*; // GUI library
- import promidi.*;
- OscP5 oscP5; // oscP5 object
- NetAddress ResolumeOSC; // IP
- OscMessage myMessage = new OscMessage(""); // message object
- ControlP5 controlP5; // gui object
- MidiIO midiIO;
- MultiList uimidilist;
- public String actiefMidi;
- public int actiefMidiNummer;
- /*
- SETUP SETUP SETUP
- */
- void setup() {
- size(520,150);
- frameRate(25);
- //OSC DEEL
- ResolumeOSC = new NetAddress("127.0.0.1", 6666); //start OSC
- oscP5 = new OscP5(this,10000); //listening OSC
- // UI DEEL sliders -> (name, min, max, initial, x, y, width, height)
- controlP5 = new ControlP5(this);
- controlP5.addSlider("sFade",0,1,1,20,20,15,100).setId(1);
- controlP5.addButton("clear",0,60,100,90,20);
- //UI met MIDI
- midiIO = MidiIO.getInstance(this);
- uimidilist = controlP5.addMultiList("MidiInputLijst",0,10,150,12); // multilist to controlP5
- MultiListButton b; //add multiListButton to use for adding buttons to multilist
- b = uimidilist.add("MidiIn",1);
- for(int i = 0; i < midiIO.numberOfInputDevices();i++){
- MultiListButton c = b.add(nf(i,2)+": "+midiIO.getInputDeviceName(i),i);
- c.setLabel(nf(i,2)+": "+midiIO.getInputDeviceName(i)); //nf zorgt voor 2 digits
- }
- actiefMidi = midiIO.getInputDeviceName(0); //standaardwaarden installen
- actiefMidiNummer = 0;
- //MIDI DEEL
- background(0);
- smooth();
- }
- /*
- DRAW DRAW DRAW DRAW
- */
- void draw() {
- background(0); // keep the background clear.
- }
- /*
- KLASSEN KLASSEN KLASSEN KLASSEN
- */
- //klasse om OSC te zenden
- void sendMsg(String address, float value)
- {
- myMessage.clear(); // clear the message
- myMessage.setAddrPattern(address); // set the address (ex: "/layer1/fade"
- myMessage.add(value); // add an argument to the address
- println(address + " " + value);
- oscP5.send( myMessage, ResolumeOSC ); // send the message
- }
- //neemt de gekozen midicontroller vanuit het UI
- void MidiInputLijst(int input){
- actiefMidi = midiIO.getInputDeviceName(input);
- actiefMidiNummer= input;
- }
- //void controlEvent(ControlEvent theEvent) { //DROPDOWN MENU
- // println(theEvent.controller().name()+" = "+theEvent.value());
- // uncomment the line below to remove a multilist item when clicked.
- // theEvent.controller().remove();
- //}
- // each slider calls its own event function:
- public void sFade(float theValue) {
- sendMsg("/activelayer/fade",theValue); // FLOAT slider
- }
- void clear(){
- sendMsg("/activelayer/testtesttest",1); // CLEAR knop
- }
Thanks a lot!
2