source: titan/titan/mute.h @ 30678

Last change on this file since 30678 was 25739, checked in by gost, 10 years ago

[titan] test mute at digital stream

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                audiostop(status.aktservice->audiodev);
27                setnodeattr(mute, framebuffer, 0);
28                if(status.drawallwaysbg[0] != NULL)
29                        free(status.drawallwaysbg[0]);
30                status.drawallwaysbg[0] = savescreen(mute);
31                if(flag == 2 || flag == 3)
32                        drawscreen(mute, 0, 2);
33                else
34                        drawscreen(mute, 0, 0);
35                status.drawallways[0] = mute;
36        }
37        else
38        {
39                audioplay(status.aktservice->audiodev);
40                system("amixer -c 1 set HDMI unmute &");
41                system("amixer -c 1 set Analog unmute &");
42                system("amixer -c 1 set SPDIF unmute &");
43                setmute(0);
44                if(flag == 2 || flag == 3)
45                        clearscreennolock(mute);
46                else
47                        clearscreen(mute);
48                if(status.drawallwaysbg[0] != NULL)
49                {
50                        restorescreen(status.drawallwaysbg[0], mute);
51                        status.drawallwaysbg[0] = NULL;
52                }
53                status.drawallways[0] = NULL;
54                if(flag == 0 || flag == 2)
55                        blitfb(0);
56        }
57}
58
59#endif
Note: See TracBrowser for help on using the repository browser.