• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

tell application "Finder" to set volume

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
Ich weiß nicht, ob das Programm wirklich der Auslöser für das Problem ist, aber seitdem mich morgens Awaken weckt, habe ich ein Problem bei der Anmeldung und mit dem "set volume" in AppleSkript.

Folgendes Skript

Code:
tell application "Finder"
	activate
	set volume 3.5
end tell
bewirkt nur fast 8 von 16 Punkten auf der Lautstärke-Skala:

attachment.php
attachment.php


Ich weiß, dass ich mit gedrückter Alt- und Shift-Taste 1/4 Sprünge machen kann, aber es sind auch nicht wie es zuerst aussieht 7 3/4, sondern noch ein bisschen mehr. Halt irgendwas zwischen 7 3/4 und 8 Punkten. Ein "set volume 2" ergibt zum Beispiel ca. 4 1/2 von 16 Punkten.

Nun habe ich mal die Lautstärke mithilfe der Lautstärketasten auf 8 gestellt. Nun das Seltsame: wenn ich mich ab- und wieder anmelde (egal, ob Awaken gestartet wird, oder nicht) bin ich nach der Anmeldung wieder bei den ca. 7 3/4 Punkten. Das Deaktivieren von Awaken bringt keine Veränderung.


Kann sich das jemand erklären? Was kann ich dagegen machen?


PS: Bei anderen Benutzern tritt das Problem nicht auf. Auf einem anderen Mac mit Awaken ist das Problem ebenfalls.
 

Anhänge

  • Bild 1.png
    Bild 1.png
    2,3 KB · Aufrufe: 443
  • Bild 1-1.png
    Bild 1-1.png
    41,9 KB · Aufrufe: 512
Zuletzt bearbeitet:

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Man kann die Lautstärke ja auch manuell per ⇧⌥ Lautstärketasten in Viertelschritten einstellen. Granularer als das ist mehr als esoterisch.
Gruß Pepi
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
Ja hörst Du das denn den Unterschied zwischen 7 15/16 und 8 Punkten auf der Laustärke-Skala?

:p Nein, aber wenn ich dann per Lautstärketasten lauter machen möchte, sieht es immer so aus, als wenn das erste Drücken nichts gebracht hätte - in Wirklichkeit ist es nur von 7 15/16 auf 8 gesprungen...
Ich würde mit dem Befehl die Lautstärke gerne richtig einstellen können. Das sieht so "unsauber" aus, wenn jemand mein Programm benutzt.

Weiß jemand, in welcher Datei die Lautstärke vom System gespeichert wird? Da die Lautstärke für jeden Benutzer individuell gespeichert wird, müsste das ja in der Benutzer-Library liegen, oder?
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Bei anderen Benutzern tritt das Problem nicht auf. Auf einem anderen Mac mit Awaken ist das Problem ebenfalls.
Du hast hier von zwei verschiedenen Problemen geschrieben. Bitte genauer!
(Die Anmeldegeschichte lässt mich davon ausgehen, dass Du 10.6 installiert hast...)

Ich würde mit dem Befehl die Lautstärke gerne richtig einstellen können. Das sieht so "unsauber" aus, wenn jemand mein Programm benutzt.
Hmm so lange es nur unsauber aussieht .... denn
Folgendes Skript

Code:
tell application "Finder"
	activate
	set volume 3.5
end tell
ist so nicht korrekt und wird zwar laufen, sollte aber in 10.6 einen so genannten privilege violation error zurück geben. Des weiteren ist es veraltet: Seit 10.4 kann man die Lautstärke von 0 bis 100 angeben.

Dein erstes Problem dürfte sich nicht lösen lassen. Lass mal dieses Skript laufen:
Code:
set volume output volume 50
get output volume of (get volume settings)
Wie lautet das Ergebniss?

Das zweite Problem sollte mit dem Löschen dieser Dateien behoben sein:

/Library/Preferences/Audio/com.apple.audio.DeviceSettings.plist
/Library/Preferences/Audio/com.apple.audio.SystemSettings.plist


Sedna
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
Du hast hier von zwei verschiedenen Problemen geschrieben. Bitte genauer!
(Die Anmeldegeschichte lässt mich davon ausgehen, dass Du 10.6 installiert hast...)

Bei mir läuft 10.5. Ich habe folgendes beobachtet:
Wenn ich (Awaken im Hintergrund aktiv) mich mit 8 Punkten abmelde und in der Anmeldemaske bin, sind es jedes Mal nur noch die 7 15/16... Wenn ich nun wieder auf 8 korrigiere, bleibt dies auch nach der Anmeldung so.
Andere Benutzer auf meinem System, die kein Awaken im Hintergrund laufen haben, haben irgendwie kein konstantes Verhalten: Mal sind es nach der Abmeldung 8 Punkte - mal nur die 7 15/16. Das kann ich mir noch nicht erklären...


