From 0109fcf48f037777c866d1ba6e8cae3f9f11a7f2 Mon Sep 17 00:00:00 2001 From: Nova deViator Date: Thu, 10 Sep 2015 21:41:57 +0200 Subject: [PATCH] moving things around, sync.. --- pde/IF3Si/IF3Si.pde | 49 ++++++++++++++--------------- pde/IF3Si/functions.pde | 8 +++-- rnx/IF3Si.xrns | Bin 5958 -> 6072 bytes scd/IF3Si.scd | 68 +++++++--------------------------------- scd/gui_core.scd | 2 +- scd/gui_main.scd | 28 +++++++++++++++-- 6 files changed, 67 insertions(+), 88 deletions(-) diff --git a/pde/IF3Si/IF3Si.pde b/pde/IF3Si/IF3Si.pde index 2c27793..0ad9225 100644 --- a/pde/IF3Si/IF3Si.pde +++ b/pde/IF3Si/IF3Si.pde @@ -54,6 +54,17 @@ PGraphics sphere; int tilesOverlap; +// testPicture +boolean testPictureToggle = false; +PFont testFont; + +// fps +PFont fpsFont; + +// testPattern +boolean testPatternToggle = false; + + void setup() { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - float sizefactor = 1; // define the size of the screen, 1 = 1080p @@ -73,7 +84,8 @@ void setup() { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // start oscP5, listening for incoming messages at port 12000 println("~~~ starting oscP5 ..."); oscP5 = new OscP5(this,12000); - oscP5.plug(this,"ctlin","/ctlin"); // to be converted for PD OSC input + oscP5.plug(this,"ctlin","/ctlin"); // osc from Renoise/Midi (via SC) -> function 'ctlin' + oscP5.plug(this,"scosc","/sc"); // osc from SuperCollider -> function 'scosc' // get all textures into an image pool println("\n\n~~~ loading textures into image pool ...\n"); @@ -109,32 +121,17 @@ void setup() { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - initializeSphere(ptsW, ptsH); // number of vertices around the width and height sphere = createGraphics(width, height, P3D); + // for testPicture + String[] fontList = PFont.list(); + printArray(fontList); + testFont = createFont("Oliver's Barney", 50); + + // fps + fpsFont = createFont("Ubuntu Mono", 12); + } -// process OSC messages -public void ctlin(int cc, int val) { // - - - - - - - - - - - - - - - - - - - - - - - - - // debug - println("## OSC: /ctlin cc:" + cc + " value:" + val); - - if (cc == 2) { tilesOverlap = val; } - - /* // triggers are on controller number 0 - if (cc == 0) { - } - - if (cc == 2) { flySpeedXfactor = (val - 64); } // speed (&direction) on X axis [-1 - 1] FIXit! - if (cc == 3) { flySpeedYfactor = (val - 64); } // speed (&direction) on Y axis [-1 - 1] FIXit! - */ - -} - - - - - - void draw() { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -184,7 +181,7 @@ void draw() { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // test pattern```````````````````````````````````````````````````| - testPattern(boolean(0), // on/off + testPattern(testPatternToggle, // boolean(0), // on/off 2, 0, // img bank & ID 255, // image alpha 10, // number of horizontal 'lanes' @@ -197,7 +194,7 @@ void draw() { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // debug `````````````````````````````````````````````````````````| // draw test picture - testPicture(boolean(0)); + testPicture(testPictureToggle); // frames per second displayFps(true); diff --git a/pde/IF3Si/functions.pde b/pde/IF3Si/functions.pde index 30a82d1..36ff523 100644 --- a/pde/IF3Si/functions.pde +++ b/pde/IF3Si/functions.pde @@ -202,6 +202,7 @@ void testPicture(boolean render) { line(0, height/2, width, height/2); fill(0); + textFont(testFont); textSize(50); textAlign(CENTER,CENTER); @@ -355,7 +356,7 @@ void drawSpheres( boolean render */ } - +} // TEST PATTERN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -506,7 +507,10 @@ void displayFps(boolean render) { // ----------------------------------- if (render){ // Display Fps fill(0); noStroke(); rect(width-80, height-30, 80, 30, 4); - fill(200); text(int(frameRate)+"fps", width-40, height-10, 5);} + fill(200); + textFont(fpsFont); + textSize(12); + text(int(frameRate)+"fps", width-40, height-10, 5);} } void autoSnap(boolean render) { // ------------------------------------- diff --git a/rnx/IF3Si.xrns b/rnx/IF3Si.xrns index c6a715129a03c5bae5098d17b62e5f8e7af262fb..5511809e90b907a24de96ac98b999592f8cee864 100644 GIT binary patch literal 6072 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 a5Ip#QZjhcPImO=$2_c|_QS$2F*?$4*Ozn99 literal 5958 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 z

