Script pour modifier les préf de son (pratique pour Skype)

Einbert

Membre expert
Club iGen
24 Avril 2001
1 239
20
Hello,

Je suis sûr que je ne suis pas le seul à devoir à chaque fois changer ma configuration dans les préférences systèmes sons quand je veux appeler qqun ou répondre à qqun avec Skype. Comme cela m'embêtait quand même pas mal de perdre au moins 20 secondes à toujours tout modfier, resp. choisir la bonne entrée et bonne sortie afin de pouvoir utiliser mon casque et mon micro, j'ai écris un petit script qui m'automatise le tout (j'en ai profiter pour apprendre une nouveauté de 10.3 : http://www.apple.com/applescript/uiscripting/ ). Et comme je pense que d'autres ont le même problème, et bien rendons leur service. Voici comment procéder :

1) Copier le contenu du script se trouvant ci-dessous

2) Ouvrir Editeur de script qui se trouve dans le dossier AppleScript du dossier Applications et faire un joli petit coller

3) Ouvrir les préférences systèmes et sélectionner Accès Universel

4) Cocher (tout en bas) l'option Activer l'accès pour les périphériques d'aide (il faut être admin pour le faire, car un mot de passe sera demandé)
Si vous omettez le point 4), le script s'en rendra compte et vous demandera de faire ce qui se trouve sous ce point 4)

5) Toujours dans les préférences système, sélectionner les préférences de son

6) Sélectionner le tab Sortie et regarder quelle est la ligne (alias ce que vous désirez sélectionner) qui correspond à votre sortie que vous désirez utiliser pour Skype.
La première ligne correspond à 1, la deuxième à 2, etc.
Modifier dans le script la valeur de X par la ligne que vous désirez donc utiliser comme sortie. Par exemple chez moi, je veux que cela soit mon USB Headset qui soit utiliser avec Skype et cette sortie occupe la deuxième ligne, la première ligne étant utilisée par le Casque d'écoute standard. Je remplace donc X par la valeur 2.

7) Répéter le point 6) , mais avec le tab Entrée et modifier la valeur de Y par la valeur adéquate.

8) Si votre Sortie ne doit pas être modifiée, mais seulement l'Entrée, ou inversément, effacez les deux bonnes lignes dans le script (il suffit de lire les commentaires; il me semble que cela est suffisament clair).

9) Sauvegarder le script en tant qu' Application si vous désirez le mettre dans le dossier Applications ou Utilitaires (ou un quelconque autre dossier), ou en tant que Script, si vous désirez le lancer par le Script menu .

10) Et voilà, à chaque fois que vous désirez appeler qqun ou répondre à un appel par Skype, mais que vous devez au préalable modifier votre configuration de son, il vous suffira de double-clicker l'application ou de sélectionner le script dans Script menu pour que tout se fasse tout seul et en trois secondes environ.
Je vous conseil également de créer un deuxième script, mais qui lui permettra de revenir à votre configuration normale, une fois l'appel terminé.

Bloc de code:
UIscript_check()
tell application "System Preferences"
	activate
	set current pane to pane "com.apple.preference.sound"
end tell

tell application "System Events"
	tell process "System Preferences"
		tell window "Son"
			tell tab group 1
				click radio button "Sortie" -- à supprimer si "Sortie" ne doit pas être modifiée
				select row X of table 1 of scroll area 1 -- à supprimer si "Sortie" ne doit pas être modifiée
				click radio button "Entrée" -- à supprimer si "Entrée" ne doit pas être modifiée
				select row Y of table 1 of scroll area 1 -- à supprimer si "Entrée" ne doit pas être modifiée
			end tell
		end tell
	end tell
end tell
tell application "System Preferences" to quit

on UIscript_check()
	-- get the system version
	set the hexData to system attribute "sysv"
	set hexString to {}
	repeat 4 times
		set hexString to ((hexData mod 16) as string) & hexString
		set hexData to hexData div 16
	end repeat
	set the OS_version to the hexString as string
	if the OS_version is less than "1030" then
		display dialog "Ce script requiert l'installation de " & ¬
			"Mac OS X 10.3 ou supérieur." buttons {"Cancel"} ¬
			default button 1 with icon 2
	end if
	-- check to see if assistive devices is enabled
	tell application "System Events"
		set UI_enabled to UI elements enabled
	end tell
	if UI_enabled is false then
		tell application "System Preferences"
			activate
			set current pane to ¬
				pane "com.apple.preference.universalaccess"
			set the dialog_message to "Ce script utilise " & ¬
				"l'interface utilisateur graphique de scriptage embarquée dans " & ¬
				"l'architecture de Mac OS X, " & ¬
				"qui pour le moment est inactive." & return & return & ¬
				"Vous pouvez activer GUI Scripting en sélectionant " & ¬
				" ?Activer l'accès pour les périphériques d'aide? " & ¬
				"dans ?Accès Universel? des préférences systèmes."
			display dialog dialog_message buttons {"Cancel"} ¬
				default button 1 with icon 1
		end tell
	end if
