1 | #ifndef MUTE_H |
---|
2 | #define MUTE_H |
---|
3 | |
---|
4 | //screen and node are needed if funktion is called from rc handle |
---|
5 | //flag 1 = no blit |
---|
6 | //flag 2 = no framebuffer lock |
---|
7 | //flag 3 = no framebuffer lock and no blit |
---|
8 | void screenmute(struct skin* screen, struct skin* node, int flag) |
---|
9 | { |
---|
10 | struct skin* framebuffer = getscreen("framebuffer"); |
---|
11 | struct skin* mute = getscreen("mute"); |
---|
12 | |
---|
13 | if(getconfig("stepmute", NULL) == NULL) |
---|
14 | addconfig("stepmute", "0"); |
---|
15 | |
---|
16 | if(status.mute == 0 && atoi(getconfig("stepmute", NULL)) == 1) |
---|
17 | setmute(2); |
---|
18 | else if(status.mute == 0 || status.mute == 2) |
---|
19 | { |
---|
20 | if(status.mute == 2) |
---|
21 | setvol(getconfigint("vol", NULL)); |
---|
22 | setmute(1); |
---|
23 | system("amixer -c 1 set HDMI mute &"); |
---|
24 | system("amixer -c 1 set Analog mute &"); |
---|
25 | system("amixer -c 1 set SPDIF mute &"); |
---|
26 | setnodeattr(mute, framebuffer, 0); |
---|
27 | if(status.drawallwaysbg[0] != NULL) |
---|
28 | free(status.drawallwaysbg[0]); |
---|
29 | status.drawallwaysbg[0] = savescreen(mute); |
---|
30 | if(flag == 2 || flag == 3) |
---|
31 | drawscreen(mute, 0, 2); |
---|
32 | else |
---|
33 | drawscreen(mute, 0, 0); |
---|
34 | status.drawallways[0] = mute; |
---|
35 | } |
---|
36 | else |
---|
37 | { |
---|
38 | system("amixer -c 1 set HDMI unmute &"); |
---|
39 | system("amixer -c 1 set Analog unmute &"); |
---|
40 | system("amixer -c 1 set SPDIF unmute &"); |
---|
41 | setmute(0); |
---|
42 | if(flag == 2 || flag == 3) |
---|
43 | clearscreennolock(mute); |
---|
44 | else |
---|
45 | clearscreen(mute); |
---|
46 | if(status.drawallwaysbg[0] != NULL) |
---|
47 | { |
---|
48 | restorescreen(status.drawallwaysbg[0], mute); |
---|
49 | status.drawallwaysbg[0] = NULL; |
---|
50 | } |
---|
51 | status.drawallways[0] = NULL; |
---|
52 | if(flag == 0 || flag == 2) |
---|
53 | blitfb(0); |
---|
54 | } |
---|
55 | } |
---|
56 | |
---|
57 | #endif |
---|