Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: LAME 3.99 is out (Read 300708 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

LAME 3.99 is out

Reply #200
but knowing the patch version and, therefore, knowing if you are using the latest version must be of benefit.

Is this rule be "forever"? Is it good to remove "LAME" brand from the the "vendor" tag? Sorting is fun too (3.99r1, then 3.99a2, than 3.99b2, then 3.99r2, then 3.99a3... This is not trivial to sort, compared to L3.99.1r, L3.99.2a...). How someone who has never seen a LAME tag (this can happen!) can find that "L" or "L3.99" is the hint for "Lame" encoder? "Lame encoder" on Google redirects to http://lame.sourceforge.net, "L encoder" will never do it. I would have imagined something like "LAME3.99s" or "LAME4.00r"... (Why using .99 if you don't plan to rename it to .00 at some point? After 3.99.9, will the next one be 3.99.9.1?)

If 3rd party software recognizes the extra info only, when the short version string starts with LAME, then other encoders will have to fake a LAME version info here too, if they want their files to be handled equally well. As a consequence, you can't trust the version info anymore and this hurts the "brand" even more. I don't get your sorting problem. The letters stand for a-lpha, b-eta and r-elease versions. The corresponding file version info in the executable are 3.99.n.1 with n = 0 (alpha), 1 (beta), 2 (release). With the old scheme and upcoming versions, you can't differentiate between a/b/r versions anymore.

To sum it up, I'll think about a compromise.

LAME 3.99 is out

Reply #201
I don't get your sorting problem. The letters stand for a-lpha, b-eta and r-elease versions. The corresponding file version info in the executable are 3.99.n.1 with n = 0 (alpha), 1 (beta), 2 (release). With the old scheme and upcoming versions, you can't differentiate between a/b/r versions anymore.

Sorting issue ("3.99a2"<"3.99r1", weird) is a detail (very few developers will try to sort, but a "compromise" could be "3991r", even if the dot is hardcoded in specs, I think this is not used as a "trigger" for LAME decoder detection)
The major, very important issue, you can see it in the comments, is the 4th first letters "LAME". Lot of programs (and hardware!) rely on theses 4 letters, because... It was written in the "specs", this is a method to detect LAME encoder, this is "logical".

"LAME" letters are very important for legacy.

LAME 3.99 is out

Reply #202
Robert, since you posted almost the same time as I, please check also my last reply in the previous page if you did not already notice it. Thanks.

LAME 3.99 is out

Reply #203
I don't get your sorting problem. The letters stand for a-lpha, b-eta and r-elease versions. The corresponding file version info in the executable are 3.99.n.1 with n = 0 (alpha), 1 (beta), 2 (release). With the old scheme and upcoming versions, you can't differentiate between a/b/r versions anymore.

Sorting issue ("3.99a2"<"3.99r1", weird) is a detail (very few developers will try to sort, but a "compromise" could be "3991r", even if the dot is hardcoded in specs, I think this is not used as a "trigger" for LAME decoder detection)
The major, very important issue, you can see it in the comments, is the 4th first letters "LAME". Lot of programs (and hardware!) rely on theses 4 letters, because... It was written in the "specs", this is a method to detect LAME encoder, this is "logical".

"LAME" letters are very important for legacy.

The "spec" gives two examples for Encoder short VersionString (btw the spec has a miscounted starting point there), but that doesn't make any of these examples mandatory.

Code: [Select]
9 characters 

examples:
"LAME3.90a" : LAME version 3.90 alpha
"GOGO3.02b" : GOGO version 3.02 beta


Robert, since you posted almost the same time as I, please check also my last reply in the previous page if you did not already notice it. Thanks.

I've read your post.

LAME 3.99 is out

Reply #204
The "spec" gives two examples for Encoder short VersionString (btw the spec has a miscounted starting point there), but that doesn't make any of these examples mandatory.

Specs are not logical, yes... That's a pity that there is no correction and "official" definition of the tag.
Take the other part of the spec: 00h 00h 00h $9B "L" "A" "M" "E" $A0 "." $A2 $A3 $A4.

Anyway, that does not change the fact that some tools/hardware have problems without "LAME" magic value. This is a mess, but I see no big reason to break such tools (and this part of the specs), there are other solutions, from my point of view.

LAME 3.99 is out

Reply #205
You know what an example is, yes?

LAME 3.99 is out

Reply #206
I know to read a spec, I read dozens of them for my job. When $9C is replaced by 'L' somewhere in a hex dump with links to the definition of each not hard coded parts, this used to be something mandatory (normative). Examples use to be "not normative" = if you have a doubt, trust the normative part.

Anyway, mood, discussion on bad specs is not the main issue. The main issue is that you break compatibility. Specs have often corrections, but when a spec is corrected, authors try not to break the past when they can (e.g. on the same page, it is said not to use "Info" tag for VBR, but to continue to use "Xing" tag even if "Info" tag is valid for VBR, the goal is to keep compatibility, legacy), and I am sure you can do better. If the goal is to break compatibilty with software/hardware, why not, if the goal is to spread the LAME tag, the idea is not good.

And I am not the only one to say that "L" magic value for Lame encoder is not very appropriate. User may not see the problem directly, but they see that the tool they use don't support anymore some features because another developer has made the same error than me.

At the end, my tool is not a problem, I'll adapt my code and my user base is so tiny that nearly nobody will see it (except some people asking why Lame software is no more well detected, very few people). I only warn you on potential problem you can face later when most users will not be able to use correctly their hardware/software (more spread than mine). I am only an small alert of the potential future.

LAME 3.99 is out

Reply #207
Could some kind soul please mirror/link the 3.99 32bit libsnd bundle for Windows 7? Spent an hour googling and snooping around the Rarewares site, but it's apparently been deleted already. My iPhone cannot handle the new 3.99.1 headers and thus doesn't play the files gaplessly... That's too irritating for me. 

LAME 3.99 is out

Reply #208
That's the same problem I'm having with iTunes and my Ipod. They either cannot read the LAME header, or cannot read it properly, and as a result, gapless playback is now screwed up. My concern isn't so much about how the version of the encoder is displayed, but how the header is handled by certain hardware and software. There's clearly a problem here.

LAME 3.99 is out

Reply #209
I just tried my brothers iPhone 4s this morning and it plays back Lame 3.99.1 files perfectly gapless along with iTunes. I convert ALAC files with XLD on OS X Lion to Mp3.

LAME 3.99 is out

Reply #210
I just tried my brothers iPhone 4s this morning and it plays back Lame 3.99.1 files perfectly gapless along with iTunes. I convert ALAC files with XLD on OS X Lion to Mp3.
Mine is 3 series (or something, I got it for free and wouldn't pay a penny for it if I had to lol), so apparently these old gen models can't read them properly.

LAME 3.99 is out

Reply #211
That's probably it. Mine is a 120GB Ipod Classic. Three years old. Sounds like the newest models are not having a problem with the header. Apple isn't updating the firmware on the older models, so they won't deal with the problem.

LAME 3.99 is out

Reply #212
Could it be the way the XLD developer implemented theLAME encoder. UNder get info in iTunes it does show "ENCODED WITTH Lame 32bits 3.99.1

LAME 3.99 is out

Reply #213
My 3.99.1 encodes are still showing up as Encoded by: Unknown in iTunes. Odd. I used foobar2000, EAC and dBpoweramp to encode, and it makes no difference which one is used, they all show up as Unknown. It's definitely not reading the header correctly. XLD is for Apple computers, right? Perhaps that's why it's working properly for you? Just a guess on my part.

LAME 3.99 is out

Reply #214
I just booted into Windows and used dbpoweramp and iTunes does show it as unknown. The XLD developer must of changed something somewhere as Lame 3.99.1 encoded with XLD show in iTunes as Lame 32bits 3.99.1 and play gapless everywhere i have tried.

This might explain http://tmkk.pv.land.to/lame/index_e.html

LAME 3.99 is out

Reply #215
Could some kind soul please mirror/link the 3.99 32bit libsnd bundle for Windows 7? Spent an hour googling and snooping around the Rarewares site, but it's apparently been deleted already. My iPhone cannot handle the new 3.99.1 headers and thus doesn't play the files gaplessly... That's too irritating for me. 

http://homepage.ntlworld.com/jfe1205/LAME/...-20111101-2.zip
There you go.

LAME 3.99 is out

Reply #216
I just booted into Windows and used dbpoweramp and iTunes does show it as unknown. The XLD developer must of changed something somewhere as Lame 3.99.1 encoded with XLD show in iTunes as Lame 32bits 3.99.1 and play gapless everywhere i have tried.

This might explain http://tmkk.pv.land.to/lame/index_e.html

What you are seeing is some ID3v2 tag, LAME adds it when you use its tagging options. I don't know if iTunes does react on such a tag.

LAME 3.99 is out

Reply #217
Then why are Lame mp3 created with dbpoweramp non gapless and Lame mp3s created with XLD on OSX gapless.

LAME 3.99 is out

Reply #218
To my knowledge, dBpoweramp doesn't use LAME's id3 tag writing options, it does it on its own. Maybe try to copy the ID3v2 TSSE frame to one file encoded with dBpoweramp. See if that makes any difference for iTunes.

Edit: forgot to mention, XLD seems to be using LAME's id3v2 tagging options.

LAME 3.99 is out

Reply #219
LAME 3.99.2 compiles on the way featuring a reversal to the old LAME tag scheme.

LAME 3.99 is out

Reply #220
LAME 3.99.2 compiles on the way featuring a reversal to the old LAME tag scheme.

Thank you.
How will the version be after this one? (3.100? 5.00?). I am working on a "human readable" decoder name + decoder version based on this string, so if I can anticipate any change in the version string policy, it would be great.

LAME 3.99 is out

Reply #221
Could some kind soul please mirror/link the 3.99 32bit libsnd bundle for Windows 7? Spent an hour googling and snooping around the Rarewares site, but it's apparently been deleted already. My iPhone cannot handle the new 3.99.1 headers and thus doesn't play the files gaplessly... That's too irritating for me. 

http://homepage.ntlworld.com/jfe1205/LAME/...-20111101-2.zip
There you go.
Thanks, you just made my day.

P.S.
Quote
LAME 3.99.2 compiles on the way featuring a reversal to the old LAME tag scheme.
Does this only go for how the tool is written or gap information?

LAME 3.99 is out

Reply #222
3.99.2 compiles are now at Rarewares.

Questions regarding future numbering schemes are really for Robert and not me as he is the currently active lame-dev and I am not one at all!

LAME 3.99 is out

Reply #223
How will the version be after this one? (3.100? 5.00?). I am working on a "human readable" decoder name + decoder version based on this string, so if I can anticipate any change in the version string policy, it would be great.

From: http://lame.cvs.sourceforge.net/viewvc/lam...l?revision=HEAD
Quote
LAME 3.100  not yet released.
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

LAME 3.99 is out

Reply #224
This is some history

LAME3.97a
LAME3.97b
LAME3.97r
LAME3.98a
LAME3.98b
LAME3.98r    3.98-3.98.4
LAME3.98a
LAME3.98b
LAME3.99r    3.99
L3.99r1        3.99.1 (aka insane)
LAME3.99r    3.99.2 (back to sanity)

and future

LAME3.993  3.99.3  (kill the 'r')
LAME3100a            (kill the dot)
LAME3100b
LAME31000  3.100 release
LAME31001  3.100.1
LAME31024  3.102.4
LAME50579  5.57.9
...

My point is that 9 characters is plenty.