Audio & Brightness reset...

Atalantia

Aktives Mitglied
Thread Starter
Dabei seit
26.11.2009
Beiträge
1.888
Reaktionspunkte
429
...oder wenn meine Freundin am Computer rumgeschraubt hat. Nein Spass beiseite es kann auch die Grossmutter, der Vater oder gar ich selbst gewesen sein.
Nun wie auch immer, als Dankeschön für dieses Forum verschenke ich einmalmehr ein Script. Es stellt die Helligkeit des Displays und die verschiedenen Lautstärken auf einen definierten Wert.
Als erstes lade man dieses Archiv (brightness.tar.gz). Darin ist ein ShellScript. Das legt man in die Resourcen eines ApplescriptBundle.

Das AppleScript:
Code:
repeat 10 times
	set volume input volume 26
	set volume output volume 45
	set volume alert volume 18
	if (get volume settings) contains {input volume:26, output volume:45, alert volume:18} then
		exit repeat
	else
		beep
		delay 1
	end if
end repeat
do shell script quoted form of (POSIX path of (path to resource "brightness")) & " 0.7"

Man beachte das die Werte in "if (get volume settings) contains..." die gleichen Werte enthalten muss wie die "set volume..." Zeilen, da die if Zeile sicherstellt, dass die Werte gesetzt sind.
Die Display Helligkeit geht von 0.1 bis 1. Die Lautstärken von 1 bis 100.
Das Shell Script "brightness" kann auch mehrere Monitore managen. Müsst Ihr aber selber rausfinden wie. (Ich hab' nur einen ;) )
Danach kann man einen LaunchAgent machen und das Script bei jedem Login starten lassen. z.B.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>EnableGlobbing</key>
	<true/>
	<key>Label</key>
	<string>DisplayAudioReset</string>
	<key>LaunchOnlyOnce</key>
	<true/>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/bin/osascript</string>
		<string>~/Library/Scripts/DisplayAudioReset2.scptd</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
</dict>
</plist>
~/Library/Scripts/DisplayAudioReset2.scptd muss natürlich Eueren Pfad und Namen des Script enthalten.
 
Zuletzt bearbeitet:
Jetzt für die nicht so Script-Sicheren: das Teil macht, dass ich für einen anderen (zweiten, dritten usw.) Benutzer eine andere Helligkeit beim Anmelden einstellen kann? Das wäre mal was, so was fehlt mir nämlich für mein zweites Benutzerkonto. Das schaue ich noch mal in Ruhe und zu angemessener Uhrzeit an. :)
 
Ja, klar. Du legst das Script in jedem Benutzerordner an, erstellst den LaunchAgent für jeden Benutzer und gibst bei jedem einen anderen Wert ein. (anstelle von ..." 0.7") und wenn Du nur die Helligkeit regulieren willst dann nimmst Du nur die Zeile:
Code:
do shell script quoted form of (POSIX path of (path to resource "brightness")) & " 0.7"
Das ShellScript "brightness" muss aber in den Ressourcen des AppleScript enthalten sein. Also ein ApplescriptBundle anlegen.
 
sieht irgendwie unsinnig aus. "Repeat 10 times" um die Lautstärke zu setzen ... warum?
 
Repeat wird ja nur, wenn die Werte nicht gesetzt sind.
Ich habe eine PS3 am Line-In des iMac. Der Wert "...volume input volume..." hat sich einige Male ungewollt verändert und das Signal kam volle Kanne von der PS3 und war total verzerrt. Das ist natürlich schlecht für die Transistoren des kleinen Vorverstärkers im iMac. Um sicher zu gehen das der Wert wirklich gesetzt ist habe ich die Schleife plus Warnsignal eingebaut. Auch da das Script beim Login gestartet wird und da ein Haufen Zeugs am rotieren ist, will ich sicherstellen, dass die Werte wirklich gesetzt sind. Man kann natürlich den ganzen if Block auch löschen.
 
Zurück
Oben Unten