Dein erstes Problem dürfte sich nicht lösen lassen. Lass mal dieses Skript laufen:
Code:
set volume output volume 50
get output volume of (get volume settings)
Wie lautet das Ergebniss?

Auch hier habe ich etwas beobachtet:
set volume output volume 45 => 45
set volume output volume 46 => 45
set volume output volume 47 => 47
set volume output volume 48 => 47
set volume output volume 49 => 49
set volume output volume 50 => 49
set volume output volume 51 => 52
set volume output volume 52 => 52
set volume output volume 53 => 54
set volume output volume 54 => 54
set volume output volume 54 => 54
set volume output volume 55 => 54

Wenn ich mit der Tastatur auf 8 Punkte stelle und dann "set volume output volume 50" ausführe, bleibt es auf 8 Punkten. Stelle ich es mit der Tastatur auf etwas anderes ein (z. B. nur 4 Punkte), so habe ich nach "set volume output volume 50" wieder die 7 15/16 Punkte.
Das ist doch nicht richtig so, oder?


Das zweite Problem sollte mit dem Löschen dieser Dateien behoben sein:
/Library/Preferences/Audio/com.apple.audio.DeviceSettings.plist
/Library/Preferences/Audio/com.apple.audio.SystemSettings.plist

Nein, leider gleiches Verhalten.
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
Stell doch mal auf Sommerzeit um und richte falls nicht schon geschehen ein ungerade Anzahl an Nutzern ein. Nutzer mit Vokal am Anfang zählen doppelt, nur aber in einem Schaltjahr, wenn bei Zeitzone eine Stadt oberhalb des südlichen Wendekreises ausgewählt ist.
Wenn FireFox installiert ist, verhält sich die Anzahl anzulegenden Nutzer umgekehrt proporzional zur Quersumme...
Moment, hast Du 10.5 installiert? Das ist ein bekannter Bug, der erst in 10.6.3 behoben werden soll bzw. in 10.4 noch gar nicht da war.... ;-P

Shit, wie stoppe ich bloß das Email-Abo zu diesem Thread :cool:
 
  • Like
Reaktionen: larkmiller

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
;-P
Hab also keine Ahnung ob's wirklich so ist... die Vermutung liegt aber nahe, dass es sich dabei um so eine Art Rundungsfehler handelt.
Wenn Du mal Audio-Midi-Setup öffnest und die Lautstärke auf die hälfte (8 Punkte) einstellst zeigt er bei beiden Kanälen auch nicht 0.5 sondern 0.49 an (auch wenn er bei 0 anfängt und das erklärte Maximum bei 1.0 liegt.)

Dann fange halt das ganze ab, indem Du ihn eine vordefinierte Reihe an Werte beim Output-Volume setzen lässt, so dass diese x 1/16 Lautstärke-Punkte übersprungen werden.:)

Oder Schreib zu Apple, dass das doof ist.:-c

Oder fang' an z.B. aus AppleScript, via do shell script über pyhton dem CoreAudio Framework mitzuteilen, was Du von ihm willst....
Wie genau geht kann ich dir leider nicht sagen, hab' das mal dazu gefunden, das setzt den Mauszeiter auf Position 0,0 mit einem Aufruf der entsprechenden Funktion eines Frameworks. Müsste sich theoretisch auch auf aus entsprechende Framework für die Soundausgabe übertragen lassen....:oops:

Code:
do shell script "python -c \"import objc;bndl = objc.loadBundle('CoreGraphics', globals(), '/System/Library/Frameworks/ApplicationServices.framework');objc.loadBundleFunctions(bndl, globals(), [('CGWarpMouseCursorPosition', 'v{CGPoint=ff}')]);CGWarpMouseCursorPosition((0, 0));\""
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
Code:
audioVolumePfusch("machVollLeise", 0.1)
on audioVolumePfusch(a, b)
	set cV to output volume of (get volume settings)
	if a = "vollLaut" then
		set volume 7
	else if a = "halbLaut" then
		--was immer auch dem Wert am nächsten kommt
		set volume 3.6
	else if a = "machVollLaut" then
		repeat with i from cV to 100
			set volume output volume i
			delay b
		end repeat
	else if a = "machVollLeise" then
		repeat with i from cV to 0 by -1
			set volume output volume i
			delay b
		end repeat
	end if