9|MF6E<0VN`V3a^0@Q9#CMAQjxkpF7-@JNyTC_yBkK?>}hF9WKlrK9dA!NCKFo z0Hjj@1DWc8CbU7OdVf$A zG@%Td;DFn(!EL1AHWF|fg+Is$xA`A4|L+kfPbUGYlK}cD0I?Ln@E_DCL=pj>>L8>V zNJR&P)CQ^O{Xta_QW=EgfYY+UX{F$_5^!3DKgbBD#Tc4gXQ)nf6AayIRIe^OS2ZXkk^{15q$UNnMmfp11{PZ z37B^>oVlozYY>w28@ASq)-KisUZm4CV*0H(nsa*FFwmCXt4ny565Y|AuQ-*7Jiz}! z@Z|CF9V=3^ipe5AM&Ba=D@b!t8Hf{SgyU)uRHmA!;B(htZ<(zyot3Y$-mk2;)_=To zX&JlmwGz`RbFypGetP~=D!x`Hd9^B??nwNrmD)sqKvVmhZ*!7_z1;aXv*h9}UEvlH z_nF-GQO}z1=mL*geqy7t$9?0wE6nTYHY3+#wW!m*KCAe0}DHmR7Sv%S(^?u6}7V_bR&jtAwd7(VW z)NUTjm7D3jvzq&y*{nx?*WRAZvZ39&dhSG3@VBgewnS#RLR%b4q?D$MB>hk`;z5$~ z8QR6Sx9G$%QI6&a5j4N0;+RlabV>J+u>bmaoK_=Qy2zraQ|U;C4u3>v7Tke}vsw0P` zKHM`S8Q_R2%c$}qr(a!3Fyl4Gqw^c5le;9nzoJ=#pH5n>u_64}Uzw(oB zwOv(H@U6RLGh}QRSpvO7cBwnP;cqvxi%f;yQM=S-|K(rc+a33J;+MbO&@M6`dPn+F zH=9uPa~GKey~BH{`)u9cj?fSPWUda7=wRM@a&D3uCqm!V= z+JscmoWcj_F@XYIIH#a~HY2hA@2QeGg)-YH*ksr^aMnr=$6^`eHIwrFlOw z{H(c;8M|n|ztJ=O&Bb(k@^aBRED~XA&Cjx`8Z20_00{mtX}?xEIO4O7-}GQD9Zj7J z>o==)hqPg58F!6ZqX{w)Op&;&k6|I_IyIybTK$-HV9wP$jUA^ka^ZA0j@7~2S#Z7X zK)vi&TFJm+evYeo1K2V7m!!5enWH9b_jDdis~XlmeY@h7(<985y`&JX5jzvsQW473 z$`p1OE|HbL_;fG_aoe{Cw-U!PGX)s%`>ba@!-GX8<_;~}YsWMNv>vM^ATVuV&` zD7ruN?X>IrY~kITPL#$vhHV9c(YmQrV;i?u2S_Ve{>c7oI!)8r zb{Z(kkXGjYZC5cv#uhVXAl~XC3w3qoKN4OT{X?R?3V|cPl5F55V z12>CLTbBrW%>d+mTKNI`?lh`0` z42b0FDNQInz}V^32~=E{&GFUUB*>KxJ(m2sX5TuZV{D>Vl_eWK9BFqI90*Z1B^pdv z(Cid&<26nVTfTuiL!B!dWHb>qA**R#$j3Zp8Q&4&+|B$-hy{Ggh)yU)a-A8E2?Kk* zTiYsbPjqtn7N={|?CQn+mW`-i&_4YuB%U`Mw#vV?;PF?V{1JMI{tS!swId*Rg?`a)`!lvd}!~iz$Ob;9A@6%K0 zu(@V+96L9uxR>kif4sr;L*>jNX);_uWzi?4D#nw5IxblLd-z)U#r-J`y(8{ qKlmS-_P@IRt4H#8`Cnb@1V#K`59o;&DcN5cVuHC4RwUD3-oF7y3cdvZ diff --git a/scd/IF3Si.scd b/scd/IF3Si.scd index f441e28..17c8338 100644 --- a/scd/IF3Si.scd +++ b/scd/IF3Si.scd @@ -33,61 +33,11 @@ postln("\n\n "); Server.default.waitForBoot { - - - - // midi init & stuff: - - - - - - -( -var p5osc; -var midiFunc; - - -//MIDIIn.connectAll; -p5osc = NetAddr.new("zarquon", 12000); - - -midiFunc = MIDIFunc.cc({ - - arg val1, val2; - postln("sending: /ctlin " + val2 + " " + val1); - // we need to send /ctlin CCnum CCvalue - p5osc.sendMsg("/ctlin", val2, val1); - - - -}, (0..127)); // match all cc (from 1..127) -) - -midiFunc.free; // cleanup -p5osc.disconnectAll - -MIDIIn.findPort; - - - -MIDIClient.init(1,0); -MIDIClient.sources; -MIDIIn.connect("Renoise MIDI Output", "out0"); - - - - - - - - - - // where are we? var dir = PathName(thisProcess.nowExecutingPath).pathOnly; + // this might go to separate file at some point... ---------------------| // will load samples for granular synthesis // var dir = PathName(thisProcess.nowExecutingPath).pathOnly; // @@ -101,20 +51,26 @@ MIDIIn.connect("Renoise MIDI Output", "out0"); }); postln(""); // ---------------------------------------------------------------------| + + // osc connection to zarquon (local?) + ~zarquOsc = NetAddr.new("zarquon", 12000); + // what are the files? ~files = List[ - "sdefs.scd", // SynthDef definitions - "snd_lines.scd", // converting Si spectra lines to sound - "gui_core.scd", // basic general GUI setup - "gui_chaos.scd", // chaos tab - "gui_granul.scd", // + "sdefs.scd", // SynthDef definitions + "snd_lines.scd", // converting Si spectra lines to sound + "midiosc.scd", // midi & osc functions + "gui_core.scd", // basic general GUI setup + "gui_chaos.scd", // chaos tab + "gui_granul.scd", // granulators "gui_main.scd" ]; // for each file in list, load/execute it ~files.do({|item, i| this.executeFile(dir +/+ item) }); + } ) diff --git a/scd/gui_core.scd b/scd/gui_core.scd index f9635c1..08d80c6 100644 --- a/scd/gui_core.scd +++ b/scd/gui_core.scd @@ -58,7 +58,7 @@ w.layout.margins = 2; ~pager.layout.margins = 1; // CREATE TABS --------------------------------------------------------------- -~tabs = List["chaos", "granul", "players", "processing", "main"]; +~tabs = List["main", "chaos", "granul", "players", "processing"]; ~tab_btns = List(); ~tab_views = List(); ~tab_names = Dictionary.new; diff --git a/scd/gui_main.scd b/scd/gui_main.scd index 0be88a8..1519df0 100644 --- a/scd/gui_main.scd +++ b/scd/gui_main.scd @@ -15,7 +15,7 @@ nil, - VLayout( + HLayout( nil, Button() @@ -40,7 +40,29 @@ }) .minHeight_(70).minWidth_(70), + Button().minHeight_(70).minWidth_(70) + .states_([ ["Test pattern"], ["Test pattern", Color.gray(0.2), Color.grey(0.8)] ]) + .mouseDownAction_({ | state | + switch(state.value, + 0, { postln("~~~ test pattern on!"); + ~zarquOsc.sendMsg("/sc", "testPatternToggle", 1); }, + 1, { postln("~~~ test pattern off!"); + ~zarquOsc.sendMsg("/sc", "testPatternToggle", 0); } + ); + }), - nil), - nil); + Button().minHeight_(70).minWidth_(70) + .states_([ ["Test picture"], ["Test picture", Color.gray(0.2), Color.grey(0.8)] ]) + .mouseDownAction_({ | state | + switch(state.value, + 0, { postln("~~~ test picture on!"); + ~zarquOsc.sendMsg("/sc", "testPictureToggle", 1); }, + 1, { postln("~~~ test pattern off!"); + ~zarquOsc.sendMsg("/sc", "testPictureToggle", 0); } + ); + }), + nil + ), + nil +);