Vereinfachter Zugriff auf die "Controls" des Mixer

Code-Stücke können hier veröffentlicht werden.
Antworten
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Beispiel:

Code: Alles auswählen

>>> cd = Control('cd')
>>> cd.volume
(74, 74)
>>> cd.volume = 100
>>> cd.volume
(100, 100)
>>> cd.volume = (75, 80)
>>> cd.volume
(75, 80)
Das Ganze ist eine Art Umgestaltung der wesentlichen Funktionen aus der [mod]ossaudiodev[/mod]-API für das Mixer-Device. Zusätzlich wurde der Fall gefixt, wenn ein sogenanntes Control zwar definiert, für den gegebenen Mixer jedoch nicht verfügbar ist. Zumindest bei mir wurde die in der Doku beschriebene Ausnahme dann nicht geworfen. Läuft nur unter Linux & Friends. Ich find's ganz witzig. :)

http://paste.pocoo.org/show/138914/
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Anstatt den Typ tuple direkt abzufragen, würde ich try-except nehmen (Zeile 123).

Warum ist Mixer.get_controls kein property, das Mixer.controls heißt? Wegen der Konsistenz? Man könnte auch statt einer Liste einen Generator zurückgeben.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Fein gemacht :)
Antworten