Creating a DLL - Translation between 2 DLL's

Hi, I'm not particularly experienced with C/C++ but I have a problem:

I currently have an application, which uses lame_enc.dll to encode audio into MP3 files. There is another encoder available as gogo.dll which uses ASM hand-optimised routines, and is therefore much faster.

Without modifying my application, I want to create a new lame_enc.dll file which will simply pass data onto gogo.dll, and translate any settings required.

Therefore giving the option to add a much faster encoding engine into my application.

The manual for gogo.dll is here http://homepage1.nifty.com/herumi/soft/gogo2/man/
(no source code is provided)

lame_enc.dll manual is available here: http://www.fi.muni.cz/~qruzicka/Smid/man.htm

Source for lame_enc.dll is available from mp3dev.org.

Hope someone can help me, any help is much appreciated. I would prefer coding help to be in standard C, but C++ is fine.

Thanks

JP



Answer this question

Creating a DLL - Translation between 2 DLL's

  • Perry Choy

    That's something better suited for rentacoder.com or sourceforge.net. This isn't a place to ask someone to do your work for you, but rather ask for help with specific issues and concepts.

    That being said, what you want is to read up on standard techniques for proxy dlls. A few google searches should get you started on that.



  • kageg

    I didn't really want someone to do it for me, just someone to explain how to implement the concept. Proxy DLL's is obviously what I'm trying to achieve. Thanks for your help, I will post back if I get stuck during my implementation.

    Thanks


  • Eric Robert

    I hope I didn't come off as being rude, as that was never my intention. My interpretation of your first post was that you wanted someone to look into both apis, and give you complete schematics / implementation. It's better to ask specific questions here at these forums, like "I want to write a DLL which exposes the same interface as that of another one. Where should I start "

    If you run into any trouble with the implementation, feel free to ask.



  • Creating a DLL - Translation between 2 DLL's