금요일, 10월 10, 2008

Touch sound를 바꾸기

wince에 기본으로 들어 있는 touch sound는 틱틱 거리는 소리로 듣기에 별로 좋은소리는 아닌것 같다.
이 소리의 수정은 다음 directory에서
WINCE600\PUBLIC\COMMON\OAK\DRIVERS\WAVEUI
waveui.rc와 원하는 wav file을 이 directory에 추가시켜 줌에 의해서 가능하다.

원하는 file이 mysound.wav일 경우 이것을 이 directory에 copy해 두고
waveui.rc를 열어 가장 마지막 부분에서 다음과 같이 수정한다.
ID_WAVE_KEYLOUD WAVE keyloud.wav
ID_WAVE_KEYSOFT WAVE keysoft.wav
ID_WAVE_TCHLOUD WAVE mysound.wav
ID_WAVE_TCHSOFT WAVE mysound.wav

그리고 build하면 waveui.lib이 생성된다.
결과물이 lib 이므로 이대로는 OS에 반영이 안된다.

makefile들을 추적하면
waveapi:: $(WAVEAPI_COMPONENTS)
@set TARGETNAME=$@
@set RELEASETYPE=OAK
@set DLLENTRY=_DllMainCRTStartup
@set TARGETLIBS=%%TARGETLIBS%% $(SG_OUTPUT_OAKLIB)\audevman.lib
@set TARGETLIBS=%%TARGETLIBS%% $(SG_INPUT_LIB)\wapistub.lib
@set SOURCELIBS=%%SOURCELIBS%% $(SG_INPUT_LIB)\waveui.lib
@set TARGETLIBS=%%TARGETLIBS%% $(SG_INPUT_LIB)\0409\waveapi.res
@set TARGETTYPE=DYNLINK
@set DEFFILE=$(SG_INPUT_LIB)\$@.def
$(MAKECMD) /NOLOGO $@.dll

즉 최종결과물이 waveapi.dll이라는 소리.
다음과 같은 순서로 build하면 된다.
  1. WINCE600\PUBLIC\COMMON\OAK\DRIVERS\WAVEUI 로 이동
  2. build -cp
  3. sysgen -p common waveapi
  4. makeimg