op_cpuspeed.sh: allow to disable 'stupid' quistions
[openpandora.oe.git] / recipes / pandora-system / pandora-scripts / op_tvout.sh
1 #!/bin/bash
2
3 # defaults
4 tv_type="pal"
5 conn_type="svideo"
6 layer=0
7 pal_size="658,520"
8 pal_pos="35,35"
9 ntsc_size="655,455"
10 ntsc_pos="40,15"
11
12 usage()
13 {
14   echo "usage: $0 [-d] [-t pal|ntsc] [-c composite|svideo] [-l 0|1] [-{p|n}s w,h] [-{p|n}p x,y]"
15   exit 1
16 }
17
18 setup_scaler()
19 {
20   # we must preallocate enough memory for the scaler layer
21   # since the app won't be able to change this
22   # the whole time TV-out is running..
23   ofbset -fb /dev/fb1 -mem $[3*1024*1024] -size 512 256 -en 0
24 }
25
26 enable_it()
27 {
28   size=$pal_size
29   pos=$pal_pos
30   if [ "$tv_type" = "ntsc" ]; then
31     size=$ntsc_size
32     pos=$ntsc_pos
33   fi
34   echo "${tv_type}, ${conn_type}, layer $layer, $pos $size"
35
36   cd /sys/devices/platform/omapdss
37   echo 0 > display1/enabled
38   echo 0 > overlay0/enabled
39   echo 0 > overlay1/enabled
40   echo 0 > overlay2/enabled
41   echo "" > /sys/class/graphics/fb2/overlays
42   echo "" > /sys/class/graphics/fb1/overlays
43   if [ $layer -eq 1 ]; then
44     setup_scaler
45     echo "0" > /sys/class/graphics/fb0/overlays
46     echo "1,2" > /sys/class/graphics/fb1/overlays
47   else
48     # assume layer 0 for now
49     echo "0,2" > /sys/class/graphics/fb0/overlays
50     echo "1" > /sys/class/graphics/fb1/overlays
51   fi
52   echo $conn_type > display1/venc_type
53   echo "tv" > overlay2/manager
54   echo $tv_type > display1/timings
55   echo $size > overlay2/output_size
56   echo $pos > overlay2/position 
57   echo 1 > overlay0/enabled
58   echo 1 > overlay2/enabled
59   echo 1 > display1/enabled
60 }
61
62 disable_it()
63 {
64   cd /sys/devices/platform/omapdss
65   echo 0 > overlay0/enabled
66   echo 0 > overlay1/enabled
67   echo 0 > overlay2/enabled
68   echo 0 > display1/enabled
69   echo "" > /sys/class/graphics/fb2/overlays
70   echo "" > /sys/class/graphics/fb1/overlays
71   echo 0 > /sys/class/graphics/fb0/overlays
72   echo 1 > /sys/class/graphics/fb1/overlays
73   echo 2 > /sys/class/graphics/fb2/overlays
74   echo 1 > overlay0/enabled
75 }
76
77 # parse args
78 got_args=false
79 while true; do
80   case $1 in
81     "-d")
82       disable_it
83       exit 0
84       ;;
85     "-t")
86       shift
87       tv_type=$1
88       ;;
89     "-c")
90       shift
91       conn_type=$1
92       ;;
93     "-l")
94       shift
95       layer=$1
96       ;;
97     "-ps")
98       shift
99       pal_size=$1
100       ;;
101     "-pp")
102       shift
103       pal_pos=$1
104       ;;
105     "-ns")
106       shift
107       ntsc_size=$1
108       ;;
109     "-np")
110       shift
111       ntsc_pos=$1
112       ;;
113     "")
114       ;;
115     *)
116       usage
117       ;;
118   esac
119
120   if ! shift; then break; fi
121   got_args=true
122 done
123
124 if [ "$tv_type" != "pal" -a "$tv_type" != "ntsc" ]; then
125   usage
126 fi
127
128 if [ "$conn_type" != "svideo" -a "$conn_type" != "composite" ]; then
129   usage
130 fi
131
132 if [ "$layer" != "0" -a "$layer" != "1" ]; then
133   usage
134 fi
135
136
137 if $got_args; then
138   enable_it
139 else
140   # old zenity menu, to be removed
141   while mainsel=$(zenity --title="TV-Out Configuration" --width="420" --height="348" --list \
142     --column "id" --column "Please select" --hide-column=1 \
143     --text="This is a very simple TV Out Script. It will be enhanced." \
144     "pal" "Enable TV Out in PAL Mode (Composite)" \
145     "ntsc" "Enable TV Out in NTSC Mode (Composite)" \
146     "pal2" "Enable TV Out in PAL Mode, overlay (Composite)" \
147     "ntsc2" "Enable TV Out in NTSC Mode, overlay (Composite)" \
148     "pals" "Enable TV Out in PAL Mode (SVideo)" \
149     "ntscs" "Enable TV Out in NTSC Mode (SVideo)" \
150     "pal2s" "Enable TV Out in PAL Mode, overlay (SVideo)" \
151     "ntsc2s" "Enable TV Out in NTSC Mode, overlay (SVideo)" \
152     "disable" "Disable TV Out" \
153     )
154   do
155
156   case $mainsel in
157     "pal")
158     layer=0
159     tv_type="pal"
160     conn_type="composite"
161     enable_it
162     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
163     ;;
164
165     "pal2")
166     layer=1
167     tv_type="pal"
168     conn_type="composite"
169     enable_it
170     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
171     ;;
172
173     "ntsc")
174     layer=0
175     tv_type="ntsc"
176     conn_type="composite"
177     enable_it
178     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
179     ;;
180
181     "ntsc2")
182     layer=1
183     tv_type="ntsc"
184     conn_type="composite"
185     enable_it
186     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
187     ;;
188
189     "pals")
190     layer=0
191     tv_type="pal"
192     conn_type="svideo"
193     enable_it
194     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
195     ;;
196
197     "pal2s")
198     layer=1
199     tv_type="pal"
200     conn_type="svideo"
201     enable_it
202     zenity --info --title="TV Out" --text "TV Out (PAL Mode) has been enabled." --timeout 6
203     ;;
204
205     "ntscs")
206     layer=0
207     tv_type="ntsc"
208     conn_type="svideo"
209     enable_it
210     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
211     ;;
212
213     "ntsc2s")
214     layer=1
215     tv_type="ntsc"
216     conn_type="svideo"
217     enable_it
218     zenity --info --title="TV Out" --text "TV Out (NTSC Mode) has been enabled." --timeout 6  
219     ;;
220
221
222     "disable")
223     disable_it
224     zenity --info --title="TV Out" --text "TV Out has been disabled." --timeout 6
225     ;;    
226   esac
227   done
228 fi