bonjour a tous
je me remet doucement a applescript et j'ai bien du mal
voila ce que je souhaite faire
l'idée est de réaliser une compilation de fichier son specifiques
extrait dans grande nombres.
je m'explique
a la fin d'un tournage de long metrage on se retrouve avec un nombre
de fichiers son tres impressionnants (entre 6000 et 10000 ) la plus
part de ces fichiers sont des sons direct (liés a une image) et
d'autres sont des sons seuls. il est tres interresant pour nous de
pouvoir extraire de la masse des fichier sons uniquement les sons seuls.
pour ça j'ai d'abord ecrit un script qui ouvre le dossier principale
du projet puis ouvre le premier dossier et enfin controle le nom du
premier fichier pour verifier si ces un son seul si oui il en fait une
copie le tout dans deux boucle imbriqué.
cela fonctionne tres bien mais
pour controller si un son est sons seul il suffit d'examiner le nom de
fichier. en effet un fichier audio de cinema (enregistré avec le
cantar ) va se presenter comme ça
MI6862== 29 0 t 1==_1.WAV et un son seul comme ça
MI6862== 29 0 W 1==_1.WAV vous remarquez que la difference
reside dans le "t" ou le "w" donc avec le script que j'ai fait cela
fonctionne.
mais il arrive assez souvent que le fichier audio n'utilise comme nom
que ça version courte c'est a dire MI6862.WAV des lors il n'est plus
possible d'utliliser le nom pour trouver les sons seul.
dans ce cas il n'y a qu'une solution ouvrir le fichier audio et lire l
'entete du fichier ou l'on va retrouver a coup sur les indications.
voici un exemple de ce que donne comme resulat ce petit script
try
set monFichier to choose file {}
open for access monFichier
read monFichier before data
--set x to result as text
on error
display dialog "Erreur à l'ouverture du fichier"
close access monFichier
end try
resultat
"RIFFB3u
aSCENE= 29 / 0
aTAKE=t 2
aTAPE=0529
aSPEED=025.000-ND
aTAG=MI6863
aTYP=mxdn
aCHNL=Xb
aNOTE=
film$
mais voila cela ne fonctionne pas toujours et il semble difficile
d'exploiter ce resultat comme une chaine de caractere afin de verifier
si aTAKE = "t" ou "w"
ci joint le script qui fonctionne sur les noms de fichier
tell application "Finder"
set n to 1
set m to 1
set dossource to select folder (choose folder with prompt
"selectionnez un dossier projet Cantar")
set nomdossource to name of dossource
log nomdossource
set AppleScript's text item delimiters to "."
set extdos to get the last text item of nomdossource
log extdos
if (extdos = "CA1") then
set doscopy to select folder (choose folder with prompt
"selectionnez un dossier pour compiler vos sons seuls")
set nbsource to count item of dossource
repeat until n = nbsource + 1
set nbfiles to count item of item n of dossource
repeat while m < nbfiles + 1
set nomfile to name of item m of item n of dossource
set ext to name extension of item m of item n of dossource
if ext = "WAV" then
set AppleScript's text item delimiters to " "
set nbitem to count text items of nomfile
if (nbitem = 1) then
display dialog "ce fichier a un nom court cantar vous devez le
transformer en nom long"
else
set x to get the last text item of nomfile
set AppleScript's text item delimiters to ""
set y to get the first text item of x as text
log y
if (y = "w") then
beep
duplicate item m of item n of dossource to doscopy
end if
end if
end if
if (m = nbfiles) then
set m to 1
exit repeat
else
set m to m + 1
end if
end repeat
set n to n + 1
end repeat
else
display dialog "ce dossier ne semble pas etre un dossier de projet
cantar"
end if
end tell
merci a ceux qui prendrons le soin de me lire et peut etre m'aider
yves-marie
_______________________________________________
Applescript_fr mailing list
Applescript_fr@???
http://listes.patpro.net/mailman/listinfo/applescript_fr