IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Script pour vérifier la fin d'une tâche du Terminal et problème d'encodage de chemin [AppleScript]


Sujet :

AppleScript

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut Script pour vérifier la fin d'une tâche du Terminal et problème d'encodage de chemin
    Bonjour et merci par avance pour vos lumières,

    Je suis en train de terminer une petite application et j'ai un petit souci pour demander à mon script de lire (read) un fichier en lui fournissant son chemin.

    Je résume :

    etape 1

    J'extrais un chemin d'un fichier XML :
    "file:///Users/samysamy/Desktop/DossierTemporaire/a%CC%80_A%CC%80_A%CC%82_%C3%A6_%C3%86_e%CC%81_E%CC%81_e%CC%80_E%CC%80_e%CC%82_E%CC%82_e%CC%88_E%CC%88_i%CC%82_I%CC%82_I%CC%80_I%CC%88_%C5%93_o%CC%82_O%CC%82_O%CC%80_u%CC%80_U%CC%80_c%CC%A7_C%CC%A7_%3F_!_%E2%82%AC_$_&.mov"

    etape 2

    Je passe ce chemin à la moulinette d'une petite routine replace_chars pour en récupérer les bons caractères et une autre pour supprimer les 8 premiers caractères (i.e "file:///)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    repeat with k from 1 to (count of ListChar)
    	set thePath to replace_chars(thePath, item k of ListChar, item k of ListCharEqui)
    end repeat
    	set thePathTerminal to thePath
    	set thePath to (text 9 thru (length of thePath) in thePath)
    J'obtiens le string : Users/samysamy/Desktop/DossierTemporaire/à_À_Â_æ_Æ_é_É_è_È_ê_Ê_ë_Ë_î_Î_Ì_Ï_œ_ô_Ô_Ò_ù_Ù_ç_Ç_?_!_€_$_&.mov

    Il servira à l'étape 4

    etape 3

    Je fabrique deux chemins qui serviront au Terminal et au programme un peu plus tard.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set LCheminTXTTerminal to SingleGuil & "desktop/Silence" & theDate & ".txt" & SingleGuil
    set LCheminTXTFinder to (":Desktop:Silence" & theDate & ".txt") as string
    Note : theDate est une string fabrique avant à partir de la date et l'heure actuelle

    etape 4

    Je fabrique un ligne de commande qui sera livrée juste après au Terminal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set LigneCommande to " ffmpeg -i " & SingleGuil & thePathTerminal & SingleGuil & " -af silencedetect=n=" & R_dBMin & "dB:d=" & R_DurMin & " -f s16le -y /dev/null 2>&1 | tee " & LCheminTXTTerminal
    etape 5

    J'execute une petite routine pour lancer la commande dans le Terminal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tell application "Terminal"
    	do script LigneCommande 
    end tell
    Et cela fonctionne car j'obtiens bien un petit fichier .txt placé sur le bureau. Il est nourri comme je le voudrais (par le contenu de la fenêtre du Terminal grâce à la commande "tee").
    La commande a demandé au Terminal d'analyser un fichier audio/video et de repérer les parties du fichier dont le volume est inférieur à la valeur R_dBMin entrée par l'utilisateur du programme et qui dure plus de R_DurMin seconde. Tout cela est donc ensuite écrit dans le fichier .txt en question...

    JUSQU'ICI TOUT VA BIEN

    etape 6

    Comme je ne sais pas trop faire autrement et que je veux attendre que le Terminal ait fini sa tâche puis nourri ce fichier .txt, je lance une boucle qui voudrait, toutes les secondes, compter le nombre de lignes du fichier .txt. J'en profite à chaque test pour récupérer ces lignes dans une variable LMes_LignesTXT que je traiterais plus tard.
    Lorsque le nombre de lignes ne croît plus, la routine se termine et devrait donc livrer ce texte LMes_LignesTXT.
    Note: le plus souvent le Terminal met moins de 2 ou 3 secondes pour accomplir sa tâche. Même sur de très longs fichiers vidéo/audio
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    repeat while TAcheEnCours
    	delay 1
    	set LsourceTXT to  LCheminTXTFinder as file
    	set LMes_LignesTXT to paragraphs of (read LsourceTXT)
    	if (count of LMes_LignesTXT) > n then
    		set n to (count of LMes_LignesTXT)
    	else
    		set TAcheEnCours to false
    		tell application "Terminal"
    			quit
    		end tell
    		exit repeat
    	end if
    end repeat
    set TAcheEnCours to true
    return LMes_LignesTXT
    MAIS MAIS MAIS
    Automator annonce une erreur. Il n'y arrive pas avec cette partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    set LsourceTXT to  LCheminTXTFinder as file
    set LMes_LignesTXT to paragraphs of (read LsourceTXT)
    Et je pense qu'il y a soit un problème pour convertir cette string en chemin de fichier (en "file") soit que commencer le chemin par desktop n'est pas suffisant pour lui et qu'il lui faudrait peut être "DisqueDeDépart:Utilisateur" avant...
    Donc je me demande comment faire pour que ce chemin puisse être lu et converti en ... LMes_LignesTXT exploitables ensuite !!!

    Questions subsidiaires

    Ce programme est un peu tordu ..

    Question 1 :

    Je suis certain qu'au lieu de lancer le Terminal, je pourrais utiliser un Do Shell Script avec la même commande... mais il semble que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do shell script LigneCommande
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tell application "Terminal"
    	do script LigneCommande 
    end tell
    Ne fonctionne pas !
    Il doit falloir écrire la commande autrement.

    Question 2 :

    Au lieu d'écrire un fichier texte pour ensuite en récupérer le contenu, je suis certain que je pourrais remplacer la commande "tee" du Terminal par un truc du genre "transfert le contenu de la fenêtre du terminal dans une variable que je peux récupérer dans le programme...
    C'est sauf que je ne sais pas faire vu que je n'y connais rien en commande du Terminale !!!

    Merci pour votre éventuelle aide pour le nul que je suis... et qui malheureusement n'a pas d'autre connaissance que l'AppleScript (et encore, comme on peut le voir ici...)

    Voici un lien vers ce que l'application fait :
    https://vimeo.com/415340397/f28424553d

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut
    Bien, il faut faut croire que de prendre le temps de bien formuler une question redonne l'énergie nécessaire pour trouver la solution
    J'ai donc modifié les lignes qui servaient à lire le fichier créé par le Terminal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set LsourceTXT to alias (((path to desktop folder) & LLCheminTXT) as string)
    Cela permet permet donc de compléter le chemin en partant bien du début ...
    Et la variable LLCheminTXT fabriquée plus avant dans le programme, n'est donc plus évidemment que ("Silence" & theDate & ".txt") as string" et plus (desktop:"Silence" & theDate & ".txt") as string
    Et cela fonctionne désormais !!!

    Si néanmoins mes 2 questions subsidiaires vous inspiraient, je lirais avec plaisir vos solutions...
    Voir à la toute fin du message précédent

    Merci par avance pour votre aide

  3. #3
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour Martin,
    Effectivement, il serait beaucoup plus simple d'utiliser "do shell script":
    1) cela permet le mode synchrone, donc l'exécution de l'Applescript doit attendre la fin de l'exécution de la commande shell (pas de boucle nécessaire)
    2) cette commande récupère directement le résultat de l'instruction shell dans une variable que tu auras loisir de décortiquer dans la suite de ton script.

    Il reste que cette commande doit fonctionner !
    Pour cela, il faut prendre en compte les différences entre une commande dans le Terminal et via "do shell script".
    La première et plus importante différence tient aux chemins utilisés dans chaque cas.

    Dans le Terminal, le chemin par défaut est /bin/bash, sauf si tu l'as modifié. Pour vérifier, il suffit d'afficher la variable SHELL dans le Terminal en entrant echo $SHELL.
    En mode Terminal, lorsque tu entres une commande, le système la recherche en parcourant des arborescences de dossier dans un ordre précis à partir de ce /bin/bash, ce que le do shell script ne fait pas.
    Dans le do shell script, le chemin par défaut est /bin/sh, sans recherche dans d'autres directories.
    Dans ton cas, il ne trouve pa le chemin vers la commande ffmepg, ce qui provoque l'erreur.

    Donc pour s'en sortir, il faut bien penser à faire précéder ta commande ffmpeg du chemin complet à partir du début. Logique !
    Où est donc enregistrée la commande ffmepg ?...
    Pour cela, dans le Terminal, entre: which ffmepg
    La réponse est le chemin complet que tu dois utiliser dans ton do shell script pour appeler ffmepg.
    Par exemple si la réponse est /usr/local/bin/ffmepg alors tu ajoutes ce chemin en début de ta variable LigneCommande.
    ...sans répéter ffmepg qui est déjà dans ta commande,..bien sur !

    Cordialement

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut
    Tu es extraordinaire Philippe ! D'une clarté à toute épreuve !!!
    Cela va me mettre le pied à l'étriller pour les do shell script, sans sortir de mon cher Applescript
    Je teste tout ça et reviens te dire si tout est ok...
    Merci encore mille fois

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut
    Bon ben tout marche très bien Philippe !
    J'avance et suis maintenant sur une petite complexification où je voudrais étudier tous les streams audio d'un fichier un par un.
    Je ne suis pas loin du tout. J'ai juste un souci pour récupérer les infos de fichier sans les traiter (sans lancer le silencedetect donc).
    un truc comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     do shell script /usr/local/bin/ffmpeg -i /Users/samysamy/Desktop/PDF/TESTS/SILENCEDETECTION/Stereo_AUDIO.mov
    C'es sauf que je pense qu'il manque un output car le programme me renvoie une erreur de syntaxe...
    Quand je place cette commande dans le Terminal (sans le do shell script évidement, il me dit effectivement "At least one output file must be specified"
    et je pense que dans le code précédent que tu m'a aidé à trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do shell script /usr/local/bin/ffmpeg -i /Users/samysamy/Desktop/PDF/TESTS/SILENCEDETECTION/MONO_3_CANAUX.mov -af silencedetect=n=-50dB:d=1:m=y -f s16le -y /dev/null 2>&1
    ... il est quelque part indiqué à la fin de la ligne que ben la sortie c'est pas un fichier, c'est juste le contenu des lignes que cette commande a générées

    Je pense que c'est très simple Mais moi pas encore bien parler Shell

    Lorsque j'aurais réussi à attraper toutes ces infos, je lancerais un silencedetect sur chaque stream. Un par un.
    Et là aussi il faut que je trouve. Mais je pense que ce sera avec un "-map" et le numéro du stream...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do shell script /usr/local/bin/ffmpeg -i /Users/samysamy/Desktop/PDF/TESTS/SILENCEDETECTION/MONO_3_CANAUX.mov -map 0:2 -af silencedetect=n=-50dB:d=1:m=y -f s16le -y /dev/null 2>&1
    Je continue à chercher en tout cas de mon côté
    Merci par avance si (et seulement si) tu as encore une belle explication Philippe.
    Mais bien entendu comme d'habitude, ne te sens obligé de rien. J'à qu'à bosser un peu
    Je pense qu'une fois rendu là, tout le reste sera du travail sur mes FCPXML et ça je sais bien faire maintenant... grâce à toi !
    Martin

  6. #6
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    Citation Envoyé par MartinOsset Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    do shell script /usr/local/bin/ffmpeg -i /Users/samysamy/Desktop/PDF/TESTS/SILENCEDETECTION/MONO_3_CANAUX.mov -af silencedetect=n=-50dB:d=1:m=y -f s16le -y /dev/null 2>&1
    ... il est quelque part indiqué à la fin de la ligne que ben la sortie c'est pas un fichier, c'est juste le contenu des lignes que cette commande a générées
    Martin
    Je ne suis pas expert en shell (pas autant que certains sur ce forum !) mais je pense que ton problème vient effectivement de la fin de la ligne de commande : /dev/null 2>&1
    A chaque fois qu'une commande shell est exécutée, elle retourne des informations sur la sortie standard numérotée 1 et les erreurs éventuelles sur la sortie des erreurs numérotée 2.
    Par défaut, lorsque tu utilises le Terminal, les sorties 1 et 2 sont sur la fenêtre du Terminal.
    Par défaut dans le do shell script, la sortie standard 1 est la variable assignée au do shell script. Le 2>&1 signifie que la sortie des erreurs (=2) doit aussi se faire sur la sortie standard. Le signe '>' indique la redirection et le &1 est le numéro de la sortie 1.

    Ensuite il y a le /dev/null que j'interprète comme une sorte de trou noir. On y envoie tout ce que l'on ne veut pas voir (on peut aussi y prendre des réponse par défaut, mais c'est ici hors contexte).
    Si mon interprétation est correcte (j'insiste sur le "Si"), je pense que ta fin de commande indique de na pas renvoyer de données, sauf les erreurs si il y en a.
    Je ne suis pas sûr aussi il va te falloir des essais, d'autant plus que je ne maîtrise pas bien le ffmepg que je n'ai pus installé depuis xx années, car je n'en ai pas besoin.

    Cordialement

  7. #7
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut
    Merci Philippe pour ces explications et ces métaphores !

    Alors, j'ai trouvé l'info ... en lisant la documentation de ffmpeg !! Je n'osais même pas y jeter un œil tellement tout cela me paraissait abscons ... Beh en fait non !!!

    Donc là tu viens de m'expliquer ce qu'est "dev/null 2>&1" et cela me convient tout à fait pour la partie "dev/null"... et tout autant pour la partie "2>&1"

    J'ai aussi appris que le format est "forcé" par "-f" (par exemple cela peut être "-f mp3" ) et ici je pense que s16le est un format d'encodage de texte spécial (UTF - 8 ?)
    Je sais maintenant que -y indique la "sortie"
    Et j'ai même compris que silencdetextest en fait un "filtergraph" ce qui fait qu'il est appelé par "-af". Du moins c'est ce que je pense.
    Merci pour ta gentillesse Philippe.
    C'est rassurant de pouvoir venir ici tous les 2 ou 3 ans pour avancer...
    Je suis ravi de commencer touuuut doucement à comprendre comment marche les shell script...
    (ce que j'aime beaucoup dans le code, c'est que c'est comme une rencontre avec une façon de penser et donc avec des hommes !)
    Merci !!!!
    Martin

  8. #8
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut
    Mon bon Philippe,
    J'ai terminé l'application. Suis bien content.
    Pour l'utiliser j'ai du faire l'installation de ffmpeg via le terminal.
    Juste 2 lignes et hop...

    Première ligne :

    Elle sert semble-t-il à télécharger HomeBrew qui semble être un utilitaire pour pouvoir ensuite lancer l'installation de ffmpeg.
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    Une fois collée dans le Terminal et validé par enter, un message demande si on est ok pour lancer l'installation.. donc il faut encore faire enter
    On doit ensuite attendre le télécharment et l'installation de Homebrew

    Seconde ligne :

    brew install ffmpeg
    Et il faut attendre téléchargmgent et installation à nouveau.
    ffmpeg s'installe alors en suivant ce chemin : /usr/local/bin/ffmpeg

    Du coup, je me dis qu'il serait plus chouette pour les utilisateur de cette petit application de ne pas avoir à ouvrir le Terminal et faire ce job...
    Je me disais donc que je pourrais écrire un petit Script à part qu'on lancerait avant la première utilisation de l'application.

    Un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    do shell script "/user/local/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" "
    un delay ???
    do shell script "/user/local/bin/brew install ffmpeg"
    Et quitter après un nouveau delay
    Mais mais mais,
    -je voudrais d'abord être certain que je ne me plante pas de chemin dans le do shell script et qu'il faut bien commencer par "/user/local/bin/" comme je l'avais compris par tes prudentes explications de pas le plus spécialiste du Shell
    -j'ai un problème d'attente... entre les deux lignes (que je figure dans le code précédent par un "delay ???"). Je me demande si ce delay est bien nécessaire sachant que peut-être on peut enquiller deux lignes de commande et que la seconde serait mise en attente... Si ce n'était pas comme cela que ça fonctionne, je me demande s'il n'y pas du coup un moyen de vérifier que le travail de la première ligne est bien abouti avant de lancer la seconde...
    - Et pour finir, je me demande s'il n'est pas trop touchy de faire installer des trucs sur l'ordi de quelqu'un via ces commandes , si il ne va pas y avoir une demande de mot de passe, etc...

    ET SI AU FINAL MON IDEE de script pour installer ces lignes est la meilleure... sachant mes toutes petites compétence en code.

    Voili voilà Philippe...
    Bon week-end à toi et à tous
    Martin
    (toute réponse est facultative hein Philippe et je ne serais pas chagrin si tu en avais marre de me répondre . Je passe ma vie à ça dans mon domaine et je sais que cela peut être très casse-pied...)







    Citation Envoyé par PBELL Voir le message
    Bonjour,


    Je ne suis pas expert en shell (pas autant que certains sur ce forum !) mais je pense que ton problème vient effectivement de la fin de la ligne de commande : /dev/null 2>&1
    A chaque fois qu'une commande shell est exécutée, elle retourne des informations sur la sortie standard numérotée 1 et les erreurs éventuelles sur la sortie des erreurs numérotée 2.
    Par défaut, lorsque tu utilises le Terminal, les sorties 1 et 2 sont sur la fenêtre du Terminal.
    Par défaut dans le do shell script, la sortie standard 1 est la variable assignée au do shell script. Le 2>&1 signifie que la sortie des erreurs (=2) doit aussi se faire sur la sortie standard. Le signe '>' indique la redirection et le &1 est le numéro de la sortie 1.

    Ensuite il y a le /dev/null que j'interprète comme une sorte de trou noir. On y envoie tout ce que l'on ne veut pas voir (on peut aussi y prendre des réponse par défaut, mais c'est ici hors contexte).
    Si mon interprétation est correcte (j'insiste sur le "Si"), je pense que ta fin de commande indique de na pas renvoyer de données, sauf les erreurs si il y en a.
    Je ne suis pas sûr aussi il va te falloir des essais, d'autant plus que je ne maîtrise pas bien le ffmepg que je n'ai pus installé depuis xx années, car je n'en ai pas besoin.

    Cordialement

  9. #9
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    En principe le do shell script attends la fin de l'execution de la commande pour revenir au script.
    (sauf usage du fameux > /dev/null 2>&1 qui renvoi le résultat nulle part et renvoie l'erreur au même endroit comme tu l'as compris).

    Donc mettre les 2 commandes de suite ne devrait pas poser de problème.
    Cependant, je suis d'accord avec toi sur la partie installation cachée. Outre l'éventuellement/probable demande du mot de passe administrateur, je préfère qu'un logiciel me dise ce qu'il installe clairement.
    Je suggère donc que tu ajoutes à ton application un fichier texte d'installation avec ces 2 lignes et des explications.
    Au moins les utilisateurs auront les détails.

    Par ailleurs le chemin vers Homebrew peut changer dans le futur et le coder dans un script n'est sans doute pas pérenne.

    Enfin, il serait sage de commencer ton application par une vérification de l'installation effective de ffmpeg avec un message invitant à l'installer si ce n'est pas déjà le cas.
    D'autant plus que tu sais déjà comment faire depuis ma réponse du 10/05/20 !!
    Lance un "do shell script" avec la commande "which ffmpeg" : si la réponse est vide alors ce n'est pas installé.
    Si la réponse est non vide, tu récupères ce résultat pour le mettre en début de tes appels suivants à ffmpeg. Ce faisant, tu es certain que ton application fonctionnera même si un jour ffmpeg se retrouve dans un autre dossier sur une machine client.

    Cordialement

  10. #10
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 50
    Par défaut
    Merci beaucoup Philippe pour toutes ces remarques,
    Je vais faire ça. Un petit fichier texte en guise de pas à pas pour lancer ces deux lignes de commandes dans le Terminal...
    De toutes façons les utilisateurs de cette app sont des gens motivés et qui seront le cas échant contents d'apprendre en plus un petit truc.
    Merci encore Philippe pour toute l'aide que tu m'as encore une fois apportée. Je fais mon possible pour essayer d'avancer "seul"... mais c'est très sécurisant de te savoir là. De temps en temps !!!
    Bon continuation et n'oublie pas que mes documents sur Final Cut Pro X (il y en a 8 sur 1750 planches!) sont à toi sur simple demande ou si tu n'en as pas l'usage et veux les offrir à quelqu'un.
    Je te les offrirais avec grand grand plaisir.
    Bonne continuation dans tes projets et merci encore...
    Martin
    (martingosset.com)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Forum] Script pour vérifier si l'e-mail est reçu
    Par ovi_ili dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 02/09/2011, 19h42
  2. script pour vérifier si un champ existe déjà dans une BDD
    Par tomguiss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/02/2009, 13h19
  3. outil/méthode pour vérifier la syntaxe d'une macro
    Par Anouschka dans le forum Linux
    Réponses: 2
    Dernier message: 16/11/2007, 14h05
  4. utiliser test pour vérifier la syntaxe d'une chaine de caractere ?
    Par italiasky dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 07/04/2007, 15h41
  5. [algorithme] pour vérifier la justesse d'une requete
    Par rattlehead dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/01/2007, 21h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo