[<<][meta][>>][..]
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
Resolving dependencies...
[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 )

/tmp/jack-0.57871/jack-0.5/Setup.hs:2:0:
    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:
ExitFailure 1

# 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 
jack-0.5/
jack-0.5/src/
jack-0.5/src/Sound/
jack-0.5/src/Sound/JACK/
jack-0.5/src/Sound/JACK/FFI.hs
jack-0.5/src/Sound/JACK.hs
jack-0.5/LICENSE
jack-0.5/README
jack-0.5/Setup.hs
jack-0.5/jack.cabal
jack-0.5/INSTALL
jack-0.5/examples/
jack-0.5/examples/Amplify.hs


# In Setup.hs the header dependencies are specified as:
neededHeaders = ["jack/jack.h", "st.h"]


On the website[1] 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
loading there.

[1] http://open-projects.net/~shahn/index.cgi?seite=code



[Reply][About]
[<<][meta][>>][..]