I usually use this script to compile static libraries for the iPhone, but TiMidity++ isn't a library and the API's it uses to output sound on OS X aren't available on the iPhone OS.
Here's what I've gotten so far:
- Save
build_for_iphoneos
somewhere in your path and +x
it
cd
to the extractd TiMidity++ folder
build_for_iphoneos simulator
This will fail
- Copy
timidity/newton_tables.c
somewhere safe.
make clean
build_for_iphoneos device
- Manually edit
timidity/makefile
and remove all references to DAU_DARWIN
and darwin_a
- Copy
newton_tables.c
back into the timidity
subfolder and touch
it
make
You should now have a timidity
binary that can be used from the shell on a jailbroken device (after signed via ldid of course) and object files you can include in your project.
Note: TiMidity++ is GPL, so you will have to release your application under that license if you use any part of it. Also, this is really messy because TiMidity++ wasn't designed to be used this way, all of the darwin integration is broken on iPhone OS, and automake confuses me.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…