Question script iTunes

7 réponses
Avatar
benoit.sansspam
Bonjour,


Je me suis remis à faire un peu d'AS grâce à mon temps un peu
libre et je suis un peu paumé sur une chose. J'ai enregistré pas mal de
textes et chansons et je voudrais régler le début et la fin.

Pour le début j'y suis avec ceci :

tell application "iTunes"
set theTracks to selection
repeat with theTrack in theTracks
set start of theTrack to 2
end repeat
end tell

Mais pour la fin, je nage. Quelqu'un est déjà passé par là ?

--
Benoît http://picasaweb.google.com/leraillez/

Avec des fumeurs c'est difficile de s'arrêter. Avec des branleurs,
là, par contre, c'est difficile de continuer.

7 réponses

Avatar
Patrick Stadelmann
In article
<1jjrvzs.l0y2og1isnvhmN%,
(Benoit) wrote:

Mais pour la fin, je nage. Quelqu'un est déjà passé par là ?



"finish"

Patrick
--
Patrick Stadelmann
Avatar
benoit.sansspam
Patrick Stadelmann wrote:

In article
<1jjrvzs.l0y2og1isnvhmN%,
(Benoit) wrote:

> Mais pour la fin, je nage. Quelqu'un est déjà passé par là ?

"finish"



Bon oui, je l'avais vu, mais non :
tell application "iTunes"
set theTracks to selection
set toto to finish of theTracks
end tell

error "Il est impossible d'obtenir finish of {file track id 216154 of
user playlist id 178228 of source id 41 of application "iTunes"}."
number -1728 from «class pStp» of {«class cFlT» id 216154 of «class
cUsP» id 178228 of «class cSrc» id 41}

Ce qui en soit est clair dès le premier mot « error », après ça...

--
Benoît http://picasaweb.google.com/leraillez/

Avec des fumeurs c'est difficile de s'arrêter. Avec des branleurs,
là, par contre, c'est difficile de continuer.
Avatar
Gilles ROBERT
Pendant qu'on est dans iTunes...

Un Script qui a la détection du branchement d'un iPhone ou même en
l'actionnant manuellement, lancerait iTunes, lancerait la recherche des
mises a jour, taperait le pass pour valider les updates, lancerait une
synchro et refermerait iTunes ????
Avatar
Patrick Stadelmann
In article
<1jjs7we.zu2xnj75khvrN%,
(Benoit) wrote:

Patrick Stadelmann wrote:

> In article
> <1jjrvzs.l0y2og1isnvhmN%,
> (Benoit) wrote:
>
> > Mais pour la fin, je nage. Quelqu'un est déjà passé par là ?
>
> "finish"

Bon oui, je l'avais vu, mais non :
tell application "iTunes"
set theTracks to selection
set toto to finish of theTracks
end tell

error "Il est impossible d'obtenir finish of {file track id 216154 of
user playlist id 178228 of source id 41 of application "iTunes"}."
number -1728 from «class pStp» of {«class cFlT» id 216154 of «class
cUsP» id 178228 of «class cSrc» id 41}

Ce qui en soit est clair dès le premier mot « error », après ça...



iTunes n'aime pas qu'on trafique "selection" (genre en extraire une
liste de piste comme tu le fais implicitement). Il faut faire :

tell application "iTunes"
set s to a reference to selection
set toto to finish of s
end tell

ou

tell app "iTunes" to set toto to finish of selection

En plus, c'est plus efficace, puisque la liste de piste ne fait pas
l'aller retour entre iTunes et le script. Par contre, c'est une
référence, donc évaluée dynamiquement à chaque utilisation (en clair, si
la sélection change, s change aussi).

Patrick
--
Patrick Stadelmann
Avatar
benoit.sansspam
Patrick Stadelmann wrote:

iTunes n'aime pas qu'on trafique "selection" (genre en extraire une
liste de piste comme tu le fais implicitement). Il faut faire :



C'est peu de le dire.

