September 29, 2020, 01:51:13 PM

Author Topic: Can I compile my own "libmp3lame.dll" (V3.100.1)?  (Read 286 times)

Offline Grisu

  • Jr. Member
  • **
  • Posts: 35
    • Pocket Radio Player
Can I compile my own "libmp3lame.dll" (V3.100.1)?
« on: September 14, 2020, 07:58:38 PM »
Hi everyone,

The Lame project recently released a bug fix update on their mp3-encoder (3.100.1).

History log: https://svn.code.sf.net/p/lame/svn/trunk/lame/doc/html/history.html

I would like to update to the latest version, but can't find a version of "libmp3lame.dll" which my bmx app uses.
Most sites offer a "lame_enc.dll" instead which sadly doesnt work for me.
E.g. https://www.free-codecs.com/lame_encoder_download.htm?f=lame_encoder_download

I was wondering, I there is a way to compile my own dll with mingw? Or does someone know where to find it premade?

Grisu

P.S. Yes, I already used several search engines and tested renaming the dll. :)
Pocket Radio Player     Cardwar

Offline col

  • Sr. Member
  • ****
  • Posts: 462
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #1 on: September 15, 2020, 02:04:21 AM »
Do you know where to get the source for 3.100.1 ?

Edit: Lol it's in your link  :D
To be is to be perceived.

https://github.com/davecamp

Offline col

  • Sr. Member
  • ****
  • Posts: 462
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #2 on: September 15, 2020, 02:53:05 AM »
The 'make' file in the repo that you've linked to looks like it will produce a 'lame_enc.dll', but you say that the latest lame_enc.dll doesn't work?

To be is to be perceived.

https://github.com/davecamp

Offline Henri

  • Sr. Member
  • ****
  • Posts: 256
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #3 on: September 15, 2020, 01:07:01 PM »
What module/code you are using to encode lame mp3's ?

-Henri
- Got 01100011 problems, but the bit ain't 00000001

Offline col

  • Sr. Member
  • ****
  • Posts: 462
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #4 on: September 16, 2020, 01:16:54 PM »
At one time Grisu was using the encoding back end of the app here:
https://github.com/davecamp/FModEncoder

The app was made as a test bed for the encoder.

 I'm not sure if Grisu is still using it though.
To be is to be perceived.

https://github.com/davecamp

Offline Grisu

  • Jr. Member
  • **
  • Posts: 35
    • Pocket Radio Player
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #5 on: September 18, 2020, 03:28:28 PM »
Hello, as Dave pointed out, I'm still making use of an updated version of his module.

As this module uses the "libmp3lame.dll", I can't use the "lame_enc.dll".
If I rename the latest "lame_enc" to "libmp3lame.dll", the app wouldn't work properly. Perhaps it needs an updated code for that.

I replaced the older libmp3lame.dll v 3.99.5. with the v 3.100.0 (from the site listed) when it came out in 2017. All worked fine. But I couldnt find a download site for the latest release so far.

Also I have heard that I'm allowed to include a selfmade dll in my distro, as the copyright of mp3 ran out?! Not sure about that. But it would make life simpler for new users of PRP.

 
Pocket Radio Player     Cardwar

Offline Henri

  • Sr. Member
  • ****
  • Posts: 256
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #6 on: September 19, 2020, 05:46:00 PM »
It seems that 3.100.1 hasn't been released yet, but is under construction. So, the 2017 release is the most current at the moment.

-Henri
- Got 01100011 problems, but the bit ain't 00000001

Offline Grisu

  • Jr. Member
  • **
  • Posts: 35
    • Pocket Radio Player
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #7 on: September 20, 2020, 10:42:24 AM »
I know its not on their front page, but the build is all over the internet and it fixes some critical bugs with the encoder engine.
It might be best, if the encoder could use the lame_enc.dll which seems to be more commonly used. I just don't want to depend on third party sites for a new dll.


Pocket Radio Player     Cardwar

Offline Henri

  • Sr. Member
  • ****
  • Posts: 256
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #8 on: September 20, 2020, 02:39:07 PM »
I don't think it has been officially released yet, but let's put that aside and use the latest deveplopment snapshot found at sourcefourge.


What I did:

1. Download Lame source from https://sourceforge.net/p/lame/svn/HEAD/tree/trunk/ . Press Download snaphot.

2. Download Visual studio 2019 Community edition (it's free) https://visualstudio.microsoft.com/downloads/

  - You need the Desktop development with C++ option installed

  - Add C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin to your path environment variable so you can execute msbuild
    from anywhere  (assuming you installed to default location for 32-bit version)

3. Download mpg123 library from https://mpg123.de/download/win32/1.26.3/mpg123-1.26.3-x86.zip and extract to <your_lame_folder>/vc_solution/mpg123.
    Inside this location you should now have mpg123.exe

4. Edit file <your_lame_folder>/vc_solution/vs2019_libmpg123_config.props and change <HaveMpg123> to true and <Mpg123Path> to .\mpg123\

5. Open cmd and cd to <your_lame_folder>/vc_solution/

6. Type this and hit enter: msbuild vs2019_libmp3lame_dll.vcxproj /m /property:Configuration=Release /property:HaveMpg123=true

7. Thats it. You should now have files in <your_lame_folder>\output\Win32\Release


-Henri
- Got 01100011 problems, but the bit ain't 00000001

Offline Grisu

  • Jr. Member
  • **
  • Posts: 35
    • Pocket Radio Player
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #9 on: September 20, 2020, 05:27:02 PM »
Well. I followed your detailed instructions. The dll builds fine and is like 300KB smaller than the original (see attached log).

But at the end of the day, it doesn't work with the encoder, also tested the example that comes with the srs.encodermod. :/
Pocket Radio Player     Cardwar

Offline Derron

  • Hero Member
  • *****
  • Posts: 3185
Re: Can I compile my own "libmp3lame.dll" (V3.100.1)?
« Reply #10 on: September 20, 2020, 06:56:11 PM »
Can't you...simply said...wrap the official dll and use that?

Bye
Ron

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal