Contents of /tags/citrix-plugin-speechmike-0_4/speechmike-config.in
Parent Directory | Revision Log
Revision 2097 -
(show annotations)
(download)
Fri Mar 22 13:20:40 2013 UTC (11 years, 6 months ago) by niro
File size: 5606 byte(s)
Fri Mar 22 13:20:40 2013 UTC (11 years, 6 months ago) by niro
File size: 5606 byte(s)
tagged 'citrix-plugin-speechmike-0_4'
1 | #!/bin/bash |
2 | |
3 | die() { echo "ERROR: $@;" exit 1; } |
4 | |
5 | check_prereqs() |
6 | { |
7 | type -P @@BINDIR@@/nuainitool > /dev/null || die "missing nuainitool" |
8 | |
9 | if [ -e ${ICAROOT}/config/module.ini ] |
10 | then |
11 | MODULEINI="${ICAROOT}/config/module.ini" |
12 | elif [ -e /usr/lib/ICAClient/config/module.ini ] |
13 | then |
14 | MODULEINI="/usr/lib/ICAClient/config/module.ini" |
15 | else |
16 | die "module.ini not found from citrix client." |
17 | fi |
18 | } |
19 | |
20 | value_set() |
21 | { |
22 | local value="$1" |
23 | local i |
24 | local count="${#DRIVERS[*]}" |
25 | |
26 | for ((i=0; i < count; i++)) |
27 | do |
28 | if [[ ${DRIVERS[${i}]} = ${value} ]] |
29 | then |
30 | return 0 |
31 | fi |
32 | done |
33 | |
34 | return 1 |
35 | } |
36 | |
37 | install_modules() |
38 | { |
39 | local virtualdrivers |
40 | local expanddrivers |
41 | |
42 | # parse and expand philips and nuance drivers to an array |
43 | virtualdrivers=$(@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver") |
44 | eval DRIVERS=( ${virtualdrivers//,} ) |
45 | for i in SbExt PspMix PSPDPM SpeechMikeAudio SpeechMikeMixer SpeechMike |
46 | do |
47 | # only add missing drivers |
48 | value_set ${i} || expanddrivers+=", ${i}" |
49 | done |
50 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver=${virtualdrivers}${expanddrivers}" |
51 | |
52 | # enable extensions |
53 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "SbExt=On" |
54 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "PspMix=On" |
55 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "PSPDPM=On" |
56 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "SpeechMike=On" |
57 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "SpeechMikeAudio=On" |
58 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "SpeechMikeMixer=On" |
59 | |
60 | # sbext driver settings |
61 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SbExt" "DriverName=SMCAUDIO.DLL" |
62 | |
63 | # PspMix driver settings |
64 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "PspMix" "DriverName=SMCMIXER.DLL" |
65 | |
66 | # SpeechMike driver settings |
67 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "DriverName=VDPSPCTR.DLL" |
68 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "LIB_DIR=@@SPEECHMIKELIBDIR@@" |
69 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "LIB_NAME=libCtxSpMike.so" |
70 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "HIDDEV_DIR=@@HIDDEVDIR@@" |
71 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "JOYDEV_DIR=@@JOYDEVDIR@@" |
72 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "FCBUTTON1=12" |
73 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "FCBUTTON2=4" |
74 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "FCBUTTON3=14" |
75 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMike" "FCBUTTON4=10" |
76 | |
77 | # SpeechMikeAudio driver settings |
78 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeAudio" "DriverName=VDPSPAUD.DLL" |
79 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeAudio" "LIB_DIR=@@SPEECHMIKELIBDIR@@" |
80 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeAudio" "LIB_NAME=libCtxSbExtAlsa.so" |
81 | |
82 | # SpeechMikeMixer driver settings |
83 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "DriverName=VDPSPMIX.DLL" |
84 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "LIB_DIR=@@SPEECHMIKELIBDIR@@" |
85 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "LIB_NAME=libCtxMixerAlsa.so" |
86 | |
87 | #PSPDPM driver settings |
88 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "DriverName=VDPSPDPM.DLL" |
89 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "LIB_DIR=@@SPEECHMIKELIBDIR@@" |
90 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "LIB_NAME=libCtxHidMan.so" |
91 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "DPM_DIR=@@DPMTEMPDIR@@" |
92 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" 'DPM_DRIVE=@@DPMDRIVELETTER@@' |
93 | } |
94 | |
95 | remove_modules() |
96 | { |
97 | local virtualdrivers |
98 | local driver |
99 | local finaldrivers |
100 | local i |
101 | local count |
102 | |
103 | # parse modules and remove from array |
104 | virtualdrivers=$(@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver") |
105 | eval DRIVERS=( ${virtualdrivers//,} ) |
106 | # delete from array |
107 | count="${#DRIVERS[*]}" |
108 | for (( i=0; i < count; i++)) |
109 | do |
110 | for driver in SbExt PspMix PSPDPM SpeechMikeAudio SpeechMikeMixer SpeechMike |
111 | do |
112 | if [[ ${driver} = ${DRIVERS[${i}]} ]] |
113 | then |
114 | # reset |
115 | DRIVERS[${i}]="" |
116 | # no unneccessary parsing required anymore |
117 | continue |
118 | fi |
119 | done |
120 | done |
121 | # rebuild final driver list |
122 | for i in ${DRIVERS[*]} |
123 | do |
124 | if [[ -z ${finaldrivers} ]] |
125 | then |
126 | finaldrivers="${i}" |
127 | else |
128 | finaldrivers+=", ${i}" |
129 | fi |
130 | done |
131 | @@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver=${finaldrivers}" |
132 | |
133 | # remove modules |
134 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "SbExt" |
135 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "PspMix" |
136 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "PSPDPM" |
137 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "SpeechMike" |
138 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "SpeechMikeAudio" |
139 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "SpeechMikeMixer" |
140 | |
141 | # sbext driver settings |
142 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "SbExt" |
143 | |
144 | # PspMix driver settings |
145 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "PspMix" |
146 | |
147 | # SpeechMike driver settings |
148 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "SpeechMike" |
149 | |
150 | # SpeechMikeAudio driver settings |
151 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "SpeechMikeAudio" |
152 | |
153 | # SpeechMikeMixer driver settings |
154 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "SpeechMikeMixer" |
155 | |
156 | #PSPDPM driver settings |
157 | @@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "PSPDPM" |
158 | } |
159 | |
160 | case $1 in |
161 | install) |
162 | check_prereqs |
163 | install_modules |
164 | ;; |
165 | remove) |
166 | check_prereqs |
167 | remove_modules |
168 | ;; |
169 | *) |
170 | echo "Usage: $(basename $0) [action]" |
171 | echo |
172 | echo "Available actions are:" |
173 | echo " install - installs speechmike modules in modules.ini" |
174 | echo " remove - removes speechmike modules in modules.ini" |
175 | echo |
176 | ;; |
177 | esac |
178 | |
179 | exit 0 |
180 |