Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2009-03-04 11:40:44 Communications entre C et PureData

Pitburger
nouveau membre
Date d'inscription: 2009-03-04
Messages: 8

Communications entre C et PureData



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 wink,

Pitburger

Hors ligne

 

#2 2009-03-04 13:15:07 Re : Communications entre C et PureData

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Communications entre C et PureData



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.


La route est longue mais la voie est libre

Hors ligne

 

#3 2009-03-04 13:47:03 Re : Communications entre C et PureData

Pitburger
nouveau membre
Date d'inscription: 2009-03-04
Messages: 8

Re: Communications entre C et PureData



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

 

#4 2009-03-04 14:30:18 Re : Communications entre C et PureData

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1576
Site web

Re: Communications entre C et PureData



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

 

#5 2009-03-17 22:50:34 Re : Communications entre C et PureData

Pitburger
nouveau membre
Date d'inscription: 2009-03-04
Messages: 8

Re: Communications entre C et PureData



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

 

#6 2009-03-18 09:45:04 Re : Communications entre C et PureData

rep
modérateur
Lieu: Toulouse
Date d'inscription: 2008-02-27
Messages: 1444
Site web

Re: Communications entre C et PureData



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

 

#7 2009-03-18 09:47:57 Re : Communications entre C et PureData

rep
modérateur
Lieu: Toulouse
Date d'inscription: 2008-02-27
Messages: 1444
Site web

Re: Communications entre C et PureData



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

 

#8 2009-03-18 19:01:02 Re : Communications entre C et PureData

Pitburger
nouveau membre
Date d'inscription: 2009-03-04
Messages: 8

Re: Communications entre C et PureData



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

 

#9 2009-03-23 15:42:27 Re : Communications entre C et PureData

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Communications entre C et PureData



[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.


La route est longue mais la voie est libre

Hors ligne

 

#10 2009-03-25 13:32:33 Re : Communications entre C et PureData

Pitburger
nouveau membre
Date d'inscription: 2009-03-04
Messages: 8

Re: Communications entre C et PureData



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

 

#11 2009-03-29 21:12:54 Re : Communications entre C et PureData

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Communications entre C et PureData



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!


La route est longue mais la voie est libre

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024