diff options
author | Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> | 2022-08-20 17:05:20 +0000 |
---|---|---|
committer | Sigrid Solveig Haflínudóttir <sigrid@ftrv.se> | 2022-08-20 17:05:20 +0000 |
commit | 3e58068cc5f07ae3306630aaa1448fa87643c170 (patch) | |
tree | 3bb6a3f5ea7e4bb43bdb7f614aa0f30f51563f7e /sys/src/cmd/aux | |
parent | f05b00e7be50dfbcf698a0d9c3b1f2fdbea98adc (diff) |
aux/wm8960: relative volume adjustment through the fs interface
Diffstat (limited to 'sys/src/cmd/aux')
-rw-r--r-- | sys/src/cmd/aux/wm8960.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/src/cmd/aux/wm8960.c b/sys/src/cmd/aux/wm8960.c index adb554d47..0250d05bf 100644 --- a/sys/src/cmd/aux/wm8960.c +++ b/sys/src/cmd/aux/wm8960.c @@ -240,6 +240,18 @@ fsread(Req *r) respond(r, nil); } +static int +setoradd(int x, char *s) +{ + int d; + + d = atoi(s); + if(*s == '+' || *s == '-') + return x + d; + + return d; +} + static void fswrite(Req *r) { @@ -287,8 +299,8 @@ Emsg: goto Emsg; toggle(o, on); }else if(r->fid->file->aux == (void*)Vol){ - vl = atoi(f[1]); - vr = nf < 3 ? vl : atoi(f[2]); + vl = setoradd(o->vol[0], f[1]); + vr = setoradd(o->vol[1], nf < 3 ? f[1] : f[2]); setvol(o, vl, vr); } |