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: Otachan's in_!mpg123 (Read 224317 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Otachan's in_!mpg123

Continued (sort of) from http://www.hydrogenaudio.org/forums/index....showtopic=17724

I don't speak or write Japanese, but I know how to read the letters. With the help of web translation, here's some info I've been able to gather. Some of it might not be accurate though, due to my faulty understanding.

Here it is: a rough, partial translation of http://otachan.com/in_!mpg123.html

1. What It Is
It's the twisted-by-Otachan () version of the tweaked-by-YunaSoft-and-moka version of the written-by-Shibata, mpg123-based, Winamp5 MP3 decoding plugin.

2. Changes Since 1.18y pl-08
  • Supports Winamp5 (Thanks to T-Matsuo)
  • Supports MP1, MP2
  • Supports ID3v2 and APE tags
  • Can display ID3v2/APE tag specific data in titles (%a ~ %e)
  • Takes care of multibyte encodings in title display
  • Tag editing functions are disabled; T-Matsuo's mp3infp is called externally instead. You need to install mp3infp to edit tags.
  • 24bit int, 32bit int, 32bit float, 64bit float output possible
  • Sample-exact output for LAME encoded MP3 files (Gapless decoding)
  • Supports Replay Gain
  • Improved streaming playback support
  • mpg123 library ugraded to pre0.59s (Intensity-stereo problems fixed)
  • Fixed the mpg123 library's limitation of not being able to play MPEG-2.5/8kHz data (Thanks to Northern Verse)
3. Changelog

Ver. 1.18y ot107.2
Expanded title formatting.

Ver. 1.18y ot106.1
  • Tag priority can now be configured. (Default is D3v2 > APE > ID3v1.)
    Tag priority also affects Replay Gain-reading priority.
  • Discontinued support for RIFF SIF tags.
    Although playback of RIFF SIF data is possible, tag is no longer read.
Ver. 1.18y ot105.1
Changed search order of mp3infp.dll.

Ver. 1.18y ot104.4
  • When saving streams to files, doesn't overwrite existing files.
  • When saving streams to files, doesn't save if server is down.
Ver. 1.18y ot103
  • Hands exact playback position to visualization plugins.
  • Fixed crashes that occurred when using DSP plugins.
Ver. 1.18y ot102
Fixed noise bug with some input data.

Ver. 1.18y ot101.2
  • Changed installation method.
    Changed installation method if Winamp is installed on an NTFS filesystem. For details, please consult the installation documents.
  • Changed filename to in_!mpg123.dll. (To make Winamp recognize it before in_mp3.dll on NTFS.)
  • Fixed bug where streaming playback couldn't be disabled with newer versions of Winamp.
    It is unclear since which version of Winamp that it couldn't be disabled, so the fix is in effect for Winamp 5.11 and higher.
  • Disabled streaming playback by default.
Ver. 1.18y ot100
Character string manipulation functions switched to secure ones.

Ver. 1.18y ot99.1
All calculations are now based on 64bit float values until right before data output.
Reverse stereo, invert phase, and volume calculations are all in 64bit float too. It's converted to the target format just before data output.

Ver. 1.18y ot98
Speeded up conversion of float to int when handing data to visualization plugins.

Ver. 1.18y ot97.1
  • Changed the method playback starts.
  • Changed the method of synchronization between threads.
  • Removed requirement of Winamp 5.12 or newer.
    Works with versions older than Winamp 5.12.
Ver. 1.18y ot96.1
Fixed lockups happening when playback was started in quick succession.

Ver. 1.18y ot95.1
No longer converts integer samples to 16bit integer samples when handing data to visualization plugin.
Requires Winamp 5.12 or higher.

16bit int -> 16bit int
24bit int -> 24bit int
32bit int -> 32bit int
32bit float -> 16bit int
64bit float -> 16bit int

In order to prevent processing slowdown, floating-point samples get converted to 16bit integers, not 32bit integers.

Ver. 1.18y ot94.1
Fixed crashes happening immediately before end of playback when full file-buffering was in effect.

Ver. 1.18y ot93
Switched compiler to Visual C++ Ver. 8.0.50727.42.

Ver. 1.18y ot92
Speeded up decoding when Replay Gain was having no effect.

Ver. 1.18y ot91.1
  • Speeded up decoding.
    Approx. 10% faster than Ver. 1.18y ot88.2 and approx. 30% faster than Ver. 1.18y ot89.3.
  • Couldn't decode monaural data normally with Ver. 1.18y ot90.
Ver. 1.18y ot90
Speeded up decoding which got slow with Ver. 1.18y ot89.3.

Ver. 1.18y ot89.3
Fixed noise problem with seeking.

Ver. 1.18y ot88.2
Fixed +/-0.0 dB track gain in LAME tag being treated as no Replay Gain info.

Ver. 1.18y ot87a
Improved accuracy of seeking.

Ver. 1.18y ot86
When playing streams, rejects file extensions mp4, m4v, and m4a. (Rejected extensions are mp4, m4v, m4a, aac, nsv, nsa, ogg, and apl.)