tell application "iTunes"
set s to a reference to selection
set toto to finish of s
end tell




Tu trouveras ci-dessous ce qui m'nevoie dans le choux, pourtant
j'obéis à tes ordres. Mais mes désirs font désordres. ;)

set timeToCut to 2
tell application "iTunes"
set theTrackList to selection
repeat with theTrack in theTrackList
set trackToCut to (a reference to theTrack)
set originalLength to finish of trackToCut
set newLength to originalLength - timeToCut
set finish of trackToCut to newLength
end repeat
end tell

error "Il est impossible de rendre theTrack en type reference." number
-1700 from theTrack to reference

ou

tell app "iTunes" to set toto to finish of selection

En plus, c'est plus efficace, puisque la liste de piste ne fait pas
l'aller retour entre iTunes et le script. Par contre, c'est une
référence, donc évaluée dynamiquement à chaque utilisation (en clair, si
la sélection change, s change aussi).



Celui-là je le retiens et je verrai quand je pourrai m'en
reservir.

En attendant je pédale dans le semoule (heureusement qu'on est
loin du Tourmalet).

--
Benoît http://picasaweb.google.com/leraillez/

Avec des fumeurs c'est difficile de s'arrêter. Avec des branleurs,
là, par contre, c'est difficile de continuer.
Avatar
Patrick Stadelmann
In article
<1jjshax.kxnwbuznnm37N%,
(Benoit) wrote:

Patrick Stadelmann wrote:

> iTunes n'aime pas qu'on trafique "selection" (genre en extraire une
> liste de piste comme tu le fais implicitement). Il faut faire :

C'est peu de le dire.

> tell application "iTunes"
> set s to a reference to selection
> set toto to finish of s
> end tell
>

Tu trouveras ci-dessous ce qui m'nevoie dans le choux, pourtant
j'obéis à tes ordres. Mais mes désirs font désordres. ;)

set timeToCut to 2
tell application "iTunes"
set theTrackList to selection
repeat with theTrack in theTrackList
set trackToCut to (a reference to theTrack)
set originalLength to finish of trackToCut
set newLength to originalLength - timeToCut
set finish of trackToCut to newLength
end repeat
end tell

error "Il est impossible de rendre theTrack en type reference." number
-1700 from theTrack to reference



Là ce n'est plus sur la sélection que tu demandes à iTunes d'agir, mais
sur chaque piste individuellement. theTrack est une variable dans le
script, pas un objet dans iTunes. iTunes va donc recevoir une référence
sur un objet externe qu'il ne sait résoudre. Il faut donc directement
travailler avec theTrack :


set timeToCut to 2
tell application "iTunes"
set theTrackList to selection
repeat with theTrack in theTrackList
set originalLength to finish of theTrack
set newLength to originalLength - timeToCut
set finish of theTrack to newLength
end repeat
end tell

Patrick
--
Patrick Stadelmann
Avatar
benoit.sansspam
Patrick Stadelmann wrote:

Là ce n'est plus sur la sélection que tu demandes à iTunes d'agir, mais
sur chaque piste individuellement. theTrack est une variable dans le
script, pas un objet dans iTunes. iTunes va donc recevoir une référence
sur un objet externe qu'il ne sait résoudre. Il faut donc directement
travailler avec theTrack :


set timeToCut to 2
tell application "iTunes"
set theTrackList to selection
repeat with theTrack in theTrackList
set originalLength to finish of theTrack
set newLength to originalLength - timeToCut
set finish of theTrack to newLength
end repeat
end tell



Merci. Faudrait que je m'y remette plus souvent à AS.

Parce que c'est vraiment pratique de temps en temps : on met
autant de temps à faire une chose par script que directement à la main,
mais qu'est-ce-qu'on est moins bête le soir ! ;)

--
Benoît http://picasaweb.google.com/leraillez/

Avec des fumeurs c'est difficile de s'arrêter. Avec des branleurs,
là, par contre, c'est difficile de continuer.