Corey-M/NAudio.Lame

More control over output file

Closed this issue · 5 comments

Currently, in NAudio.Lame I cannot find any way to do the following:

  • Mark as Copyrighted (this is a flag in addition to the ID3 Tag, LAME parameter "-c")
  • Support for the conversion mode (LAME parameter "-m")
    • Joint 'j'
    • Dual Mono 'd'
    • Mono 'm'
    • Left 'l'
    • Right 'r'
  • Support for "High Quality" parameter (LAME parameter "-h")

These are all things I need to ensure exist in my target MP3 file after conversion. I currently have a poor man's wrapper library that executes Lame as a separate process that applies these settings. I'd like to retire that library and use this one.

Shouldn't be a problem. These are already exposed through LameDLLWrap.LibMp3Lame so either another constructor parameter or a proxy property should do it.

Note that according to the header files LAME doesn't support Dual Mono mode.

I'll try to get some spare time to look at this later in the week.

Late as usual, but this is now done. There's a new LameConfig class that you can use if you need to set things like the MPEG Mode, Copyright, Original, etc.

At the moment the quality settings are handled with the presets. If you want more control over things like VBR mode and quality I can add those to LameConfig.

Thanks for what you've done so far. I can't seem to include the LameDLLWrap.MPEGMode enum to set the conversion mode. There's no separate Nuget package for it, and even if the enum is "public" it's not available to my application.

Oops, my bad. Fixed in 1.1.2 (later today).

Hopefully this worked out for you. Fire up a new issue if you need something more.