4 |
|
|
5 |
check_prereqs() |
check_prereqs() |
6 |
{ |
{ |
7 |
type -P @@BINDIR@@/nuainitool || die "missing nuainitool" |
type -P @@BINDIR@@/nuainitool > /dev/null || die "missing nuainitool" |
8 |
|
|
9 |
if [ -e ${ICAROOT}/config/module.ini ] |
if [ -e ${ICAROOT}/config/module.ini ] |
10 |
then |
then |
17 |
fi |
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() |
install_modules() |
38 |
{ |
{ |
39 |
local virtualdrivers |
local virtualdrivers |
40 |
|
local expanddrivers |
|
virtualdrivers=$(@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver") |
|
41 |
|
|
42 |
# expand philips and nuance drivers |
# parse and expand philips and nuance drivers to an array |
43 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver=${virtualdrivers}, SbExt, PspMix, PSPDPM, SpeechMike, SpeechMikeAudio, SpeechMikeMixer" |
virtualdrivers=$(@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver") |
44 |
# backup virtualdriver entry |
eval DRIVERS=( ${virtualdrivers//,} ) |
45 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" ";** Original_VirtualDriver=${virtualdrivers}" |
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 |
# enable extensions |
53 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "SbExt=On" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "SbExt=On" |
86 |
|
|
87 |
#PSPDPM driver settings |
#PSPDPM driver settings |
88 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "DriverName=VDPSPDPM.DLL" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "DriverName=VDPSPDPM.DLL" |
89 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "LIB_DIR=@@SPEECHMIKELIBDIR@@" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "LIB_DIR=@@SPEECHMIKELIBDIR@@" |
90 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "LIB_NAME=libCtxHidMan.so" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "LIB_NAME=libCtxHidMan.so" |
91 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "DPM_DIR=@@DPMTEMPDIR@@" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" "DPM_DIR=@@DPMTEMPDIR@@" |
92 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "SpeechMikeMixer" "DPM_DRIVE=@@DPMDRIVELETTER@@" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "PSPDPM" 'DPM_DRIVE=@@DPMDRIVELETTER@@' |
93 |
} |
} |
94 |
|
|
95 |
remove_modules() |
remove_modules() |
96 |
{ |
{ |
97 |
local virtualdrivers |
local virtualdrivers |
98 |
|
local driver |
99 |
|
local finaldrivers |
100 |
local i |
local i |
101 |
|
local count |
102 |
|
|
103 |
|
# parse modules and remove from array |
104 |
virtualdrivers=$(@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver") |
virtualdrivers=$(@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver") |
105 |
|
eval DRIVERS=( ${virtualdrivers//,} ) |
106 |
# now remove all drivers |
# delete from array |
107 |
for i in SbExt PspMix PSPDPM SpeechMikeAudio SpeechMikeMixer SpeechMike |
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 |
do |
124 |
virtualdrivers="${virtualdrivers//, ${i}}" |
if [[ -z ${finaldrivers} ]] |
125 |
|
then |
126 |
|
finaldrivers="${i}" |
127 |
|
else |
128 |
|
finaldrivers+=", ${i}" |
129 |
|
fi |
130 |
done |
done |
131 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver=${virtualdrivers}" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -s "ICA 3.0" "VirtualDriver=${finaldrivers}" |
132 |
|
|
133 |
# remove modules |
# remove modules |
134 |
@@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "SbExt" |
@@BINDIR@@/nuainitool -f ${MODULEINI} -D -s "ICA 3.0" "SbExt" |
158 |
} |
} |
159 |
|
|
160 |
case $1 in |
case $1 in |
161 |
install) install_modules ;; |
install) |
162 |
remove) remove_modules ;; |
check_prereqs |
163 |
|
install_modules |
164 |
|
;; |
165 |
|
remove) |
166 |
|
check_prereqs |
167 |
|
remove_modules |
168 |
|
;; |
169 |
*) |
*) |
170 |
echo "Usage: $(basename $0) [action]" |
echo "Usage: $(basename $0) [action]" |
171 |
|
echo |
172 |
echo "Available actions are:" |
echo "Available actions are:" |
173 |
echo " install - installs speechmike modules in modules.ini" |
echo " install - installs speechmike modules in modules.ini" |
174 |
echo " remove - removes speechmike modules in modules.ini" |
echo " remove - removes speechmike modules in modules.ini" |
175 |
|
echo |
176 |
;; |
;; |
177 |
esac |
esac |
178 |
|
|