piccolo OT su Processing

scusatemi, sto cercando ma non trovo niente a riguardo..

si può leggere da processing una variabile di un programmino python? intendo in modo che lancio uno, poi l'altro e riesco a farli dialogare. magari se cè qualche link a cui attingere. così non OffTopico troppo qui.

Grazie!

EDIT: Oppure (mi viene in mente ora) se qualcuno sa un modo semplice per creare una (seconda) finestra dove immettere dei numeri e visualizzare i risultati di alcuni calcoli, sempre da processing, ed esportare questi numeri nella finestra di disegno di processing. ari-grazie!

secondo me il metodo migliore [ usando un socket TCP

??? ho appena trovato per sbaglio la libreria http://www.sojamo.de/libraries/controlP5/#examples dovrebbe fare al caso mio (magari è utile anche ad altri!). con quella si creano knob, slider e textfield dentro ai quali immettere dati per poi passarli per esempio ad Arduino.. dico bene?

esatto. a dirla tutto, processing dal punto di vista input dell'utente e' scarso

già, ho notato. sai, mi sono imbattuto in questa cosa per un bug di vpython che da un errore di segmentazione solo sotto Ubuntu 11.04. siccome non ho tempo per rimettere il 10.04 che andava da dio, prendo la palla al balzo per provare un'altra via, appunto Processing. è veloce, e almeno non cambio linguaggio da arduino. (non sono un esperto..)

Processing non nasce per scrivere le classiche applicazioni con campi e bottoni (alla visual basic) ma con controlp5 ne vieni fuori abbastanza bene.

Poi hai la libreria Arduino che ti permette di controllare il tuo arduino direttamente da processing.

Nel frattempo che un newbie impara ad installare eclipse e fare il suo hello world, tu sei già diventato il mago di processing :)

m

però la controlp5 potevano metterla di default.. voglio dire c'è la libreria per comandare arduino, ma cosa lo comando a fare se non posso dare input a processing? :)

Aggiungo anche che trovo un pò intricato tirar fuori il valore di un campo. cioè, magari sono io che non sono pratico, ma guardando gli esempi non è che è proprio così diretto. mi pare usa un pò troppi passaggi. io mi aspettavo qualcosa tipo: creo un Textfield e lo chiamo pippo, poi chiamo la funzione pippo.getText()... macchè ci vogliono molti più passaggi. oppure sbaglio?

non è così complesso:

ControlP5 controlP5;
Textfield inputP;

void setup() 
{
  controlP5 = new ControlP5(this);

  inputP = controlP5.addTextfield("p",400,100,100,20);
}

void draw() {
  controlP5.draw();
  println("valore attuale:"+inputP.getText() );
}

void controlEvent(ControlEvent theEvent) {
  println("controlEvent: accessing a string from controller '"+theEvent.controller().name()+"': "+theEvent.controller().stringValue()); //questo avviene se premi invio nella textfield
}

bè, scritta così già mi piace di più, grazie! sugli esempi per richiamarla usava il campo Name, cioè quello che tu hai chiamato P. infatti mi rimaneva difficile perchè io quella la uso come scritta tipo "inserisci lunghezza asse X", quindi con spazi ecc.. però ho visto che tu l'hai dichiarata con inputP = controlP5.addTextfield("p",400,100,100,20);

quindi mi pare più facile.. ti posso chiedere una cosa? quando si scrive:

controlP5 = new ControlP5(this);

il 'this' per cosa sta? l'ho visto più volte ma senza mai capire bene perchè si usa.

grazie Lesto intanto! p.s. per un pochino non avrò molto tempo per provare, perchè sto lavorando .... in Turkmenistan!!! grazie cmq, Ciao!!

gli passi la classe attuale. che poi è processing, più o meno.

perdonami lesto, non ho capito. Allora ControlP5 è la classe (libreria)...

quindi:

ControlP5 controlP5;

e

controlP5 = new ControlP5(this);

non sono la stessa cosa, giusto? la differenza?

dab77: ControlP5 controlP5;

qui stai dichiarando la classe, ovvero stai creando un puntatore alla classe.

dab77: controlP5 = new ControlP5(this);

qui stai INIZIALIZZANDO la classe, ovvero stai allocando uno spazio in memoria per il contenimento dei suoi dati (una malloc per intenderci), dopo di che dai l'indirizzo della classe al puntatore dichiarato precedentemente. A differenza dei veri puntatori non serve & e * come nel C: l'uso di * è implicito nell'uso del . per richiamamre metodi o variabili

Grazie mille! ora ho capito!