summaryrefslogtreecommitdiffstats
path: root/move/tree/alsa_default.pl
diff options
context:
space:
mode:
Diffstat (limited to 'move/tree/alsa_default.pl')
-rwxr-xr-xmove/tree/alsa_default.pl19
1 files changed, 19 insertions, 0 deletions
diff --git a/move/tree/alsa_default.pl b/move/tree/alsa_default.pl
new file mode 100755
index 000000000..927c8c1d3
--- /dev/null
+++ b/move/tree/alsa_default.pl
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+
+# state machine:
+if (/\s*control\./) {
+ ($min, $max) = (0, 0);
+} elsif (/\s*name '/) {
+ # skip masks
+ $ignore = /\s*name '.*(3D Control|mask|Exchange DAC|Output Jack)/;
+} elsif (!$ignore) {
+ if (/s*comment.range '(\d+) - (\d+)'/) {
+ ($min, $max) = ($1, $2);
+ } elsif (/s*value/) {
+ # enable switches (we should really blacklist sb live and the like):
+ s/(value\w*\S*)\s* false/\1 true/;
+ # set volume to 67%:
+ my $val = $max*0.6;
+ s/(value\w*\S*)\s* 0/\1 $val/
+ }
+}