Bonjour,
J'ai des programmes dans lesquels processing communique avec pure data par l'intermédiaire de osc.
Je voudrais que n'importe qui puisse les utiliser sans avoir à installer préalablement pure data, et dans l'idéal sans son interface graphique.
Donc j'ai copié mon pure data tout installé dans sketch/data et mis ça dans processing :
citation :
String file = dataPath("main.pd");
String file2 = dataPath("pd\\bin\\pd.exe");
try{
java.lang.Runtime.getRuntime().exec(new String[]{file2,file});
}
catch(IOException e){
println(e);
}
J'ai essayé sur un autre pc ou pure data n'est pas installé, il démarre bien mais cette fois osc n'est plus géré par pd.
J'imagine qu'il faudrait rajouter quelque chose du genre :
-lib oscx -nogui
Mais je ne sais pas vraiment où et comment.
D'autre part, le fait d'inclure pd dans les fichiers rajoute plusieurs dizaines de Mo, existe-t-il des versions allégées ou y a-t-il des choses que je puisse retirer ?
Hors ligne
- la blibliothèque osc n'est je crois pas inclus avec pd-vanilla... il te faut donc soit intégrer pd-extended (qui fournit tout un tas d'externals) mais vu que ton soucis est de proposer un environnement 'léger' le mieux serait que tu ne fournisse que ce qui est nécéssaire soit pd+ la lib osc
- pour démarrer pd avec l'option OSC il te faut l'indiquer au démarrage de celui ci soit en le lançant depuis une console avec l'option '-lib osc', soit en rajoutant la lib osc directement dans le fichier .pdsettings qui sera lu par pd lors de son lancement (.pdsettings c'est le nom du fichier sous linux, je ne sais pas précisément quel est le nom de ce fameux fichier sous win et/ou mac)
- et pour ce qui est d'un puredata allégé, non à ma connaissance ça n'existe pas... (il existe bien des versions "exotique" genre pour pda mais je ne pense pas que ce soit que tu cherches...), ceci dit en cherchant bien tu pourras peut être trouver une version optimisée qui sait ...
Hors ligne
Bonjour Nurykabe,
Les fichiers minimums avec lesquels j'ai pu lancer Pd (v.40.2, sous xp, asio) sont:
pd.exe
pd.ll
msvcrt.dll
pthreadVC.dll
Le patch du test était un petit synthé piloté en midi, activation
de l'audio et fermeture de pd inclus [pd quit\.
Ce qui donne moins d'un mo, mais tu ne disposes ainsi d'aucune
des librairies...
Pour la librairie OSC, il doit être possible de l'intégrer en appelant
pd avec la commande -lib osc, quelque chose comme ça:
String file2 = dataPath("pd\\bin\\pd.exe -lib osc"); .....???
Bonne chance pour ton projet.
solipse.
Hors ligne
Merci bien à vous deux !
Alors effectivement, en prenant la vanilla et en virant plein de fichiers, j'arrive à 7 Mo environ.
Du coup au démarrage de pd, j'ai des messages :
Gem: can't load library
cyclone: can't load library
zexy: can't load library
etc...
Mais ce n'est pas bien grave tant que ça marche.
Pour la question de la librairie osc, j'ai essayé ça :
String file2 = dataPath("pd\\bin\\pd.exe -lib osc");
et également ça :
String file2 = dataPath("pd\\bin\\pd.exe");
try{
process=runtime.exec(new String[]{file2,file,"- lib osc"});
...
Mais quoi que j'ajoute de ces façons, pd ne se lance plus du tout.
Sinon, pour ce qui est de fermer pure data, j'ai demandé à P5 d'envoyer des messages dans un bloc
public void stop() {}
Ce qui fonctionne bien lorsque je lance les programmes depuis p5, mais pas lorsque j'exporte une application.
Et encore un truc bizarre qui n'a pas grand chose à voir, mais tant que j'y suis j'en profite :
Parfois, sur certains pc, les programmes processing se démarrent en RVB et sans anti-aliasing (alors que j'ai écrit colorMode(HSB); et smooth(); dans le setup).
Ça n'arrive pas à tout les coups et sans raison apparente, un idée de quoi ça peut venir ?
Hors ligne
J'ai opté pour une autre solution, je la donne au cas où quelqu'un se retrouve dans le même cas :
J'ai fait un .bat avec marqué dedans :
START ../data/pd/bin/pd.exe -lib oscx -open ../data/patch~.pd -nogui
START sketch.exe
Et un autre pour stopper pd :
TASKKILL /F /T /IM pd.exe
On est obligé de lancer le deuxième manuellement, mais c'est mieux que rien.
Hors ligne