summaryrefslogtreecommitdiffstats
path: root/move/tree/alsa_default.pl
blob: 28b06cc0413eaf72e3ee6dde08c1519c3df33cc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl -pi

# state machine:
if (/\s*control\./) {
    ($min, $max) = (0, 0);
} elsif (/\s*name '/) {
    # skip masks and blacklist sb live and the like:
    $ignore = /\s*name '.*(3D Control|AC97 Playback Volume|Audigy Analog\/Digital Output Jack|External Amplifier Power Down|Exchange DAC|IEC958 input monitor|IEC958 Capture Monitor|IEC958 Playback Switch|mask|Mic Boost \(\+20dB\)|Mic Playback Switch|Output Jack|Surround down mix)/i;
} elsif (!$ignore) {
    if (/s*comment.range '(\d+) - (\d+)'/) {
        ($min, $max) = ($1, $2);
    } elsif (/s*value/) {
        # enable switches:
        s/(value\w*\S*)\s* false/\1 true/;
        # set volume to 80%:
        my $val = int($max*0.8);
        s/(value\w*\S*)\s* \d+/\1 $val/;
    }
}