[AS] lire un fichier

Page principale
Supprimer ce message
Répondre à ce message
Auteur: yves-marie omnes
Date:  
À: La liste AppleScript Francophone
Anciens-sujets: Re: [AS] [*] -Re: BlogAs : sauvegarde cl usb
Sujet: [AS] lire un fichier

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