[email protected]
[Top] [All Lists]

Re: [Haskell-cafe] ANN: Hemkay, the 100% Haskell MOD player

Subject: Re: [Haskell-cafe] ANN: Hemkay, the 100% Haskell MOD player
From: Peter Verswyvelen
Date: Mon, 14 Dec 2009 23:10:58 +0100
Nice work!

Did you try the OpenAL binding? Not sure if that works.


2009/12/14 Patai Gergely <[email protected]>:
> Hello all,
>
> I just uploaded the fruit of a little side project. Hemkay [1] is an
> oldschool module music [2] player that performs all the hard work in
> Haskell. If there was any goal, it was to express the transformation
> from the song structure to the output of the mixer as a series of
> function compositions, maintaining a style that one might call idiomatic
> Haskell. Considering the dirtiness of the format in question, I'm quite
> pleased with the initial version.
>
> Still, I'd be curious to see how the overall quality of the code could
> be improved. In particular, retrieving and updating record fields is
> somewhat inconvenient. Also, the actual mixing (limited to the mixChunk
> function) is embarrassingly slow, and I wonder how much it could be
> improved without leaving the pure world.
>
> The program uses Portaudio for playback, but that might easily change in
> the future. The problem is that I couldn't get sound to work smoothly
> when producing samples in batches, so I'm sending them off one by one
> (!) at the moment, which doesn't help with performance either. I'm open
> to suggestions as to what library to use to push data to the sound card.
>
> Gergely
>
> [1] http://hackage.haskell.org/package/hemkay
> [2] http://en.wikipedia.org/wiki/MOD_(file_format)
>
> --
> http://www.fastmail.fm - Or how I learned to stop worrying and
>                          love email again
>
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

<Prev in Thread] Current Thread [Next in Thread>