Re: [AS] lire un fichier

Page principale
Supprimer ce message
Répondre à ce message
Auteur: yves-marie omnes
Date:  
À: La liste AppleScript Francophone
Sujet: Re: [AS] lire un fichier
>
>
> Le 18 déc. 08 à 09:35, yves-marie omnes a écrit :
>
>>>
>> Merci Alexis ta solution permet parfaitement de faire ce que je veux
>> je l'ai
>> intégré dans mon script et je me suis fendu (non sans mal) d'une
>> interface
>> applescript studio.
>> Cependant j'ai constaté que plus fichier été gros plus l'exécution
>> du script
>> été longue comme si le fichier été entièrement logiquement en ne
>> lisant que
>> les 300 premier bits le script devrait s'éxecuter dans un temps donné
>> quelque soit la poids du fichier
>>
>> Quelqu'un a t'il un éclaircissement a ce sujet
>>
>
> En effet, la version actuelle lit le fichier en entier. Ceci devrait
> être réparé dans une future version...
>
> Pour pallier à cet inconvénient, tu peux lire le début du fichier avec
> read et appliquer find text au texte lu :
>
> -- au lieu de find text "aTAKE=t" in monFichier for 300 :
> set s to read monFichier before data -- ou for 300
> find text "aTAKE=t" in s
>
> Cordialement,
> Alexis
>


Salut
Evidement je teste ça et je te dit ....

merci
>>
>>
>>
>>> Bonjour,
>>>
>>> La commande "find text" du complément de pilotage Satimage.osax peut
>>> vous intéresser. Elle permet de chercher du texte dans une variable
>>> ou
>>> dans un fichier.
>>>
>>> set sonDirect to false
>>> try
>>> find text "aTAKE=t" in monFichier for 300 -- cherche "aTAKE=t"
>>> uniquement dans les 300 premiers caractères du fichier monFichier.
>>> set sonDirect to true
>>> end try
>>> if sonDirect then
>>> --etc
>>> end if
>>>
>>> Pour pouvoir utiliser la commande "find text" dans un script
>>> AppleScript, il faut télécharger Satimage.osax (qui est gratuit) à
>>> l'adresse suivante :
>>> http://www.satimage.fr/software/fr/downloads/downloads_companion_osaxen.html
>>> puis suivre les instructions d'installation du fichier "lisez-moi"
>>> joint au téléchargement...
>>>
>>> Cordialement,
>>> Alexis Gottlieb
>>> Satimage
>>>
>>> Le 17 déc. 08 à 16:00, yves-marie omnes a écrit :
>>>
>>>>
>>>> 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
>>>
>>> _______________________________________________
>>> Applescript_fr mailing list
>>> Applescript_fr@???
>>> http://listes.patpro.net/mailman/listinfo/applescript_fr
>>>
>>
>>
>> _______________________________________________
>> Applescript_fr mailing list
>> Applescript_fr@???
>> http://listes.patpro.net/mailman/listinfo/applescript_fr
>
> _______________________________________________
> Applescript_fr mailing list
> Applescript_fr@???
> http://listes.patpro.net/mailman/listinfo/applescript_fr
>



_______________________________________________
Applescript_fr mailing list
Applescript_fr@???
http://listes.patpro.net/mailman/listinfo/applescript_fr