[7497] | 1 | #ifndef MUTE_H |
---|
| 2 | #define MUTE_H |
---|
| 3 | |
---|
[13491] | 4 | //screen and node are needed if funktion is called from rc handle |
---|
[13492] | 5 | //flag 1 = no blit |
---|
[13491] | 6 | //flag 2 = no framebuffer lock |
---|
[13492] | 7 | //flag 3 = no framebuffer lock and no blit |
---|
[13491] | 8 | void screenmute(struct skin* screen, struct skin* node, int flag) |
---|
[7497] | 9 | { |
---|
| 10 | struct skin* framebuffer = getscreen("framebuffer"); |
---|
| 11 | struct skin* mute = getscreen("mute"); |
---|
| 12 | |
---|
[12067] | 13 | if(getconfig("stepmute", NULL) == NULL) |
---|
| 14 | addconfig("stepmute", "0"); |
---|
| 15 | |
---|
[12065] | 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)); |
---|
[12077] | 22 | setmute(1); |
---|
[31907] | 23 | #ifndef MIPSEL |
---|
| 24 | //#ifdef SH4 |
---|
[25686] | 25 | system("amixer -c 1 set HDMI mute &"); |
---|
| 26 | system("amixer -c 1 set Analog mute &"); |
---|
| 27 | system("amixer -c 1 set SPDIF mute &"); |
---|
[31907] | 28 | audiostop(status.aktservice->audiodev); |
---|
[31136] | 29 | #endif |
---|
[16514] | 30 | setnodeattr(mute, framebuffer, 0); |
---|
[7497] | 31 | if(status.drawallwaysbg[0] != NULL) |
---|
| 32 | free(status.drawallwaysbg[0]); |
---|
[11087] | 33 | status.drawallwaysbg[0] = savescreen(mute); |
---|
[13492] | 34 | if(flag == 2 || flag == 3) |
---|
[16511] | 35 | drawscreen(mute, 0, 2); |
---|
[13491] | 36 | else |
---|
[16511] | 37 | drawscreen(mute, 0, 0); |
---|
[7497] | 38 | status.drawallways[0] = mute; |
---|
| 39 | } |
---|
| 40 | else |
---|
| 41 | { |
---|
[31907] | 42 | #ifndef MIPSEL |
---|
| 43 | //#ifdef SH4 |
---|
[25739] | 44 | audioplay(status.aktservice->audiodev); |
---|
[25686] | 45 | system("amixer -c 1 set HDMI unmute &"); |
---|
| 46 | system("amixer -c 1 set Analog unmute &"); |
---|
| 47 | system("amixer -c 1 set SPDIF unmute &"); |
---|
[31136] | 48 | #endif |
---|
[7497] | 49 | setmute(0); |
---|
[13492] | 50 | if(flag == 2 || flag == 3) |
---|
[13491] | 51 | clearscreennolock(mute); |
---|
| 52 | else |
---|
| 53 | clearscreen(mute); |
---|
[7497] | 54 | if(status.drawallwaysbg[0] != NULL) |
---|
| 55 | { |
---|
[11087] | 56 | restorescreen(status.drawallwaysbg[0], mute); |
---|
[7497] | 57 | status.drawallwaysbg[0] = NULL; |
---|
| 58 | } |
---|
| 59 | status.drawallways[0] = NULL; |
---|
[13491] | 60 | if(flag == 0 || flag == 2) |
---|
[14082] | 61 | blitfb(0); |
---|
[7497] | 62 | } |
---|
| 63 | } |
---|
| 64 | |
---|
| 65 | #endif |
---|