source: titan/titan/mute.h @ 31136

Last change on this file since 31136 was 31136, checked in by obi, 8 years ago

mipsel disable amixer

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