Skip to main content

Topic: WavPack in the Land of C# (Read 6099 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • bryant
  • [*][*][*][*][*]
  • Developer (Donating)
WavPack in the Land of C#
To complement his previous Java work, Peter McQuillan has now created C# implementations of both the tiny encoder and tiny decoder. These are in packages that include command-line demo programs and are available on the regular WavPack download page.

After seeing great apps like Java Tunes and Musique using the Java versions, I am very keen to see what will come from this effort. For starters, Peter created a very fun demo of a functional WavPack file player in Silverlight that you can try here (source also available).

Of course, for some C# applications it might make more sense to just create a wrapper for the WavPack DLL. That’s what Jean Van Laethem did for a WavPack player and made the code available on the WavPack site here.

Many thanks to Peter and Jean! 

  • romor
  • [*][*][*][*][*]
WavPack in the Land of C#
Reply #1
Congratulations for your work and up road to your codec. Hope my favorite on-line service would recognize it as worth (I voted)
Porting is also great success, and don't let my comment spoil the fun but I'm curious:
I really don't know who will use it? Does regular HA member have Silverlight installed, or maybe uses java/.net player?
It should be fine for personal or closed circle development, but not out in the wild with available solutions
Only place I see for java based player is smartphone platform, but than it's just me wondering and not seeing everything
  • Last Edit: 09 November, 2010, 06:59:00 AM by romor

  • soiaf
  • [*][*]
  • Members (Donating)
WavPack in the Land of C#
Reply #2
Well, as David points out, there are already software solutions using the Java implementations i.e. JavaTunes and Musique. The advantage of these players is that they can run on multiple O.S. environments e.g. Windows, Mac, Linux.
So certainly the Java code is not restricted to use on phones.
I have done testing (on a Google Nexus One phone) and the Java code is certainly more than fast enough to encode in realtime, say if recording from the microphone, but in the case of Android it would probably still be best to use the C implementation. However, this is the great benefit of having WavPack implementations available in different programming languages, you're able to choose a solution that meets your needs

There is a lot of .net code out there (and programmers who use it), so hopefully the C# implementations will be of interest to some people; as I said, its nice giving them a choice.
The Silverlight demo is to give a demo of potential usage of the C# code, unfortunately it really only works properly at the moment if you access it with Silverlight rather than Moonlight, there seems to be bugs (which I've reported) in the current Moonlight preview release (2.99.0.9) that prevent it playing WavPack files properly, but I'm hoping that this will be fixed in the next version of Moonlight, so then people on linux will be able to try it out also.
Silverlight is (as far as I know) the development framework used on Windows Phone 7, so the code could be used there I imagine.
But if you were looking for a Web based solution, it would probably be best to use the haXe implementation which provides a Flash player, and Flash is available on most computers - again, there is flexibility in having a decoder implementation in this language!

  • bryant
  • [*][*][*][*][*]
  • Developer (Donating)
WavPack in the Land of C#
Reply #3
Peter has been doing some optimization of the C# decoder and I have just finished benchmarking the 1.1 version.

Depending on the mode, it runs between 20% faster and almost twice as fast as the previous version. Nice work, Peter!

Available on the regular WavPack download page.