Bonjour
( w = Window.new("quatre pads", Rect(400,400,196,54)).front; w.view.decorator = FlowLayout(w.view.bounds); 4.do{b= Button(w, 44@44) ; b.states = ([["", Color(1,1,0.51),Color.grey],["", Color.grey,Color(1,1,0.51)]]); b.mouseDownAction = { |button| button.valueAction = 1; }; b.action = {|button| button.value.postln;}; }; )
Je n'arrive pas à générer la liste des états (0 ou 1) de mes 4 pads à chaque fois que j'en presse un:
{1,0,0,0} si j'active le premier pad,{0,1,0,0} pour le suivant ...
Je suis sur que c'est très simple,mais là,faut que je prenne un peu de recul:P
un ptit coup de main ?
merci d'avance.
Hors ligne
Salut à toi as tu essayé d'envoyer ta demande sur le forum des "SC users"?
http://www.birmingham.ac.uk/facilities/ … glist.aspx
Ta demande fera le tour de la communauté....et elle est riche de compétences! ;-)
Beryann
Hors ligne
beryan,
merci pour l'intérêt.
Oui,je suis souvent en train de lire la liste SC
Et oui,j'y ai posé ma question:
http://new-supercollider-mailing-lists- … 98026.html
J'ai eu des réponses,mais comme d'hab,à chaque porte entrouverte,c'est un tombereau de nouveaux problèmes qui se déverse dans mon cerveau.
Faut juste aimer ça...
Hors ligne
Non testé mais ca devrait te donner une idée:
( var w, buttons, postAllButtons; w = Window("quatre pads").front; postAllButtons = { |arr| arr.collect(_.value).postcs }; buttons = 4.collect{ |i| Button(w, Rect(i * 44, 0, 44, 44)) .states_([ [i, Color(1, 1, 0.5), Color.grey], [i, Color.grey, Color(1, 1, 0.51)] ]) .mouseDownAction_({ |button| button.valueAction = 1 }) .action_({ |button| //button.value.postln; postAllButtons.(buttons); }); }; )
Dernière modification par {yv} (2013-06-02 18:24:30)
Hors ligne
Oui,merci.
C'est même bien plus que l'idée!
Hors ligne
ben voilà,j'ai vraiment très peu de temps et de neurones disponibles depuis deux mois et demi à cause du travail,mais j'essaie toujours d'avancer.
Maintenant je voudrai envoyer ma liste d'états avec osc vers un moniteur du Lemur.
J'ai aussi des "soucis" de compréhension du coté du Lemur ...
Je voudrai donc juste savoir si j'envoie la bonne commande à partir de SuperCollider.
J'ai ajouté ceci au code de {yv}:
var adrs = NetAddr("IP du Lemur", port du Lemur);
adrs.sendMsg("/Switches/x", (postAllButtons.(buttons)).asString);
j'ai bien une liste qui s'affiche sur mon moniteur,mais elle ne se met pas à jour quand j'active un des boutons.
Encore une fois,c'est peut-être un truc que je ne fais pas bien "on the Lemur side"...
Bon dimanche
Hors ligne
bonsoir.
Je confirme,c'était bien quelque chose à régler du coté du Lemur.
Mais je reçois littéralement les valeurs sous cette forme:
"[0,0,0,0]"
et le top serai que je puisse envoyer:
{0,0,0,0}
J'en suis là.
Hors ligne
nitefish a écrit:
je reçois littéralement les valeurs sous cette forme:
"[0,0,0,0]"
et le top serai que je puisse envoyer:
{0,0,0,0}
tu pourrais etre plus precis stp?
d'ou viennent ces valeurs, dans quel sens, etc...?
y
Hors ligne
bonsoir.
@{yv}
j'ai ajouté les lignes suivantes au code que tu as posté un peu plus haut dans cette file:
var adrs = NetAddr("IP du Lemur", port du Lemur);
adrs.sendMsg("/Switches/x", (postAllButtons.(buttons)).asString);
j'envoie donc le résultat vers le Lemur où il y a juste un moniteur qui affiche ce résultat.J'arrive à l'avoir sous cette forme:
0,0,0,0
Y a t-il un moyen de formater le message avec SuperCollider de façon à envoyer:
{0,0,0,0}
J'espère que c'est plus clair.
merci pour l'intérêt,sinon.
Hors ligne
nitefish a écrit:
Y a t-il un moyen de formater le message avec SuperCollider de façon à envoyer:
{0,0,0,0}
Tu peux faire ca dans ta fonction direct:
postAllButtons = { |arr| var str = arr.collect(_.value).asString; var repl = " []"; repl.do{ |char| str = str.replace(char.asString, ""); }; str = "{%}".format(str); };
ciao
y
Dernière modification par {yv} (2013-07-03 20:04:48)
Hors ligne
la même chose avec des explications:
J'espère que c'est plus clair
ciao
y
ps: ajouté des couleurs maintenant que je sais faire..
Dernière modification par {yv} (2013-07-03 20:04:24)
Hors ligne
Merci,c'est super clair,et j'ai de bonnes infos ...
Mais cela ne règle pas mon soucis:
Maintenant j'ai "{0,0,0,0}"...
Et surtout je ne suis pas certain du format que demande le Lemur.
C'est pas vraiment un problème SC,donc.
Je continue...
Hors ligne