Friday, June 22, 2007

helix - build splay for playing wav files

Actually I am building splay with eshell, here is part of my configure scripts to support helix:


(defconst helix-build-root-dir "/home/build/src/build")
(defvar helix-eshell-initilized nil)
(defun helix-eshell-mode-hook ()
(when (not helix-eshell-initilized)
(setenv "BUILD_ROOT" helix-build-root-dir)
(setenv "SYSTEM_ID" "linux-2.2-libc6-gcc32-i586")
(setenv "CVS_RSH" "ssh")
(setenv "CVSROOT" ":ext:ifade@cvs.helixcommunity.org:/cvsroot/ribosome")
(ted-add-to-list* 'exec-path (expand-file-name "bin" helix-build-root-dir))
(setenv "PATH" (markc-build-path-string exec-path))
(setq helix-eshell t)))

(add-hook 'eshell-mode-hook 'helix-eshell-mode-hook)


Using it will save me a lot of time. Then is the build, I execute "build.py" on my eshell,
select:
branch: hxclient_2_0_3_cayenne (I think 1_5_0 do the same way)
profile :/home/build/src/build/umakepf/helix-client-all-defines
target(s): splay

Before run the build, I would like to check out source code first, that was the menu item 11.
[11] Checkout source for selected target now


then select "[3] run:build" to run the build.


til now, you can use splay play mp3, but not wav. what to do next?

still use "build.py" to build 2 "target"s, one is pcmrend.so, the other is audplin.so, I compared hxplay with splay, noticed that these two modules are missing.

Set Target(s) (datatype_wav_renderer_pcm)
and

Build Complete: Wed Jun 20 01:58:05 2007
MD5 (debug/pcmrend.so)................49444cb6dd56edc02fb640060d10a2b8
MD5 (debug/pcmrendlib.a)..............267039112af294a3f04ca7ec27126199
MD5 (debug/utillib.a).................e03cdbb51d2576d7172290befa3eaa1d


after the first target is done, still won't work, so I found the next:
Target(s) (datatype_group_audio)
and the result:

MD5 (debug/aiffplin.a)................54987e692a2cca90e03e5bf10107670c
MD5 (debug/amrdump)...................80a4c6179c913a6354f469ffaed1bc3e
MD5 (debug/amrff.so)..................7010c6ee2f3dffa8670091f22f5a1bec
MD5 (debug/audplin.so)................ec7b0fdf8766058d4c5cf1fadeb0f2eb
MD5 (debug/aufformat.so)..............5e037809b88e8285216d798f813464ba
MD5 (debug/auffplin.a)................cb8e007d0cba85fa0e87a82733d247ea
MD5 (debug/aviffpln.a)................68d0fafcd0c05f647f93fb6e0c86a11b
MD5 (debug/hxsdp.so)..................0df0191f0086ab4444e9c7e560989958
MD5 (debug/mp4arender.so).............3a4c5d3ad009eca23bae3c77a705d12a
MD5 (debug/pcmrend.so)................49444cb6dd56edc02fb640060d10a2b8
MD5 (debug/protutillib.a).............659b72f44b5f691cd3a24010413cfaab
MD5 (debug/rtsplib.a).................e82688da1e2305078911a606dcbe6a09
MD5 (debug/utillib.a).................f3eecdc4482d5ddd72529883bb396faf
MD5 (debug/wvffplin.a)................5583a00a7209d684642a65f1a4159ab9


Now I can play the wav...

/home/build/src/helix # ./debug/splay ~/Desktop/Heli44k.wav
Simpleplayer is looking for the client core at /home/build/src/helix/debug/clntcore.so
Common DLL path DT_Common=/home/build/src/helix/debug
Plugin path DT_Plugins=/home/build/src/helix/debug
Codec path DT_Codecs=/home/build/src/helix/debug
Can't open file: /root/.helix/HelixShared_0_0.
opening file:///root/Desktop/Heli44k.wav on player 0
Device Configured:
Sample Rate: 44100
Sample Width: 16
Num channels: 1
Block size: 4400
Device buffer size: 65536
Supports GETOSPACE: 1
Supports GETODELAY: 0
----------------clip info--------------------
========Source 0========
====File Header====
StreamCount 1
Flags 1
====Stream 0====
StreamNumber 0
MaxBitRate 705600
AvgBitRate 705600
MaxPacketSize 1764
AvgPacketSize 1764
StartTime 0
Preroll 2000
Duration 11998
BitsPerSample 16
SamplesPerSecond 44100
Channels 1
RTPPayloadType 11
TrackEndTime 11998
PostDecodeDelay 3000
MimeType audio/L16
---------------------------------------------
q
q
/home/build/src/helix #