osc+chuck=wip

This commit is contained in:
tth 2021-07-23 14:13:56 +02:00
parent 2e9b344922
commit 7c91072873
5 changed files with 52 additions and 14 deletions

View File

@ -1,5 +1,9 @@
# trucs en ChucK # trucs en ChucK
Attention, il faut parfois utiliser l'option `--silent`
pour lancer Chuck sans connexion audio.
## dessiner.ck ## dessiner.ck
## pouet.ck ## pouet.ck

View File

@ -7,7 +7,7 @@
* *
*/ */
9000 => int OSCPort; 7777 => int OSCPort;
31000.0 => float Amplitude; 31000.0 => float Amplitude;
OscOut xmit; OscOut xmit;
@ -15,13 +15,7 @@ float dx, dy;
xmit.dest("localhost", OSCPort); xmit.dest("localhost", OSCPort);
// ---- clear the screen clear_the_screen();
xmit.start("/joystick/b");
50 => xmit.add; 1 => xmit.add;
xmit.send();
xmit.start("/joystick/b");
50 => xmit.add; 0 => xmit.add;
xmit.send();
for (0 => int foo; foo<25800; foo++) { for (0 => int foo; foo<25800; foo++) {
<<< foo >>>; <<< foo >>>;
@ -34,7 +28,15 @@ for (0 => int foo; foo<25800; foo++) {
Std.ftoi(dy) => xmit.add; Std.ftoi(dy) => xmit.add;
xmit.send(); xmit.send();
0.03::second => now; 0.02::second => now;
} }
fun void clear_the_screen()
{
xmit.start("/joystick/b");
50 => xmit.add; 1 => xmit.add;
xmit.send();
xmit.start("/joystick/b");
50 => xmit.add; 0 => xmit.add;
xmit.send();
}

View File

@ -5,6 +5,29 @@
* nouveau Rural Art System 2021 - TerreBlanque * nouveau Rural Art System 2021 - TerreBlanque
*/ */
MidiIn input;
MidiMsg msg;
1 => int port; // please explain
if (!input.open(port)) {
<<< "erreur open" >>>;
me.exit();
}
// print out device that was opened
<<< "MIDI device:", input.num(), " -> ", input.name() >>>;
// infinite loop
while (1) {
input => now;
while ( input.recv(msg) ) {
<<< msg.data1, msg.data2, msg.data3 >>>;
}
}

View File

@ -26,14 +26,14 @@ while( true ) {
msg.getInt(1) => value; msg.getInt(1) => value;
<<< "got (via ", InPort,")\tb", button, "\tv", value >>>; <<< "got (via ", InPort,")\tb", button, "\tv", value >>>;
if (1 == value) { /* button down */ if (1 == value) { /* button down */
Std.mtof(base+(button)) => sl.freq; Std.mtof(base+(button)) => sl.freq;
Std.mtof(base+12+(button)) => sr.freq; Std.mtof(base+12+(button)) => sr.freq;
1 => envl.keyOn => envr.keyOn; 1 => envl.keyOn => envr.keyOn;
} }
else { else {
1 => envl.keyOff => envr.keyOff; 1 => envl.keyOff => envr.keyOff;
} }
// 0.2::second => now; 0.2::second => now;
} }
} }

View File

@ -11,13 +11,14 @@ SawOsc sr => dac.right;
OscIn oscin; OscIn oscin;
OscMsg msg; OscMsg msg;
InPort => oscin.port; InPort => oscin.port;
oscin.addAddress( "/joystick/xy, ii" ); oscin.addAddress( "/joystick/xy, ii" );
int x, y; int x, y;
55 => int base; 55 => int base;
0.5 => sl.gain => sr.gain;
<<< "listening on port", InPort >>>; <<< "listening on port", InPort >>>;
while( true ) { while( true ) {
@ -25,9 +26,17 @@ while( true ) {
while ( oscin.recv(msg) ) { while ( oscin.recv(msg) ) {
msg.getInt(0) => x; msg.getInt(0) => x;
msg.getInt(1) => y; msg.getInt(1) => y;
<<< "got (via ", InPort,") ", x, y >>>; <<< "got (via ", InPort,") ", x, y >>>;
x => sl.freq;
y => sr.freq;
} }
} }
/* made in doubledragon2 by tTh */ /* made in doubledragon2 by tTh */
/* --------------------------------------------------------
conversion coordonnées vers frequence */