Ugh,
après avoir perdu un gros bout de mes patchs suite à un crash disque je me dis qu'il va tout de même un jour falloir que je gère de manière intelligente et raisonnable l'accumulation de patchs et autres abstractions qui constituent, à la longue, une grosse somme de trucs divers et variés (et avec lesquels je fais mes live...).
DONC, en gros je me dis qu'un seul répertoire racine, avec TOUS mes patchs rangés dans des dossiers séparés (avec un petite convention de nommage pour ne rien gacher) serait peut être la bnne solution. Et puis du coup, je pourrais synchro ce répertoire local avec un git ou un simple rsync.
SAUF, qu'à mettre en place c'est un peu galère : des patchs j'en ai des centaines, des vieux, des récents, dés qui marchent, des qui cafouillent... Il faut donc que je trie de manière exhaustive ce joyeu bordel et surtout que je nettoie tout ce qui est foireux...
Je me suis donc dit qu'un principe d'autopatchage, qui me permettrait d'avoir une liste exhaustive de TOUS mes patchs(et leurs GOP) serait une élégante solution.
Pour l'instant j'arrive à créer des [declare -path $1] (voir fichier joint)
Ok donc les chemins s'est réglé, et ça marche bien, mais j'aimerais faire la même chose avec les fichiers *.pd, comme ça je pourrais associer à chaque répertoire/path tous les patches *.pd qui sont dedans... Et la je bloque (principalement sur le fait que je n'arrive pas à enlever l'extension aux fichiers *.pd pour en faire des noms de boite..)
Quelqu'un à t'il résolu ce genre de truc : rassembler dans un unique patch, tous ses patchs ?
C'est vraiment dans une intention de 'centralisation' des patchs pour ensuite pouvoir les sauvegarder facilement dans le nuage...
Hors ligne
Je sais pas si ça peut être utile comme base, mais j'ai un plug-in TclTk qui permet le drag&drop dans Pd. En particulier quand on fait un DnD d'un fichier .pd dans un patch ouvert, on crée une instance de ce patch en abstraction.
Ce que tu décries me fait penser au bout de code qui instancie l'abstraction. Mais j'ai peut-être pas tout saisi...
package require tkdnd dnd bindtarget .pdwindow text/uri-list <Drop> { foreach file %D {open_file $file} } bind PatchWindow <<Loaded>> \ {+dnd bindtarget %W text/uri-list <Drop> "pdtk_canvas_makeobjs %W %%D %%X %%Y"} proc pdtk_canvas_makeobjs {mytoplevel files x y} { set c 0 set rootx [winfo rootx $mytoplevel] set rooty [winfo rooty $mytoplevel] for {set n 0} {$n < [llength $files]} {incr n} { if {[regexp {.*/(.+).pd$} [lindex $files $n] file obj] == 1} { ::pdwindow::error " do it $file $obj $x $y $c" pdsend "$mytoplevel obj [expr $x - $rootx] [expr $y - $rooty + ($c * 30)] $obj" incr c } } }
Autrement en patch dynamique, tu fais une recherche dans ton dossier et tous les sous-dossiers qu'il contient et tu crées dans un sous-patch chacun des fichiers .pd que tu croises. Il y a des outils genre [splitfilename] dans iemlib qui permettent ça.
Hors ligne
pob a écrit:
Je sais pas si ça peut être utile comme base, mais j'ai un plug-in TclTk qui permet le drag&drop dans Pd. En particulier quand on fait un DnD d'un fichier .pd dans un patch ouvert, on crée une instance de ce patch en abstraction.
Ce que tu décries me fait penser au bout de code qui instancie l'abstraction. Mais j'ai peut-être pas tout saisi...
Ha si ça peut effectivement être une piste...
je vais regarder de plus prés...
pob a écrit:
Autrement en patch dynamique, tu fais une recherche dans ton dossier et tous les sous-dossiers qu'il contient et tu crées dans un sous-patch chacun des fichiers .pd que tu croises. Il y a des outils genre [splitfilename] dans iemlib qui permettent ça.
oui voila c'est en gros ce que je cherche à faire
j'ai la version qui liste les dossiers et crée les path (fichier inclus dans le post ci dessus)
et la c'est le patch qui crée des objets avec les *.pd contenus dans le répertoire courant
...
faut just que j'arrive à regrouper les 2 dans un même mouvement...
Hors ligne
J'en ai fait un moi aussi de lister du coup....
J'utilise pas le shell, bien que très pratique, mais ça ne marche pas sous window donc je test d'autres choses....
Normalement ça lit tous les sous dossiers et ça prend en charge les fichiers pd....
menup c'est une abstraction à changer suivant l'OS et la version de pd-extended (si ça marche pas, remplace menup par tof/pmenu
+++++
Hors ligne
Pages: 1