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: Updated in_mad Winamp MAD MP3 input plugin (Read 296260 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Updated in_mad Winamp MAD MP3 input plugin

Hi, i've just finished updating the Winamp MAD input plugin 0.14.1b with,
* libmad 0.15.1b
* libid3tag 0.15.1b
* zlib 1.23
* Gaussian dither and noise shaping routines from SSRC 1.30
* Working ID3v2 editor
* APEv2 editor
* LAME gapless playback support
* Non-LAME tagged gap skip/removal feature
* ReplayGain support
* Winamp 5 advanced formatting support
* Shoutcast streaming title support

I'd like some other people to try it, and possible fix any remaining bugs etc. that I've probably missed.
I've included source code, it was compiled in Dev-C++ using the MinGW tools. Thanks for any and all feedback in advance.

*** The LATEST bugfixed DLL can be download from http://www.zen23652.zen.co.uk/in_mad.zip ***

Updated in_mad Winamp MAD MP3 input plugin

Reply #1
* Gaussian dither and noise shaping routines from SSRC 1.30


What's the point of gaussian dither? In which circumstances would it have any advantages over triangular dither?

Updated in_mad Winamp MAD MP3 input plugin

Reply #2
Perhaps so, I might make it so you can choose between rectangular, triangular or gaussian.

It turns out in AB listening tests, that most my family prefer no dither or noise shaping on the output at all.
Thats why there is an option to turn off dither and noise shaping.

Updated in_mad Winamp MAD MP3 input plugin

Reply #3
It's extremely interesting they can hear a difference at all. (Is it statistically significant?)

AFAIK, this has so far only been accomplished under extreme circumstances.

Updated in_mad Winamp MAD MP3 input plugin

Reply #4
I thought it odd too, though I did agree - without the extra processing, the sound was clearer.

It was being pumped from winamp at 44.1kHz 24bit, via kernel streaming output plugin, digitally to a Marantz surround sound receiver in Source Direct stereo mode, to Eltax front speakers with mounted super tweeters.

Perhaps it has something to do with 'noiseamp' setting from SSRC, its fixed to 0.18 . Is that too much?

Thanks,
Craig

Updated in_mad Winamp MAD MP3 input plugin

Reply #5
So, at first I should compile it? Thank you very much!

Updated in_mad Winamp MAD MP3 input plugin

Reply #6
There is a ready compiled DLL in there called "in_mad.dll" - place that in your Winamp plugins folder.

It shouldn't depend on anything other than windows C runtime libraries, that you'd more than likely already have.

The source code was provided so anyone can see and improve on it as needed.

Updated in_mad Winamp MAD MP3 input plugin

Reply #7
Is there media library support now?

Updated in_mad Winamp MAD MP3 input plugin

Reply #8
There is a ready compiled DLL in there called "in_mad.dll" - place that in your Winamp plugins folder.

It shouldn't depend on anything other than windows C runtime libraries, that you'd more than likely already have.

The source code was provided so anyone can see and improve on it as needed.

Sorry, obviously my mistake. The only one explanation is temperature, only 36 Celsius! I will try it!

Updated in_mad Winamp MAD MP3 input plugin

Reply #9
All running, but opening the file info box crashes winamp and then half my system with some files. I use Winamp 5.21, Windows XP home on a Celeron M 1400.
Here's a short file where this happens.

Updated in_mad Winamp MAD MP3 input plugin

Reply #10
Will try and track it down, initial tests point to a libid3tag problem.

Updated in_mad Winamp MAD MP3 input plugin

Reply #11
In the test file, do you know what the ID3v2 tag frames are supposed to contain? The reason it was crashing is the frame id says to expect text - but it only contains garbage. It was a problem in my routine blindly expecting an entry in a string list.

The fixed in_mad.dll and updated in_mad.c is below,

http://www.zen23652.zen.co.uk/in_mad.2.zip

Updated in_mad Winamp MAD MP3 input plugin

Reply #12
Media library support will be in the next build hopefully.

I might also get round to setting up a holding website.

Craig

Updated in_mad Winamp MAD MP3 input plugin

Reply #13
I've added media library support, its probably not very good but its working.

Download from,
http://www.zen23652.zen.co.uk/in_mad.3.zip

(file updated again at 23:03 BST - I'd managed to put a non-working copy in zip earlier)

Updated in_mad Winamp MAD MP3 input plugin

Reply #14
In the test file, do you know what the ID3v2 tag frames are supposed to contain? The reason it was crashing is the frame id says to expect text - but it only contains garbage. It was a problem in my routine blindly expecting an entry in a string list.

The fixed in_mad.dll and updated in_mad.c is below,

http://www.zen23652.zen.co.uk/in_mad.2.zip


The problematic files were music from a game (Poke646) so I don't know how they were created or what the metadata should be. The crash happened with all those files so I guess the encoder used was buggy. Thanks for fixing.

Updated in_mad Winamp MAD MP3 input plugin

Reply #15
Holy dead decoder resurrection, Batman!

How many years it has been since the last MAD version, three? Now people can once more start claiming how MAD makes natural instruments sound more organic compared to Winamp decoder and mpg123!

Updated in_mad Winamp MAD MP3 input plugin

Reply #16
Wow, I LOVE the way you show the original tagfield-names. Can these be implemented in the Title Formatting pleeeeeaaase?   

Edit: Oh crap, it doesn't read recursive tags (from Helium). Only shows TXXX: #Helium Featured Artist. Can this be fixed in any way? I'd really like being able to format the title using my Helium tags
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #17
Making the ID3v2 editor friendly is on the to-do list. I left it pretty much as the (disabled) one from 0.14.1b.

As for Helium tags, I'll have a look into it for you.

I've been fixing some minor problems with tags and libid3tag, such as not reading comments properly.

The latest dll will always be available from,
http://www.zen23652.zen.co.uk/in_mad.zip

I've not included source updates in the above, I'm planning to move and reorganise it all.

Updated in_mad Winamp MAD MP3 input plugin

Reply #18
I've been fixing some minor problems with tags and libid3tag, such as not reading comments properly.

Yes, I think it's called comments the way they implement tags. Thanks  How about Title Formatting?

I like being able to see and edit *ALL* tags, and the real field-names, so don't make it too user friendly
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #19
@MoSPDude, we'd be happy to host this at Rarewares when you think it's ready, unless you prefer to host it yourself, of course.

Updated in_mad Winamp MAD MP3 input plugin

Reply #20
@MoSPDude, we'd be happy to host this at Rarewares when you think it's ready, unless you prefer to host it yourself, of course.


That'd be great, I don't think its too far off being ready. I've rearranged the source to make it more understandable when adding/upgrading sections, and fixed a few other things in the process, plus stripped the DLL properly down to size (thought it was set too, but wasn't).

I'm going away for the next 4-5 days, and won't get chance to work on it so I'll update http://www.zen23652.zen.co.uk/in_mad.zip with the rearranged source and smaller DLL a bit later.

Updated in_mad Winamp MAD MP3 input plugin

Reply #21
That'd be great, I don't think its too far off being ready. I've rearranged the source to make it more understandable when adding/upgrading sections, and fixed a few other things in the process, plus stripped the DLL properly down to size (thought it was set too, but wasn't).

