Annonce

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


#1 2014-04-25 10:38:58 autopatchage en fonction de l'arboresence de fichiers..

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

autopatchage en fonction de l'arboresence de fichiers..



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

 

#2 2014-04-25 10:42:21 Re : autopatchage en fonction de l'arboresence de fichiers..

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

Re: autopatchage en fonction de l'arboresence de fichiers..



le fichier...
autopath est une abstraction à créer dans un fichier 'main.pd'

Hors ligne

 

#3 2014-04-25 10:45:18 Re : autopatchage en fonction de l'arboresence de fichiers..

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

Re: autopatchage en fonction de l'arboresence de fichiers..



Et si ça se trouve un script python ou bash est plus efficace qu'un truc vanilla pd...

Hors ligne

 

#4 2014-04-25 12:02:41 Re : autopatchage en fonction de l'arboresence de fichiers..

pob
Exterminator
Lieu: Rennes
Date d'inscription: 2009-10-13
Messages: 765
Site web

Re: autopatchage en fonction de l'arboresence de fichiers..



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

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

 

#5 2014-04-25 12:08:30 Re : autopatchage en fonction de l'arboresence de fichiers..

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

Re: autopatchage en fonction de l'arboresence de fichiers..



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

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

 

#6 2014-06-04 10:35:58 Re : autopatchage en fonction de l'arboresence de fichiers..

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Re: autopatchage en fonction de l'arboresence de fichiers..



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

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024