voilà.
C'est bien ça mon problème. Et c'est pour ça que j'avais opté pour les sous-patch. Étant donné que c'est le bazar dans les fichiers textes pour supprimer les valeurs inutilisées. ( il doit y avoir solution, mais je n'ai pas pris le temps )
Hors ligne
La solution la plus simple, c'est d'écrire toutes les valeurs à chaque sauvegarde des paramètres et d'écraser la version précédente.
Hors ligne
Et dan l'idée, ce serait possible de faire un fichier dans lequel toutes les données de tous les patch sont stockées ? Ça me parait un peu compliqué. Et s'il faut à chaque nouvelle occurrence faire un nouveau fichier texte, c'est un peu chiant. Je m'en sort pas mal avec mes sous-patch ...
Hors ligne
comme disais Olivier, pour écrire dans un patch (pour ensuite par exemple relire la valeur précédemment écrite) un
[set $1<
|
[<
marche bien
ça te permet de garder ta valeur choisie dans un message, et de la banguer si le coeur t'en dit
(si j'ai bien comprtis ce que tu veux faire)
Hors ligne
citation :
Je m'en sort pas mal avec mes sous-patch
Mais tu as toi-même atteint une de leur limite d'utilisation...
Ta question en est la preuve...
Il y a différentes façons de stoker les paramètres d'un patch dans un fichier texte.
(Je vais demander à Pascal Gustin ce à quoi elle était arrivé car, de souvenir, c'était plutôt pas mal)
L'intérêt majeur est de pouvoir avoir des pre-set et de les charger à la volée.
Sinon, il y a aussi cette solution :
[phasor~ $1]
|
[vcf~ $2 $3]
|
[enveloppe $4 $5 $6 $7 $8]
|
[dac~]
Dernière modification par Olivier (2013-01-21 15:11:09)
Hors ligne
pob a écrit:
Si tu fais une librairie de sous-patchs tu devrais vraiment penser à faire une librairie d'abstractions !
Il te faut faire des abstractions avec des paramètres que tu donnes à la suite du nom de ton abstraction.
Ces valeurs seront reprises dans ton patch par une série de $1, $2 etc...
genre :
[initbang] (dans pd extended seulement)
|
[f $1]
|
Ou :
[phasor~ $2]
|
etc...
Il y a tout d'expliqué dans la doc de Pd ou le Floss manual, il me semble.
Dans la doc de Pd je sais pas (et ne lisant presque pas l'anglais j'aimerais savoir où), mais dans le Floss manual il me semble que non.
Il est bien question des abstractions (page 106 et 107), mais je n'y trouve pas comment créer une abstraction. Un peu comme un sous-patch peut-être. Mais comment faire pour que ce soit une abstraction et non un sous-patch ?
Je tente un peu de suivre ce fil mais cela ne m'a pas suffit pour comprendre.
Hors ligne
tu tisses ton patch
puis tu le sauve dans un dossier ( librairie par exemple )
dans les menus de puredata, tu trouve "path" et tu y rajoute le chemin vers ta librairie
tu peux maintenant appeler ton abstraction en tapant son nom, comme un objet.
Hors ligne
lionmarron a écrit:
pob a écrit:
Il y a tout d'expliqué dans la doc de Pd ou le Floss manual, il me semble.
Dans la doc de Pd je sais pas (et ne lisant presque pas l'anglais j'aimerais savoir où), mais dans le Floss manual il me semble que non.
Il est bien question des abstractions (page 106 et 107), mais je n'y trouve pas comment créer une abstraction. Un peu comme un sous-patch peut-être. Mais comment faire pour que ce soit une abstraction et non un sous-patch ?
Je tente un peu de suivre ce fil mais cela ne m'a pas suffit pour comprendre.
http://en.flossmanuals.net/pure-data/da … tractions/
En fait une abstraction est un patch Pd. On ajoute ça à la racine du dossier du patch en cours ou dans un chemin qu'on aura pris le temps de déclarer dans le patch. [path /abstractions] (pd ext 0.43+) ou [declare -path /abstractions] pour un dossier nommé "abstractions" dans le répertoire de travail.
Les valeurs des arguments peuvent être récupérés dans des objets (pas les messages) avec $1, $2 (dans l'ordre).
Si tu utilises un send/receive, une table ou autre chose spécifique à l'intérieur de cette abstraction on ajoutera "$0-" à son nom. genre [send $0-valeur] [receive $0-valeur] [table $0-donneesAudio]
Malheureusement, aujourd'hui, l'anglais reste assez incontournable en programmation. Je sais que ça fait deux choses à apprendre en même temps pour certains...
Hors ligne
albdet a écrit:
dans les menus de puredata, tu trouve "path" et tu y rajoute le chemin vers ta librairie
tu peux maintenant appeler ton abstraction en tapant son nom, comme un objet.
Petite précision : Il est clair qu'en bossant avec des abstractions, déclarer un path une fois pour toute c'est bien, mais on peut aussi accéder à une abstraction sans avoir préalablement déclarer son chemin, en renseignant 'simplement' son chemin absolu, genre [/home/rep/live/bloubiboulga] (ou bloubiboulga est le fichier .pd à atteindre)
Hors ligne
pob a écrit:
http://en.flossmanuals.net/pure-data/dataflow-tutorials/abstractions/
Ça c'est exactement le genre de source qui me manquait, notamment si je remonte dans les menus.
pob a écrit:
En fait une abstraction est un patch Pd. On ajoute ça à la racine du dossier du patch en cours ou dans un chemin qu'on aura pris le temps de déclarer dans le patch. [path /abstractions] (pd ext 0.43+) ou [declare -path /abstractions] pour un dossier nommé "abstractions" dans le répertoire de travail.
Les valeurs des arguments peuvent être récupérés dans des objets (pas les messages) avec $1, $2 (dans l'ordre).
Si tu utilises un send/receive, une table ou autre chose spécifique à l'intérieur de cette abstraction on ajoutera "$0-" à son nom. genre [send $0-valeur] [receive $0-valeur] [table $0-donneesAudio]
Cette fois j'ai compris suffisamment pour créer une abstraction et l'utiliser. Peut-être pas encore assez pour utiliser des arguments mais j'espère que ça viendra.
J'aurais peut-être une question pour savoir ce qui est possible ou non.
Si je veux envoyer le 1er opérande d'une opération arithmétique je peux faire comme ça :
Mais je ne trouve pas le moyen d'envoyer le second opérande à la place du premier. Par exemple si je fait ça :
ce sont les nombres un ou deux arrivent en bout de chaîne, pas les nombres 10 ou 5.
Je ne sais pas s'il y aurait un moyen de le faire, éventuellement avec une abstraction ou un sous-patch, mais je n'y suis pas arrivé même en essayant d'utiliser des arguments.
Dernière modification par lionmarron (2013-01-21 20:25:50)
Hors ligne
Merci, c'est super et les deux solutions marchent.
Evidemment je comprends pas pourquoi ni comment, mais je peux supposer qu'au moins une partie de la réponse se trouvera dans les documentations qu'il me reste à imprimer. Ce que je ne devrais pas faire avant quelques jours (notamment pour éviter de faire le jour même ce qui peut être remis au lendemain).
Hors ligne