Ver. 1.18y ot85b
Preamp for non-replaygained data now works with streaming data when Replay Gain is on.

Ver. 1.18y ot84
Can get track data from RIFF SIF tag. ('ITRK')

Ver. 1.18y ot83a
Changed compiler to Visual C++ Ver. 8.0.50215.44 Beta2.

Ver. 1.18y ot82
Supports combination of APE + ID3v1 + Lyrics3 v2.00 tags. (APE has priority.)

Ver. 1.18y ot81e
  • For tagging, now requires mp3infp Ver. 2.48 or higher.
  • Instantly refreshes tag data when using [View file info...] or mp3infp to edit tags .
  • Tags weren't being refreshed when [Misc - Read extended info on selection] was run.
  • When using Replay Gain, you can now set a preamp value for un-replaygained data.
Ver. 1.18y ot80a
  • Error checking is now more strict.
  • Do away with "Continue decoding even when errors are detected".
Ver. 1.18y ot79b
There was a chance of a buffer overflow when decoding MP2.

Ver. 1.18y ot78
Was failing to operate in some environments.

Ver. 1.18y ot77b
Data output was incomplete when playing streams.

Ver. 1.18y ot76
Is no longer hooked to the main window.

Ver. 1.18y ot75c
  • Doesn't come to a complete stop if playback couldn't start due to errors. (Moves to next item in playlist.)
  • Changed the User-Agent string sent to streaming servers.
  • Now supports the Icecast streaming server.
  • Running View file info... on a stream in the playlist used to show the URL instead of the title.
Ver. 1.18y ot74a
Fixed cases where VBRI tags weren't being recognized.

Ver. 1.18y ot73a
Now supports VBRI tags.

Ver. 1.18y ot72a
Now rejects the nsa filename extension when playing streams.

Ver. 1.18y ot71
Switched compiler to Visual C++ Ver. 8.0.40607.16 Beta1.

Ver. 1.18y ot70a
Fixed crashes happening at start of streaming playback if the size of the streaming buffer was set to be small.

Ver. 1.18y ot69
Fixed crashes happening right before end of playback if full buffering was being used.