end audioVolumePfusch
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
"Rundungsfehler" ist es wohl nicht, sondern ein "Samplingfehler". (Mir fällt jetzt kein besserer Begriff ein.) Dieses Problem taucht ständig auf, wenn man versucht, integrale Werte auf Fließkommazahlen abzubilden. Das gibt es auch bei Graphik, weil Pixel integral sind und Koordinaten fließend. Dort löst man das mit Antialiasing. Das gibt es hier aber nicht. (Es sei denn der Balken wird abgestuft.)

Beispiel:
Stell dir vor, die Lautstärke hat 256 Stufen.

Stille wäre dann 0.
Maximale Lautstärke (100 % = 1,0) wäre 255
Halbe Lautstärke (50 % = 0,5) wäre 127,5.

Das lässt sich integral nicht einstellen, wird also 127 oder 128. (Das meintest du mutmaßlich mit Rundungsfehler.) Stellt er etwa 127 ein, so bekommt man eben nicht 50 % zurück, sondern 0,498…

Wenn man sich das mal bewusst gemacht hat, bekommt man häufig mit viel, viel Frickelei und ausprobieren das gewünschte Ergebnis für bestimmte Werte. Eine wirkliche Lösung gibt es dafür aber nicht.
 

dEEkAy2k9

Prinzenapfel
Registriert
08.06.09
Beiträge
551
Stell doch mal auf Sommerzeit um und richte falls nicht schon geschehen ein ungerade Anzahl an Nutzern ein. Nutzer mit Vokal am Anfang zählen doppelt, nur aber in einem Schaltjahr, wenn bei Zeitzone eine Stadt oberhalb des südlichen Wendekreises ausgewählt ist.
Wenn FireFox installiert ist, verhält sich die Anzahl anzulegenden Nutzer umgekehrt proporzional zur Quersumme...
Moment, hast Du 10.5 installiert? Das ist ein bekannter Bug, der erst in 10.6.3 behoben werden soll bzw. in 10.4 noch gar nicht da war.... ;-P

Shit, wie stoppe ich bloß das Email-Abo zu diesem Thread :cool:

Alta, was hastn du geraucht =P

Aber um mal beim Thema zu bleiben, ich würde hier auch auf einen Bug Tippen, is immer so ne Sache wenn sichs nicht reproduzieren lässt, zumindest nicht immer.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Hallo Atelis!

10.5 ... Die Chance war immerhin 50% :p Es ist immer gut, sein OS zu nennen, dann muss man nicht raten :)
Und dein Problem ist so "abstrus", dass hubionmacs Postings schon irgendwie nachvollziehbar sind. "Rundungsfehler" war nicht schlecht.

Den Erklärungsversuchen kann ich nichts konstruktives hinzufügen. Ich denke, die Ausführungen von Amin Negm-Awad sind nachvollziehbar. Ich hatte ja gedacht, dass Du beim Ausführen meines Beispielskriptes selber auf den Trichter kommst.
Das mit dem Audio Midi Fenster war kein schlechter Hinweis. Nimm doch mal den Gesamtlautstärke Slider in Systemeinstellungen/Ton ... Du wirst sehen, dass er an bestimmten Positionen einrastet (z.B. 49% (0,49))

Lange Rede, kurzer Sinn: Die von dir so benannte "Lautstärke Skala" scheint die "Rundung" nicht mitzumachen.
Eine Möglichkeit wäre eventuell, zusätzlich mit System Events und key code die Lautstärke auf einen vollen Balken anzupassen. Da aber die Lautstärke Tasten auf den verschiedenen Mac Tastaturen an unterschiedlichen Stellen sitzen, könnte das etwas aufwändiger zu realisieren sen...

Mittlerweile habe ich den Ausgangspost auch erst richtig kapiert. Das Löschen der genannten Plists bringt hier natürlich nichts..
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
Gut, dann scheint dieser Schönheitsfehler also mit irgendeinem Systemupdate und nicht mit Awaken gekommen zu sein.

Eine Möglichkeit wäre eventuell, ... die Lautstärke auf einen vollen Balken anzupassen.
Das hatte ich ja auch schon versucht, aber ich finde keinen Wert für "set volume output volume X", der genau bei 8 Balken landet - sehr wahrscheinlich aus dem Grund, den Amin Negm-Awad genannt hat.

Wenn der Fehler bei Apple liegt, wird ja das "set volume output volume 50" irgendwann wieder richtig sein - dachte halt nur, dass ich irgendeinen Fehler mache...

Vielen Dank an alle!