I originally posted these classes because they turned out nice in my application, were reasonably generic, and I thought they'd be useful to other people. I figured it was a chance to give something back to the community. I eventually discovered that this was a bad idea and took them offline mainly for the following reasons: 1) Supporting the various versions of Speex is a nuisance, mainly because there is no #define or API call to query the version. 2) My classes covered the basics of Speex and then some, but not every possible option or conceivable use. When someone wanted to do something that wasn't supported, they emailed me expecting me to update the classes to fit their application. 3) Almost all of people who emailed me about the classes were in a rush to get their projects working, were having problems, and had obviously not read the Speex documentation, the sample code, or the source code to my classes. Often I was asked to fix bugs in their application code that had nothing to do with my classes or Speex. Sorry, but it's not worth the aggravation. If you want wrapper classes for Speex, I suggest you read the Speex documentation and sample code, then write them yourself. Then you will (hopefully) understand Speex well enough to use it properly. If you run into trouble, you can post your question politely and with enough detail to this list, and someone (perhaps myself) will try to help you. Tom "H. Serdar Karahan" <hserdarkarahan@gmail.com> wrote:> > Hello, > I tried to download the > http://www.grandgent.com/tom/projects/tgAudioCodec/tgAudioCodec.zip > link in this list but it does not exist. Where can I find it? If > someone have it please send it again to list. I urgently need wrapper > classes of Speex in C++ and Delphi. Please help me. > Thank you.
On Mon, Apr 04, 2005 at 07:52:54AM -0400, Tom Grandgent wrote:> I originally posted these classes because they turned out nice in > my application, were reasonably generic, and I thought they'd be > useful to other people. I figured it was a chance to give something > back to the community. > > I eventually discovered that this was a bad idea and took them > offline mainly for the following reasons:[snip] Yes, this is often the experience of maintaining a piece of open source software. If you're not happy with the support requests you're getting, another good way to deal with them is to be prompt in supplying your consulting rates. :) And of course you're welcome to direct them here as a public forum where help from other users may be available. FWIW, -r
> 1) Supporting the various versions of Speex is a nuisance, mainly > because there is no #define or API call to query the version.It is possible to get the version using speex_lib_ctl(int request, void *ptr). Possible requests are SPEEX_LIB_GET_MAJOR_VERSION, SPEEX_LIB_GET_MINOR_VERSION, SPEEX_LIB_GET_MICRO_VERSION, SPEEX_LIB_GET_EXTRA_VERSION, and SPEEX_LIB_GET_VERSION_STRING. Also, what do you mean by version problems? The API hasn't changed at all for the 1.0 branch. For 1.1.x, I'm added a few interfaces, but modified 1.0.x to stay compatible (while not breaking 1.0 compatibility).> 2) My classes covered the basics of Speex and then some, but not > every possible option or conceivable use. When someone wanted to > do something that wasn't supported, they emailed me expecting me > to update the classes to fit their application.Yeah, I've seen that here too ;-)> 3) Almost all of people who emailed me about the classes were in > a rush to get their projects working, were having problems, and had > obviously not read the Speex documentation, the sample code, or the > source code to my classes. Often I was asked to fix bugs in their > application code that had nothing to do with my classes or Speex.Seen that too ;-)> Sorry, but it's not worth the aggravation.If you still intend to work on your wrapper, it would be nice to keep it available for people who behave ;-) Perhaps removing your email address or something.> If you want wrapper > classes for Speex, I suggest you read the Speex documentation and > sample code, then write them yourself. Then you will (hopefully) > understand Speex well enough to use it properly. If you run into > trouble, you can post your question politely and with enough detail > to this list, and someone (perhaps myself) will try to help you.Yes, this applies to question about libspeex as well! Jean-Marc -- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> Universit? de Sherbrooke