Compare commits
3 Commits
7c91072873
...
85c1846a0b
Author | SHA1 | Date | |
---|---|---|---|
|
85c1846a0b | ||
|
95046aa71d | ||
|
6a1fc34031 |
@ -6,6 +6,8 @@ pour lancer Chuck sans connexion audio.
|
||||
|
||||
## dessiner.ck
|
||||
|
||||
Faire des courbes de Lissajous...
|
||||
|
||||
## pouet.ck
|
||||
|
||||
## midi2osc.ck
|
||||
|
@ -7,8 +7,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
7777 => int OSCPort;
|
||||
31000.0 => float Amplitude;
|
||||
9000 => int OSCPort;
|
||||
32760.0 => float Amplitude;
|
||||
|
||||
OscOut xmit;
|
||||
float dx, dy;
|
||||
@ -20,17 +20,19 @@ clear_the_screen();
|
||||
for (0 => int foo; foo<25800; foo++) {
|
||||
<<< foo >>>;
|
||||
|
||||
Amplitude * Math.sin(foo * 0.30001) => dx;
|
||||
Amplitude * Math.cos(foo * 0.50001) => dy;
|
||||
Amplitude * Math.sin(foo * 0.3001) => dx;
|
||||
Amplitude * Math.cos(foo * 0.4999) => dy;
|
||||
|
||||
xmit.start("/joystick/xy");
|
||||
Std.ftoi(dx) => xmit.add;
|
||||
Std.ftoi(dy) => xmit.add;
|
||||
xmit.send();
|
||||
|
||||
0.02::second => now;
|
||||
0.025::second => now;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
|
||||
fun void clear_the_screen()
|
||||
{
|
||||
xmit.start("/joystick/b");
|
||||
@ -40,3 +42,5 @@ xmit.start("/joystick/b");
|
||||
50 => xmit.add; 0 => xmit.add;
|
||||
xmit.send();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------
|
||||
|
@ -7,8 +7,10 @@
|
||||
|
||||
MidiIn input;
|
||||
MidiMsg msg;
|
||||
OscOut xmit;
|
||||
|
||||
1 => int port; // please explain
|
||||
9000 => int OSCPort;
|
||||
|
||||
if (!input.open(port)) {
|
||||
<<< "erreur open" >>>;
|
||||
@ -18,12 +20,20 @@ if (!input.open(port)) {
|
||||
// print out device that was opened
|
||||
<<< "MIDI device:", input.num(), " -> ", input.name() >>>;
|
||||
|
||||
xmit.dest("localhost", OSCPort);
|
||||
|
||||
|
||||
// infinite loop
|
||||
while (1) {
|
||||
input => now;
|
||||
|
||||
while ( input.recv(msg) ) {
|
||||
<<< msg.data1, msg.data2, msg.data3 >>>;
|
||||
|
||||
xmit.start("/joystick/b");
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@ SqrOsc sl => Envelope envl => dac.left;
|
||||
SawOsc sr => Envelope envr => dac.right;
|
||||
0.5 => sl.gain => sr.gain;
|
||||
|
||||
0.01 => envl.time; 0.06 => envr.time;
|
||||
0.01 => envl.time; 0.04 => envr.time;
|
||||
|
||||
OscIn oscin; OscMsg msg;
|
||||
|
||||
@ -33,7 +33,7 @@ while( true ) {
|
||||
else {
|
||||
1 => envl.keyOff => envr.keyOff;
|
||||
}
|
||||
0.2::second => now;
|
||||
0.1::second => now;
|
||||
}
|
||||
}
|
||||
|
||||
|
12
osc2cursor.c
12
osc2cursor.c
@ -46,14 +46,18 @@ printf(stderr, "%s : %s %s %d\n", __func__, path, types, argc);
|
||||
if (verbosity) {
|
||||
sprintf(ligne, "%s %s %s %d\n", __func__, path, types, argc);
|
||||
mvaddstr(2, 2, ligne);
|
||||
sprintf(ligne, "button : %6d %6d", argv[0]->i, argv[1]->i);
|
||||
mvaddstr(3, 2, ligne);
|
||||
refresh();
|
||||
}
|
||||
|
||||
|
||||
if (-1 == erase_button) return 0;
|
||||
|
||||
if ( (argv[0]->i == erase_button) &&
|
||||
(argv[1]->i == 0) ) {
|
||||
must_erase = 1;
|
||||
mvaddstr(3, 2, "KILL ! KILL !");
|
||||
refresh();
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -116,7 +120,7 @@ if (verbosity) {
|
||||
}
|
||||
|
||||
/* erase the old spot */
|
||||
if (old_l) mvaddch(old_l, old_c, current_char);
|
||||
if (old_l || old_c) mvaddch(old_l, old_c, current_char);
|
||||
|
||||
standout();
|
||||
mvaddch(cur_l, cur_c, '#');
|
||||
@ -169,9 +173,9 @@ fprintf(stderr, "erase %d\n", erase_button);
|
||||
st = lo_server_thread_new(local_port, error);
|
||||
|
||||
foo = initcurses();
|
||||
sprintf(ligne, ":%s ", local_port);
|
||||
sprintf(ligne, ":%s e=%d ", local_port, erase_button);
|
||||
foo = draw_main_screen(ligne, 0);
|
||||
if (verbosity) fprintf(stderr, "dms %d\n", foo);
|
||||
// if (verbosity) fprintf(stderr, "dms %d\n", foo);
|
||||
|
||||
lo_server_thread_add_method(st, "/joystick/xy", "ii", xy_handler, NULL);
|
||||
lo_server_thread_add_method(st, "/joystick/b", "ii", button_handler, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user