[Mono-list] The Sound of C#

Mark Crichton crichton@gimp.org
Thu, 25 Apr 2002 00:58:00 -0400


--lrZ03NoBR/3+SXJZ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I'm a really sick, twisted person.

So, over the past few days, my research has been dictated by slow
equlibrium processes, so I've decided to code some C#.  Good idea, I
thought, since Miguel wants demo material for whatever conference that
is.

Of course, this comes from the tourmented mind that brings you new
Imlib1 releases.  Doing some web app isn't "good" enough for me...it
had to be something that would cause people to ponder whether or not I
should be in a padded cell.

So I ported JOrbis to C#.

That's right, we now have a C# implementation of an OGG bitstream
parser and a Vorbis codec.

What's worse...it works extremely well in the MS runtime.  It causes
the mono JIT to choke (see bug #23846).  The code is also somewhat
ugly, I've had to fix some of the Java constructs over to C# (namely
the pseudo Java "goto"s...ever see Fortran ported to C ported to Java
before....if you haven't...).  Some things with casting should really
be fixed, and I need to fix all the synchronized() issues...I just
kinda left those out or pseudo-faked them with bad lock(this)
constructs.

Speed isn't that great.  In a vmware process on my dual MP 1900+, I can
deocde a 6 minute song in 50 seconds.  Not as fast as a native C
version (order 10 seconds), but still faster than realtime.

I'll try to get it into a public CVS server as soon as some of the
warts are removed.  But, hey, for demo material, there's nothing better
than blaring some 2112 across a conference room...(1)

Take care,
Mark Crichton

(1) Well maybe there is, but I doubt there are a lot of people familiar
with the Indianapolis punk scene....



--lrZ03NoBR/3+SXJZ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (SunOS)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjzHjNUACgkQOfj2Ja/u/oA2FgCgkW67raNIk0A+HLDXDbMRwhQF
KosAn3OTyjDFWGCFpJC/2eJJFkU5/YL8
=stay
-----END PGP SIGNATURE-----

--lrZ03NoBR/3+SXJZ--