PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein skript für xmms start



Brocki
16-11-2002, 11:41
Moin,

Also ich möchte gerne en skript haben dass erst abruft ob xmms gestartet ist und wenn dies nicht der fall ist soll er es bitt starten aber mit dem parameter xmms -t .

Aber wenn es der fall ist soll es xmms mit dem parametern xmms -n0 -t starten.

Das kanze soll dafür dienen dass ich meine Start/stop taste auf meinem keybourd richtig benutzen kann.

Wenn ihr hier ne idee hättet wie das skript aussehen soll wäre klasse.

Aber wenn ihr noch zeit hättet, hättet ihr vieleicht nioch eine idee wie ich die lautstärke steuern könnte ?

zb, ein Skript was die Lautstärke immer um 1 nach unten setzt und eins welches es immer um 1 nach oben setzt.

Und zuguter letzt noch ein skript welches den ton auf mute stellt bzw wen es mute ist auf unmute.
(hier wil ich die lautstärken bzw die mute taste benutzen können *g*)

Achso falls es wichtig ist ich benutze als soundsystem Alsa.

Bin für jede Hilfe dankbar.

Mfg Brocki

micha
16-11-2002, 18:30
Hi,



if [ -z "$(ps -U $USER | grep xmms | grep -v grep)" ];
then
xmms -t
else
xmms -n0 -t
fi


Gruß micha

Brocki
17-11-2002, 17:01
moin,

Vielen dank für deine hilfe!
Habe es auch hingergriegt und es leuft!!

Aber hat noch jemand eine idee für die lautstärken regelung ?
Weil ich weis nicht genau was ich zb abfragen soll (ob mute oder nicht mute) um mir das skript dafür zu schreiben. und für lauter leiser mhm vieleicht eins was eine variable immer um eins runter setzt aber den ursprugswert vorher abfragt. KA!!!

ps kannst du mir noch ne ganue erklärung des skripts geben ? die erste zeile versteh ich nicht ganz :-)

Vielen dank
Brocki

micha
17-11-2002, 20:34
if [ -z STRING ] : entspricht test -z STRING, d.h., der if-Block wird ausgeführt, wenn STRING leer ist.

$(...): alle Befehle in der Klammer werden zuerst ausgeführt und dann durch ihre Ausgabe ersetzt.

ps -U $USER: zeigt alle laufenden Prozesse des aktuellen Benutzers an ( wenn Du den Rechner alleine benutzt, ist das unnütz, wenn aber mehrere daran gleichzeitig arbeiten, und mehrere auch den xmms laufen haben, könnte es zu unerwünschten Nebenwirkungen kommen ;)

grep xmms: schneidet alle Zeilen aus der Prozessliste, die xmms enthalten, also auch den Befehl grep xmms, weshalb man dann noch mit

grep -v grep: alles anzeigt, bis auf die Zeile, die ein grep enthält.

Zum Schluss steht dann in der Klammer ( also in STRING) entweder die Prozesszeile(n) von xmms aus der Ausgabe von ps, oder nichts, wenn kein xmms läuft.

Zu Deinem anderen Problem: Gibt es überhaupt eine Möglichkeit, die Lautstärke abzufragen/ändern über die Konsole ? ( xmms --help lässt sich da nicht allzuviel drüber aus).


Gruß micha

Brocki
18-11-2002, 16:34
Vielen dank,
hatte es halbwegs verstanden nur wozu das $ zeichen steht wusste ich nicht :-) Vielen dank.

Aber ob es eine möglichkeit gibt über die konsole die lautstärke abzufragen ?

die einzigste idee die mir gekommen ist, ist die es über "amixer" zu mache.
Bei eingabe von amixer listet er ja alle kanele mit der lautsärke auf und ob diese on/off sind.
nur leider weiss ich nicht so recht wie ich die grep anfrage tun soll damit ich zu einem ergebniss komme.
Eine amixer ausgabe sieht zb so aus:


Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 63
Front Left: Playback 57 [90%] [on]
Front Right: Playback 57 [90%] [on]

vieleicht mit amixer | grep Playback 57 [*hier müsste eine variable stehen*] [on]????

aber vieleicjht habet ihr auch eine bessere idee

die lautstärke kann man ungefähr so regeln:


amixer set Master 90% unmute

das man hier die 90% durch eine varable ersetzt die immer 1 niedriger wird wenn das skript weiterleuft ??

dass sind so meine iddeen wahrscheinlich etwas chaotisch aufgeführt aber vieleicht habt ihr ja noch die lösung für mich da ich die idden in ein skript bauen kann griege das mit den variablen usw nicht hin!

Vielen dank
Mfg Brocki

Tobias
18-11-2002, 18:12
Hi,

mit setmixer kannst du die Lautstärke verändern, z.B.
setmixer +10 vol

Tobias