Made some fixes to the MIDI processing sketch and MIDI example
This commit is contained in:
parent
59184187c0
commit
c21d363526
@ -206,7 +206,7 @@ void freq1(int val)
|
|||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + (int)(pow(2,(knobValue[knob]-69)/12.0)*440) + " Hz");
|
if(printChange) println(knobName[knob] + " is: " + (int)(pow(2,(knobValue[knob]-69)/12.0)*440) + " Hz");
|
||||||
//(2^((p-69)/12))*440
|
//(2^((p-69)/12))*440
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,7 +217,7 @@ void semi1(int val)
|
|||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
int semi =(knobValue[knob]+24)*2+16;
|
int semi =(knobValue[knob]+24)*2+16;
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)semi);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)semi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +227,7 @@ void detune1(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +237,7 @@ void gain1(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ void wave1(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob] + " (" + waveform[knobValue[knob]] + ")");
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob] + " (" + waveform[knobValue[knob]] + ")");
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)(knobValue[knob]*8));
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)(knobValue[knob]*8));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,7 +257,7 @@ void fm1(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,7 +268,7 @@ void freq2(int val)
|
|||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + (int)(pow(2,(knobValue[knob]-69)/12.0)*440) + " Hz");
|
if(printChange) println(knobName[knob] + " is: " + (int)(pow(2,(knobValue[knob]-69)/12.0)*440) + " Hz");
|
||||||
//(2^((p-69)/12))*440
|
//(2^((p-69)/12))*440
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,7 +279,7 @@ void semi2(int val)
|
|||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
int semi =(knobValue[knob]+24)*2+16;
|
int semi =(knobValue[knob]+24)*2+16;
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)semi);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)semi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,7 +289,7 @@ void detune2(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ void gain2(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -309,7 +309,7 @@ void wave2(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob] + " (" + waveform[knobValue[knob]] + ")");
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob] + " (" + waveform[knobValue[knob]] + ")");
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)(knobValue[knob]*8));
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)(knobValue[knob]*8));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -319,7 +319,7 @@ void fm2(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -329,7 +329,7 @@ void freq3(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + (int)(pow(2,(knobValue[knob]-69)/12.0)*440) + " Hz");
|
if(printChange) println(knobName[knob] + " is: " + (int)(pow(2,(knobValue[knob]-69)/12.0)*440) + " Hz");
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -340,7 +340,7 @@ void semi3(int val)
|
|||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
int semi =(knobValue[knob]+24)*2+16;
|
int semi =(knobValue[knob]+24)*2+16;
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)semi);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)semi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,7 +350,7 @@ void detune3(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -360,7 +360,7 @@ void gain3(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -370,7 +370,7 @@ void wave3(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob] + " (" + waveform[knobValue[knob]] + ")");
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob] + " (" + waveform[knobValue[knob]] + ")");
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)(knobValue[knob]*8));
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)(knobValue[knob]*8));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,7 +380,7 @@ void fm3(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -390,7 +390,7 @@ void attack(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,7 +400,7 @@ void decay(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -410,7 +410,7 @@ void sustain(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -420,7 +420,7 @@ void release(int val)
|
|||||||
if(knobValue[knob] != val) {
|
if(knobValue[knob] != val) {
|
||||||
knobValue[knob] = val;
|
knobValue[knob] = val;
|
||||||
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
if(printChange) println(knobName[knob] + " is: " + knobValue[knob]);
|
||||||
if(!serialBusy) sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
sendControlChange((byte)0, (byte)knobMidiCC[knob], (byte)knobValue[knob]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ MidiInput input;
|
|||||||
Serial port0;
|
Serial port0;
|
||||||
|
|
||||||
boolean printChange = true;
|
boolean printChange = true;
|
||||||
boolean serialBusy;
|
boolean serialBusy = false;
|
||||||
|
|
||||||
int backgroundColor = color(0,0,0);
|
int backgroundColor = color(0,0,0);
|
||||||
int knobColor = color(235,103,295);
|
int knobColor = color(235,103,295);
|
||||||
@ -34,7 +34,7 @@ void setup() {
|
|||||||
input = RWMidi.getInputDevices()[0].createInput(this);
|
input = RWMidi.getInputDevices()[0].createInput(this);
|
||||||
|
|
||||||
//println(Serial.list());
|
//println(Serial.list());
|
||||||
port0 = new Serial(this, Serial.list()[0], 9600);
|
port0 = new Serial(this, Serial.list()[12], 9600);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
0
software/apps/Processing/Music/Music_Controls_4/midi_handling.pde
Normal file → Executable file
0
software/apps/Processing/Music/Music_Controls_4/midi_handling.pde
Normal file → Executable file
0
software/apps/Processing/Music/Music_Controls_4/saving_loading.pde
Normal file → Executable file
0
software/apps/Processing/Music/Music_Controls_4/saving_loading.pde
Normal file → Executable file
@ -1,12 +1,3 @@
|
|||||||
// You can set the number of oscillators (1 to 3) and the bit depth of the
|
|
||||||
// oscillators (8 or 12 bit). These settings must be defined before the
|
|
||||||
// inclusion of the MMM library files. They default to 1 osciallator
|
|
||||||
// and 8bit respectively.
|
|
||||||
|
|
||||||
#define NUM_OSCILLATORS 3
|
|
||||||
#define BIT_DEPTH 8
|
|
||||||
#define MIDI
|
|
||||||
|
|
||||||
// The Music object is automatically instantiated when the header file is
|
// The Music object is automatically instantiated when the header file is
|
||||||
// included. Make calls to the Music objects with "Music.function(args)".
|
// included. Make calls to the Music objects with "Music.function(args)".
|
||||||
// You still need to call Music.init() in the setup() function below.
|
// You still need to call Music.init() in the setup() function below.
|
||||||
@ -16,6 +7,10 @@
|
|||||||
#define MIDI_CHANNEL 1
|
#define MIDI_CHANNEL 1
|
||||||
#include <Music.h>
|
#include <Music.h>
|
||||||
|
|
||||||
|
long timeNow = 0;
|
||||||
|
long lastTime = 0;
|
||||||
|
long delayTime = 400; //in milliseconds
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
|
|
||||||
// We initialise the sound engine by calling Music.init() which outputs a tone
|
// We initialise the sound engine by calling Music.init() which outputs a tone
|
||||||
@ -27,8 +22,15 @@ void setup() {
|
|||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
// In order to send MIDI to the sketch, use the Music_Controls.pde Processing sketch
|
// In order to send MIDI to the sketch, use the Music_Controls_4.pde Processing sketch
|
||||||
Midi.checkMidi();
|
Midi.checkMidi();
|
||||||
|
|
||||||
|
// The below code is an example of triggering the noteOn function to play some sounds
|
||||||
|
timeNow = millis();
|
||||||
|
if((timeNow - lastTime) > delayTime) {
|
||||||
|
Music.noteOn(64);
|
||||||
|
lastTime = timeNow;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user