end UIscript_check

Bien entendu, il faut posséder 10.3 pour que ceci fonctionne... Et de toute façon, il faut posséder 10.3 pour pouvoir profiter de Skype :D !

Ce script devrait fonctionner pour tout utilisateur francophone du système. Je ne suis bien entendu nullement responsable si un quelconque problème devait se présenter avec l'utilisation de ce script !

J'espère que ce script pourra aider certains.

++
 
Il n'est pas très partique de pouvoir copier le code dans la fenêtre de code, donc voici le script sans cette fenêtre...



UIscript_check()
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.sound"
end tell

tell application "System Events"
tell process "System Preferences"
tell window "Son"
tell tab group 1
click radio button "Sortie" -- à supprimer si "Sortie" ne doit pas être modifiée
select row X of table 1 of scroll area 1 -- à supprimer si "Sortie" ne doit pas être modifiée
click radio button "Entrée" -- à supprimer si "Entrée" ne doit pas être modifiée
select row Y of table 1 of scroll area 1 -- à supprimer si "Entrée" ne doit pas être modifiée
end tell
end tell
end tell
end tell
tell application "System Preferences" to quit

on UIscript_check()
-- get the system version
set the hexData to system attribute "sysv"
set hexString to {}
repeat 4 times
set hexString to ((hexData mod 16) as string) & hexString
set hexData to hexData div 16
end repeat
set the OS_version to the hexString as string
if the OS_version is less than "1030" then
display dialog "Ce script requiert l'installation de " & ¬
"Mac OS X 10.3 ou supérieur." buttons {"Cancel"} ¬
default button 1 with icon 2
end if
-- check to see if assistive devices is enabled
tell application "System Events"
set UI_enabled to UI elements enabled
end tell
if UI_enabled is false then
tell application "System Preferences"
activate
set current pane to ¬
pane "com.apple.preference.universalaccess"
set the dialog_message to "Ce script utilise " & ¬
"l'interface utilisateur graphique de scriptage embarquée dans " & ¬
"l'architecture de Mac OS X, " & ¬
"qui pour le moment est inactive." & return & return & ¬
"Vous pouvez activer GUI Scripting en sélectionant " & ¬
" Activer l'accès pour les périphériques d'aide " & ¬
"dans Accès Universel des préférences systèmes."
display dialog dialog_message buttons {"Cancel"} ¬
default button 1 with icon 1
end tell
end if
end UIscript_check
 
Là où on voit que Skype est encore en bêta pour le moment, c'est des petites finesses, comme reconnaître automatiquement quelle configuration choisir choisir pour l'entrée et la sortie (ce que fait iChat à merveille). Parfois, même en réglant nos configs correctement, il n'arrive pas à les prendre en compte, où quand des contacts sont effectivement online, il ne les montre pas... Un redémarrage de Skype, et peut-être ça refonctionne comme cela devrait. Mais c'est en bonne voix. Faudra à l'occas que j'essaie encore de téléphoner au Canada avec Skype...
Personellement, je trouve la qualité du rendu de voix meilleure sur iChat :siffle: !

++
 
bonjours , j'ai telecharger le logiciel skype et je l'est installer . Je voudrais connaitre la durée , la date et l'heure de connexion de chacun de mes contacts. Je voudrais répertorier ces information dans un tableau. Est ce possible de réalisé un script qui me fournise ces informations?
Si oui pourriez vous me dire comment faire pour avoir ces informations et me montrer les étapes pour crée un scripte capable de réalisé ce que je demande .
merci de votre aide a l'avance.
 
Bonjour !

Merci pour ce script, je m'en suis inspiré pour m'en faire un qui me permette de basculer de la carte son intégrée à ma carte son usb.

Voici le code, pour ceux que ça interesse :
Bloc de code:
tell application "System Preferences"
	--activate
	set current pane to pane "com.apple.preference.sound"
end tell

tell application "System Events"
	tell process "System Preferences"
		tell window "Son"
			tell tab group 1
				click radio button "Sortie"
				select row 2 of table 1 of scroll area 1
			end tell
		end tell
	end tell
end tell
tell application "System Preferences" to quit

C'est bon, j'ai bon ?