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 :

[DEV][AppleScript] mise en place d'une boucle


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut [DEV][AppleScript] mise en place d'une boucle
    bonjour,

    J'ai utilisé le tuto à la découverte d'Apple script qui est très bien fait mais j'ai eu quelques soucis à le mettre en place j'ai enfin réussit...
    Mon script permet donc de sélectionner un morceau dans Itunes est de modifier le nom d'une piste. Pour par exemple retirer le numéro des piste. Jusqu'ici tout fonctionne bien se que je voudrai faire maintenant c'est pouvoir appliquer cela à plusieurs piste sélectionner mais je ne trouve pas.

    J'ai essayé d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    repeat with un morceau in morceaux
    tell unmorceau
    ...
    end repeat
    mais cela ne fonctionne pas

    si quelqu'un pourrai m'indiquer comment l'utiliser ça sera sympa merci


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    tell application "iTunes"
    	set morceaux to selection
    	if morceaux is {} then
    		display dialog "vous devez sélectionner des morceaux!" with icon caution buttons ("ok")
    		return
    	end if
     
    	set champs to {"Nom", "Artiste", "Album"}
     
    	set champ to (choose from list champs with prompt "quel champ editer ?" default items "Nom") as string
     
    	if champ is "false" then
    		display dialog "Abandon du script!" buttons {"ok"} with icon note giving up after 15
    		return
    	end if
     
    	set choix to display dialog "Combien de caractères supprimer dans \"" & champ & "\"? " default answer "2" buttons {"Au début", "A la fin", "Annuler"}
     
    	--nb de caractère a couper
    	set longueur to text returned of choix
     
    	-- début ou en fin
    	set ou to button returned of choix
     
    	repeat
    		try
    			set longueur to (longueur as integer) + 1
    			exit repeat
    		on error
    			display dialog "Vous devez entrer une valeur numérique !" with icon caution buttons {"ok"}
    			set choix to display dialog "Combien de caractères supprimer ?" default answer "2" buttons {"ok"}
    			set longueur to text returned of choix
    		end try
    	end repeat
     
     
    	if ou is "Au début" then
    		set idx1 to longueur
    		set idx2 to -1
    	else
    		set idx1 to 1
    		set idx2 to -longueur
    	end if
     
    	set morceau to item 1 of morceaux
     
    	if champ is item 1 of champs then
    		try
    			set name of selection to text idx1 thru idx2 of (get name of morceau)
    			log name
    		end try
    	else if champ is item 2 of champs then
    		try
    			set artist of selection to text idx1 thru idx2 of (get artist of morceau)
    		end try
    	else
    		try
    			set album of selection to text idx1 thru idx2 of (get album of morceau)
    		end try
    	end if
    end tell

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Et sélectionnant directement la liste des morceaux à modifier dans iTunes, c'est pas plus simple ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut
    Merci de me répondre aussi vite,

    si je sélectionne la liste dans itunes avec le script actuel tout les noms sont remplacés par le premier. Sa n'effectue pas l'action sur chaque piste indépendamment.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut
    voila ou j'en suis,

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    tell application "iTunes"
     
    	set morceaux to selection
     
    	if morceaux is {} then
    		display dialog "vous devez sélectionner des morceaux!" with icon caution buttons ("ok")
    		return
    	end if
     
    	set champs to {"Nom", "Artiste", "Album"}
     
    	set champ to (choose from list champs with prompt "quel champ editer ?" default items "Nom") as string
     
    	if champ is "false" then
    		display dialog "Abandon du script!" buttons {"ok"} with icon note giving up after 15
    		return
    	end if
     
    	set choix to display dialog "Combien de caractères supprimer dans \"" & champ & "\"? " default answer "2" buttons {"Au début", "A la fin", "Annuler"}
     
    	--nb de caractère a couper
    	set longueur to text returned of choix
     
    	-- début ou en fin
    	set ou to button returned of choix
     
    	repeat
    		try
    			set longueur to (longueur as integer) + 1
    			exit repeat
    		on error
    			display dialog "Vous devez entrer une valeur numérique !" with icon caution buttons {"ok"}
    			set choix to display dialog "Combien de caractères supprimer ?" default answer "2" buttons {"ok"}
    			set longueur to text returned of choix
    		end try
    	end repeat
     
    	repeat with UN_morceau in morceaux
    		tell UN_morceau
     
     
    			if ou is "Au début" then
    				set idx1 to longueur
    				set idx2 to -1
    			else
    				set idx1 to 1
    				set idx2 to -longueur
    			end if
     
     
     
    			if champ is item 1 of champs then
    				try
    					set name of selection to text idx1 thru idx2 of (get name of UN_morceau)
    					log name
     
    				end try
    			else if champ is item 2 of champs then
    				try
    					set artist of selection to text idx1 thru idx2 of (get artist)
    				end try
    			else
    				try
    					set album of selection to text idx1 thru idx2 of (get album)
    				end try
    			end if
    		end tell
    	end repeat
    end tell
    dans l'historique du script je constate que les actions get et set s'effectuent correctement mais ça ne modifie pas pas le nom des pistes.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut
    C'est exactement se que j'essaie de faire, sélectionner des morceaux dans itunes et que mon script supprime les 2 premières lettres de la piste.

    Jusqu'à maintenant mon script fonctionne si je sélectionne une seul piste.
    Mais si j'en sélectionne plusieurs le script supprime bien deux lettres mais remplace tous les noms des pistes par le nom de la premier.

  6. #6
    Membre à l'essai

    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Par défaut Script iTunes
    Bonjour,

    Oups, en effet, il manquait une boucle...

    Voici le script :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    tell application "iTunes"
    	set morceaux to selection
    	if morceaux is {} then
    		display dialog "vous devez sélectionner des morceaux!" with icon caution buttons ("ok")
    		return
    	end if
     
    	set champs to {"Nom", "Artiste", "Album"}
     
    	set champ to (choose from list champs with prompt "quel champ editer ?" default items "Nom") as string
     
    	if champ is "false" then
    		display dialog "Abandon du script!" buttons {"ok"} with icon note giving up after 15
    		return
    	end if
     
    	set choix to display dialog "Combien de caractères supprimer dans \"" & champ & "\"? " default answer "2" buttons {"Au début", "A la fin", "Annuler"}
     
    	--nb de caractère a couper
    	set longueur to text returned of choix
     
    	-- début ou en fin
    	set ou to button returned of choix
     
    	repeat
    		try
    			set longueur to (longueur as integer) + 1
    			exit repeat
    		on error
    			display dialog "Vous devez entrer une valeur numérique !" with icon caution buttons {"ok"}
    			set choix to display dialog "Combien de caractères supprimer ?" default answer "2" buttons {"ok"}
    			set longueur to text returned of choix
    		end try
    	end repeat
     
     
    	if ou is "Au début" then
    		set idx1 to longueur
    		set idx2 to -1
    	else
    		set idx1 to 1
    		set idx2 to -longueur
    	end if
     
    	-- traiter tous les morceaux sélectionnés
    	repeat with morceau in morceaux
    		if champ is item 1 of champs then
    			try
    				set name of morceau to text idx1 thru idx2 of (get name of morceau)
    				log name
    			end try
    		else if champ is item 2 of champs then
    			try
    				set artist of morceau to text idx1 thru idx2 of (get artist of morceau)
    			end try
    		else
    			try
    				set album of morceau to text idx1 thru idx2 of (get album of morceau)
    			end try
    		end if
    	end repeat
    end tell

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut
    bonjour,

    un grand merci pour ton aide, il me manquait pas grand chose quelques erreurs qui mon permis de bien comprendre le fonctionnement et à présent j'ai compris mes erreurs je te remercie pour ton tutorial ainsi que pour le déblocage je vais pourvoir avancer sur la suite de ton tutorial.

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

Discussions similaires

  1. La mise en place d'une boucle
    Par brevi dans le forum Langage
    Réponses: 3
    Dernier message: 10/11/2014, 13h45
  2. [Apache] Mise en place d'une page de maintenance
    Par divail dans le forum Apache
    Réponses: 5
    Dernier message: 02/02/2006, 09h58
  3. Réponses: 2
    Dernier message: 06/10/2005, 16h10
  4. Mise en place d'une solution Data Guard 9i R2
    Par user_oracle dans le forum Oracle
    Réponses: 4
    Dernier message: 16/02/2005, 10h12
  5. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23

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