source: titan/titan/mute.h @ 25686

Last change on this file since 25686 was 25686, checked in by gost, 9 years ago

[titan] fix zap > 2s... I hope

File size: 1.5 KB
Line 
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
8void 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
Note: See TracBrowser for help on using the repository browser.