Outils pour utilisateurs

Outils du site


Lister .wav d'un répertoire

Génère un fichier .pd qui contient la liste des samples.

Note: le script est une ébauche, aucun soin sur la présentation du truc.

lister_wav.sh
#!/bin/bash
 
# On génère un patch .pd, qui contient un canva de choix nommés pour les samples
 
[ $# -lt "1" ] && echo "Fournit un répertoire !" && exit 1
 
 
ROOT_SAMPLES=/home/fab/mao/samples/18-st
PATH_SAMPLES=$ROOT_SAMPLES/$1
 
[ ! -d $PATH_SAMPLES ] && echo "Repertoire n'existe pas !" && exit 2
 
echo $PATH_SAMPLES >&2
 
echo "#N canvas 0 50 681 716 10;"
echo "#X obj 500 50 outlet;"
 
let nbsamp=0
 
 
for i in $PATH_SAMPLES/*.wav
do
 
  fichiersample=`basename "$i"`
  nomsample="${fichiersample%.wav}"
 
  let nbsamp=$nbsamp+1
 
  let pos_x=55
  let pos_y=55+$nbsamp*20
 
  echo "#X obj $pos_x $pos_y bng 15 250 50 0 empty \\\$0-smp$nbsamp $nomsample 17 7 0 10 -262144 -1 -1;"
 
  let pos_msg_x=$pos_x+300
  echo "#X msg $pos_msg_x $pos_y $i;"
 
  let id_cnx1=$nbsamp*2-1
  let id_cnx2=$nbsamp*2
 
  echo "#X connect $id_cnx1 0 $id_cnx2 0;"
  echo "#X connect $id_cnx2 0 0 0;"
 
done
 
echo "Nombre de samples: $nbsamp" >&2
echo "#X obj 564 6 loadbang;"
echo "#X obj 564 28 \$0;"
echo "#X obj 564 50 outlet;"
let id_cnx=$nbsamp*2+1
let id_cnxa=$id_cnx+1
let id_cnxb=$id_cnx+2
 
echo "#X connect $id_cnx 0 $id_cnxa 0;"
echo "#X connect $id_cnxa 0 $id_cnxb 0;"
 
echo "#X coords 0 -1 1 1 300 500 1 50 50;"

Invocation

lister_reps.sh
for i in *
do
./lister_wav.sh $i > smp_$i.pd
done
article/puredata/listwav.txt · Dernière modification: 2012/06/01 01:27 par fab