예제 #1
0
	void handler(MidiBridge.Message m)
	{


		//k2
		if (m.channel == (int)k2Channel) {
			//Debug.Log (m.ToString ());

			//K2 sliders
			if(m.data1 >= 0 && m.data1 <= 7){k2Sliders[m.data1] = m.data2 / 127f;}
			//K2 Knobs
			if(m.data1 >= 16 && m.data1 < 24){k2Knobs[m.data1 - 16] = m.data2 / 127f;}
			//K2 S btns
			if(m.data1 >= 32 && m.data1 < 40){k2Sbtns[m.data1 - 32] = m.data2 == 0x7f;}
			//K2 M btns
			if(m.data1 >= 48 && m.data1 < 56){k2Mbtns[m.data1 - 48] = m.data2 == 0x7f;}
			//K2 R btns
			if(m.data1 >= 64 && m.data1 < 72){k2Rbtns[m.data1 - 64] = m.data2 == 0x7f;}
			//left btns
			if(m.data1 == 0x3a){k2BackTrack = m.data2 == 0x7f;}
			if(m.data1 == 0x3b){k2ForwardTrack = m.data2 == 0x7f;}
			if(m.data1 == 0x2e){k2Cycle = m.data2 == 0x7f;}
			if(m.data1 == 0x3c){k2Set = m.data2 == 0x7f;}
			if(m.data1 == 0x3d){k2BackMarker = m.data2 == 0x7f;}
			if(m.data1 == 0x3e){k2ForwardMarker = m.data2 == 0x7f;}
			if(m.data1 == 0x2b){k2Rewind = m.data2 == 0x7f;}
			if(m.data1 == 0x2c){k2FastForward = m.data2 == 0x7f;}
			if(m.data1 == 0x2a){k2Stop = m.data2 == 0x7f;}
			if(m.data1 == 0x29){k2Play = m.data2 == 0x7f;}
			if(m.data1 == 0x2d){k2Record = m.data2 == 0x7f;}

		}

		//micron
		if(m.channel == (int)micronChannel){
			//Debug.Log ("micron "+m.ToString ());
			if (m.status == 0xb0) {HandleXYPad(m);}
			if (m.status == 0xd1) {HandleM2(m);}
			if (m.status == 0xe1) {HandlePitchBender(m);}
			if (m.status == 0xb1) { //m1 slider, x,y,z knobs
				if(m.data1 == 1){HandleM1(m);}
				if(m.data1 == 6 || m.data1 == 38){HandleXYZ(m);}
			}
		}
	}
예제 #2
0
	void HandleXYZ(MidiBridge.Message m)
	{
		if(m.data1 == 6){lastXYZ6 = m.data2;}
		if(m.data1 == 38){lastXYZ38 = m.data2;}
		Debug.Log (lastXYZ6 + ":" + lastXYZ38);
		if (xyzRange == XYZKnobRange.full) {
			xyz = (lastXYZ6 / 8f) + ((lastXYZ38 / 127f) / 8f);
		} else {
			xyz = (lastXYZ38 / 100f);
		}
	}
예제 #3
0
	void HandleXYPad (MidiBridge.Message m) 
	{
		if(m.data1 == 1){xyPad.x = m.data2 / 127f;}
		if(m.data1 == 2){xyPad.y = m.data2 / 127f;}
	}
예제 #4
0
	void HandlePitchBender (MidiBridge.Message m) {pitchBender = ((m.data2 / 127f) - 0.5f) * 2f;}
예제 #5
0
	void HandleM2 (MidiBridge.Message m) {m2 = m.data1 / 127f;}
예제 #6
0
	void HandleM1 (MidiBridge.Message m) {m1 = m.data2 / 127f;}