Ver. 1.18y ot68
  • You can now disable the streaming playback function.
  • Changed method of calculating remaining time/samples if a frame error occurs. (Doesn't reset to 0 if possible.)
Ver. 1.18y ot67c
  • Fixed problem of plugin not working in Win95.
  • Switched compiler to Visual C++ .NET Ver. 7.1.3091.
Ver. 1.18y ot66
Fixed mistake interpreting ID3v2.4 tags. (Thanks to T-Matsuo.)

Ver. 1.18y ot65a
Fixed problem with starting playback of streams.

Ver. 1.18y ot64
  • Fixed crashes with low latency output plugins.
  • Fixed much-too-high update speed of the real-time bitrate display with low latency output plugins.
  • Switched compiler to Intel C++ Ver. 8.0.047.
Ver. 1.18y ot63
Data encoded with RealOne Player wasn't being decoded normally.

Ver. 1.18y ot62
Fixed problem of Winamp behaving strangely with long title formatting strings if Advanced Title Formatting was not used.

Ver. 1.18y ot61c
  • Supports Replay Gain.
    Replay Gain info is read from ID3v2, APE and LAME tags. The reading order is ID3v2 -> APE -> LAME.
    Please use foobar2000 when writing Replay Gain info to ID3v2 or APE tags. (Reading of Replay Gain data written in ID3v2 or APE tags is compatible with that of foobar2000.)
    When writing Replay Gain data in LAME tags, please use LAME 3.95 or above to encode.
    Please refer to http://replaygain.hydrogenaudio.org/ for in-depth information on Replay Gain.
  • Fixed problem with line-final characters not being read if Unicode is used with ID3v2.
Ver. 1.18y ot60b
Fixed pause/seeking not working immediately after start of playback.

Otachan's in_!mpg123

Reply #1
  
"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
        - Oceania Association of Autonomous Astronauts

Otachan's in_!mpg123

Reply #2
Quote
Sample-exact output for LAME encoded MP3 files (Gapless playback)


Gapless as in full gapless support like foobar2000?

Otachan's in_!mpg123

Reply #3
Yes and no.

Yes, if encoder delay info is found in an MP3 file, then Otachan's in_mpg123.dll should provide gapless decoding, the same way foobar2000 does it.

No, Winamp2 or Winamp5 needs to be tweaked to provide gapless output. Recent versions of Winamp's output plugins let you change "Buffer-ahead on track change" settings, and increasing this value slightly will give you perceptively gapless output most of the time. (edit: But maybe not always..)

Otachan's in_!mpg123

Reply #4
Thanks for the quick reply

Otachan's in_!mpg123

Reply #5
Quote
  • Supports ReplayGain.
    ReplayGain info is read from ID3v2, APE and LAME tags. The reading order is ID3v2 -> APE -> LAME.

Great. And it works with my other favourite minimalistic player (1by1) too.

[Now I just need replaygain support for in_mp4.dll and I'll be quite satisfied]

Otachan's in_!mpg123

Reply #6
kjoonlee, tnx for translating the changelog. I was always curious what was written in there. 
It would be a nice service if you could update it with every new version of the plugin released

Let's hope that otachan will include native tagging support (from within the plugin). Because the last remaining issue with in_mpg123 is that  I cannot update the tags if the song is currently playing.

Otachan's in_!mpg123

Reply #7
a useful work!

Thx.
It's My Life,
It's Now Or Never,
I Ain't Gonna Live Forever,
I Just Want To Live While I'm Alive.

Otachan's in_!mpg123

Reply #8
thx,but i don't use it

Otachan's in_!mpg123

Reply #9
Quote
When writing ReplayGain data in LAME tags, please use LAME 3.95 or above to encode.

So ReplayGain won't work with LAME 3.90.3 encoded MP3s then?

Otachan's in_!mpg123

Reply #10
Quote
Quote
When writing ReplayGain data in LAME tags, please use LAME 3.95 or above to encode.

So ReplayGain won't work with LAME 3.90.3 encoded MP3s then?

It will, it just won't be written in the LAME tag. 
gentoo ~amd64 + layman | ncmpcpp/mpd | wavpack + vorbis + lame

Otachan's in_!mpg123

Reply #11
Quote
Quote
When writing ReplayGain data in LAME tags, please use LAME 3.95 or above to encode.

So ReplayGain won't work with LAME 3.90.3 encoded MP3s then?

As music_man_mpc said, it actually will support Replaygain for all possible mp3 files not only encoded with LAME 3.94 or later. You need to use foobar2000 to add Replaygain info into their tags(ID3v2, APEv2) anyway.

Otachan's in_!mpg123

Reply #12
Quote
As music_man_mpc said, it actually will support Replaygain for all possible mp3 files not only encoded with LAME 3.94 or later. You need to use foobar2000 to add Replaygain info into their tags(ID3v2, APEv2) anyway.

mp3Gain also seems to do the trick, but once I use mp3Gain, all my tags disappear in the Winamp display, and I have to run Tag on the MP3's to force them to use APE tags. Then all the information reappears.

Otachan's in_!mpg123

Reply #13
I did not have to do that. I just analyzed all my files today, which from what I gather adds replaygain information somewhere in there and all my tags are still intact. Too bad the in_mpg123.dll doesn't support the nice tag viewer/editor that in_mp3.dll has.

Otachan's in_!mpg123

Reply #14
Will having 64-bit decoding allow the 'sound quality' to be theoretically as good as Foobars?
< w o g o n e . c o m / l o l >

Otachan's in_!mpg123

Reply #15
Ver. 1.18y ot64 is out.

I cannot understand the babelfish translation, therefore I cannot tell, what is new.

Maybe kjoonlee or harashin can help out again.


Otachan's in_!mpg123

Reply #17
Tnx, a good guess, I think.

Hopefully Otachan can hack around the tagging problem some day. I hate the fact that I can update the tags of all songs, with the exception of the one I am currently listening to. Perhaps some code from mp3infp can be integrated into the plugin instead of using an external plugin?

Otachan's in_!mpg123

Reply #18
Does the alternate volume setting method influence the quality?
Is there an explanation of the settings?
This plugin is great

Otachan's in_!mpg123

Reply #19
Version ot65 is out.

A bug with streaming seems to be fixed.

Otachan's in_!mpg123

Reply #20
Quote
Will having 64-bit decoding allow the 'sound quality' to be theoretically as good as Foobars?

Foobar2000's version of mpglib uses 32-bit floating point decoding. Of course, even that is a bit much, since mpglib isn't really that much more accurate than 16 bits anyway...

Otachan's in_!mpg123

Reply #21
Ver ot65 seems to has a BUG.
It's My Life,
It's Now Or Never,
I Ain't Gonna Live Forever,
I Just Want To Live While I'm Alive.

Otachan's in_!mpg123

Reply #22
Can you elaborate?

Otachan's in_!mpg123

Reply #23
Quote
Can you elaborate?

0000: 41 70 70 6c 69 63 61 74  Applicat
0008: 69 6f 6e 20 46 61 69 6c  ion Fail
0010: 75 72 65 20 20 77 69 6e  ure  win
0018: 61 6d 70 2e 65 78 65 20  amp.exe
0020: 35 2e 30 2e 30 2e 32 20  5.0.0.2
0028: 69 6e 20 6e 74 64 6c 6c  in ntdll
0030: 2e 64 6c 6c 20 35 2e 31  .dll 5.1
0038: 2e 32 36 30 30 2e 31 32  .2600.12
0040: 31 37 20 61 74 20 6f 66  17 at of
0048: 66 73 65 74 20 30 30 30  fset 000
0050: 31 39 65 63 64 0d 0a      19ecd.. 
It's My Life,
It's Now Or Never,
I Ain't Gonna Live Forever,
I Just Want To Live While I'm Alive.

Otachan's in_!mpg123

Reply #24
Version ot65a is out.
It's My Life,
It's Now Or Never,
I Ain't Gonna Live Forever,
I Just Want To Live While I'm Alive.