Bonjour à toute la communauté!
Je me suis mis récemment à PureData dans le cadre d'un projet de réalité virtuelle et mon problème est le suivant:
Je travaille sous Linux et mon programme C utilise des sockets UDP pour communiquer avec mon patch PureData. Du patch vers le programme les messages passent, mais du programme vers le patch, c'est une autre affaire.
Y a-t-il une syntaxe particulière pour ces messages afin que PureData les prenne en compte? J'ai déjà trouvé qu'un message se termine par un ";" (+ éventuellement " \n ") mais cela n'y change rien... et je voudrais si possible éviter de passer par la commande "pdsend" et une redirection des messages vers l'entrée standard. Ou mes messages ont la bonne syntaxes et le problème viendrait-il d'ailleurs?
Merci d'avance pour votre indulgence et de vous pencher sur mon misérable et humble problème ,
Pitburger
Hors ligne
Salut,
à ta place , j'utiliserais l'OSC, par exmple avec le librairie liblo.
Plus de souci du coup de format de message et de plus tu peux communiquer avec un autre backend que Pd si par exmple tu as envie de passer à Max/MSP ou SuperCollider
++
O.
Hors ligne
Salutations!
Merci de m'avoir répondu aussi rapidement, mais l'OSC je connais pas. Est-ce que tu aurais un lien sous le coude pour m'aiguiller dans cette direction?
Edit : et surtout, est-ce compatible avec C/C++? Je n'ai malheureusement pas le choix du langage, la biblio graphique utilisée fonctionne sur C++, et d'après le début de mes recherches il n'existe pas de compatibilité avec C/C++.
Pitburger
Dernière modification par Pitburger (2009-03-04 14:03:03)
Hors ligne
OSC, c'est un protocole de communication qui passe sur le réseau par UDP, très pratique! (des liens dans ce message : http://codelab.fr/924#p4494 ). En bref, c'est une sorte de super MIDI
spécifications : http://opensoundcontrol.org/spec-1_0
Avec C, ça ne devrait pas poser de problème, cf : http://opensoundcontrol.org/guide-osc-libraries
Sinon il existe aussi une librairie OSC pour openFrameworks ( http://www.openframeworks.cc/ ), voir http://www.openframeworks.cc/forum/viewtopic.php?t=198
Un exemple d'utilisation OF / OSC : http://www.ecole-art-aix.fr/article3365.html
Des exemples sur codelab : communication vvvv - pure data par OSC ou processing & pure-data
Hors ligne
Bonsoir,
Un merci un peu tardif pour toutes ces infos!
Je me suis bien renseigné sur OSC et j'utilise la liblo pour C, et tente d'installer en vain la librairie de MrPeach pour PureData. Je pense avoir affaire à un beau bouquet d'externals C, et je n'ai pas trouvé d'infos précises sur l'utilisation de ceux-ci : comment faut-il les compiler?
++ et merci encore!
Pitburger
Hors ligne
si tu as du mal à le compiler, tu peux essayer d'utiliser pd-extended qui est une version de puredata comprenant un gros lot d'externals, dans lequel se trouve l'osc de MrPeach.
Hors ligne
pd-extended se trouve ici :
http://puredata.info/downloads
et ensuite pour l'utilisation de MrPeach il faut se référer à ses exemples d'utilisation soit en faisant clic-droit > Help sur un objet [packOSC], soit en allant regarder dans Help > Browser > References > MrPeach
Hors ligne
Hello!
Je possède la dernière version de PureData Extended et en effet tu avais raison rep, la lib MrPeach y est déjà. Seulement il y a un bug curieux: je dois ouvrir l'un des fichiers <internalmrpeach>-help.pd pour que la lib soit prise en compte. Y a-t-il moyen de pallier à ce bug? Ou est-ce la façon "normale" d'importer une lib?
En tout cas un grand merci pour toutes vos contributions je vais pouvoir avancer dans mon projet!
@+
Pitburger
Hors ligne
[import mrpeach] dans lepatch où tu souhaites utiliser mrpeach
au niveau du programme lui-même , tu peux aussi l'ajouter dans les préférences
++
O.
Hors ligne
Bonjour,
J'ai essayé d'introduire la ligne [import mrpeach] comme me l'a conseillé oli44 mais Pd me répond poliment :
citation :
error: [import: no such object
J'ai d'autre part essayé de paramétrer cela dans les "Préférences" de Pd, que j'ai pris comme étant le "Path..." du menu "File". J'ai donc essayé de mettre le chemin vers le fichier "binfile.pd_linux" de la librairie MrPeach dans le path, et je n'arrive malgré cela pas à utiliser les patchs de MrPeach.
Comment faut-il paramétrer le logiciel (parce que je suppose que je m'y prends mal) ou quelqu'un aurait-il une solution alternative à me proposer?
Je vous remercie d'avance,
Pitburger
Hors ligne
Salut
tout est de ma faute, j'ai répondu très vite:
en fait tu ne dois pas utiliser les crochets lors de l'instanciation de l'objet import, [toto] est une convention pour représenter l'objet toto , de la même façon, [value x( est une convention pour représenter le message consistant à donner la valeur X à la variable value.
tu pourrais ainsi faire un diagramme de la sorte:
[value x(
|
| [autrevariable y(
| |
[toto]
pour représenter un objet toto acceptant un message value dans son inlet de gauche et un message "autrevariable" dans son inlet de droite.
Donc, pour revenir au mouton numérique OSC:
[import mrpeach] signifie conventionnellement: "crée un objet import ayant comme première variable à l'instaciation la valeur mrpeach".
Concrètement, tu crées un nouveau patch, en mode édition, tu ajoutes un objet , et tu écris dedans "import mrpeach". Ensuite, tu crées un autre objet [packOSC] , tu fais un clic-droit ou ctrl+clic sur Mac et tu ouvres le patch d'aide.
There you are, dear Pitburger!
Hors ligne
Pages: 1