Wed Apr 21 12:17:27 EDT 2010
Generating an audio synth
Need a fast path to something that works with jack. Since one of the
main points of writing a metaprogramming library is to arbitrarily
move nodes between compile and run time, we need both a Haskell-based
jack client and a VM that loads compiled C plugins.
# First idea is to use the `jack' package in hackage, but that fails
# to compile:
tom@del:~$ cabal install jack
[1 of 1] Compiling Main ( /tmp/jack-0.57871/jack-0.5/Setup.hs, /tmp/jack-0.57871/jack-0.5/dist/setup/Main.o )
Warning: In the use of `defaultUserHooks'
(imported from Distribution.Simple):
Deprecated: "Use simpleUserHooks or autoconfUserHooks, unless you need Cabal-1.2
compatibility in which case you must stick with defaultUserHooks"
Linking /tmp/jack-0.57871/jack-0.5/dist/setup/setup ...
Searching for jack/jack.h...found
Searching for st.h...setup: user error (ERROR: st.h not found)
cabal: Error: some packages failed to install:
jack-0.5 failed during the configure step. The exception was:
# Let's try to see what's going on here. Unpack it:
tom@del:/tmp$ tar vxf ~/.cabal/packages/hackage.haskell.org/jack/0.5/jack-0.5.tar.gz
# In Setup.hs the header dependencies are specified as:
neededHeaders = ["jack/jack.h", "st.h"]
On the website it is mentioned that: There is a version in Hackage,
but the darcs repo is preferable at the moment. It also mentions:
"Note that realtime audio processing done in Haskell is not really
feasable. At least I didn't get it to work properly."
Ok, abandoning this approach.
Next? Maybe use Pd as a basic substrate, and use run-time plugin