I'm going away for the next 4-5 days, and won't get chance to work on it so I'll update http://www.zen23652.zen.co.uk/in_mad.zip with the rearranged source and smaller DLL a bit later.

I'm also just about to go away for about 7 days, so we can sort it out when we're both back.  (I'll be in the depths of Wales without any access to the Internet!!) Have a good trip.

Updated in_mad Winamp MAD MP3 input plugin

Reply #22
This is going to be that last update for next 5 days, before I finish packing!

I've fixed a new fault, where ID3v2 tags weren't delete properly because the ID3v1 tags weren't read properly, due to changes I made to make it read comments frame.

I've added to the basic title formatting, the ability to show any (text) frame. An example is to add "%#COMM" to make it show the comments field. You have to disable Winamp 5 advanced title formatting to use the plugins own basic formatting.

Download from the link given in my previous post.

@john33, I've only just come back from Wales!

Updated in_mad Winamp MAD MP3 input plugin

Reply #23
Sorry I can't test this myself (I'm in the process of moving house, computer in cardboard box); but have the annoying internet stream hijacking behavior of the previous in_mad been fixed? (Like if you tried to play a vorbis internet stream in _mad hijacked it from in_vorbis and made Winamp hang, as in_mad obviously can't decode a vorbis stream...)
"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
        - Oceania Association of Autonomous Astronauts

Updated in_mad Winamp MAD MP3 input plugin

Reply #24
in _mad hijacked it from in_vorbis and made Winamp hang, as in_mad obviously can't decode a vorbis stream...)
... that I'm wondering the same thing, does in_mad.dll still break streaming? 

If not, here's my feature request: leave unknown BS to in_mp3.dll (ie http;//somestream:8000, as this could also be an aacplus stream or just a website on some other port, etc.), but have it capture a proper* stream url (ie http;//somestream:8000/mountpoint.mp3) (this scenerio is doable with in_mpg123)

Any plans to add APEv2 tag support? replaygain? gapless playback?

I'm very happy to see it finally get updated for ID3v2 tags though, thanks and keep up the great work.

*Why nullsoft used a url that could be anything, I'll never understand.  Oh well, icecast2 is better than shoutcast anyways.
[edit]can't read[/edit]
Vorbis-q0-lowpass99
lame3.93.1-q5-V9-k-nspsytune