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 300847 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Updated in_mad Winamp MAD MP3 input plugin

Reply #100
I've added descriptive text to the ID3v2 editor, and a combobox for APE value names. I've change the VBR average display to show a running playback average at gameplaya15143 request.

I'm not too sure about implementing the VBRI header info. It doesn't seem too well supported in general, and I can't seem to find consistent details on it, other than possibly borrowing in_mpg123 implementation.

I'll be sure to get the latest version when I get the chance and see if there are any remaining problems.

I hope you made the average live bitrate thing an OPTION, as both ways can be informative.

I'm not sure, but I'm not even sure if in_mpg123 supports VBRI 
Out of curiosity, what encoders can we get gapless playback from? just lame? xing/helix too?

And did I read correctly... streaming support?  You have to be careful with that, shoutcast streams can be either mp3 or aacplus and there is no difference in the url. My suggestion in such case would be to only handle proper* mp3 streams which have an mp3 extention, and leave the rest to in_mp3.

*[opinion]proper= url/stream.mp3[/opinion]
Vorbis-q0-lowpass99
lame3.93.1-q5-V9-k-nspsytune

Updated in_mad Winamp MAD MP3 input plugin

Reply #101
And did I read correctly... streaming support?  You have to be careful with that, shoutcast streams can be either mp3 or aacplus and there is no difference in the url. My suggestion in such case would be to only handle proper* mp3 streams which have an mp3 extention, and leave the rest to in_mp3.

*[opinion]proper= url/stream.mp3[/opinion]


Thats why the changes to how streams are detect were made. Shoutcast sends a header detailing the type of stream, and this is detected and stream abandoned by in_mad if neccessary. There is an option to turn off this new 'detect unknown streams' as I've called it - as the detection does require setting up a connection and reading header, before returning to winamp if we want the file or not. In my tests though, it works fine, unless there is trouble connecting, but I'm probably going to make it fail silently.

The in_mpg123 source I've got (the regularly updated code) does contain code to read the VBRI tags. If I was to implement it, I'd probably have to borrow the specification from this.

Proper gapless playback info is only found in the LAME tag, XING tag only contains VBR info. I don't know how other encoders store the padding information, if they do. Otherwise the gap skip option removes a definite amount of silence if it can find it to reduce/remove the gap.

The live bitrate option did take place of display the file average option - I think it does look better with it changing, and the file average only gets reported in the info box. I'll put it so can display "per frame", "live average" and "file average" bitrates, if you'd like that.

Cheers,
Craig 

Updated in_mad Winamp MAD MP3 input plugin

Reply #102
Is it just me having problems adding files to the ML? For me it seemed to crash after like 10 seconds, or it could be certain tags it can't handle. I disabled in_mad, and everything was fine.
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #103
I'll have a look into that, what kind of tags does the files that you are adding have?

Updated in_mad Winamp MAD MP3 input plugin

Reply #104
I'll have a look into that, what kind of tags does the files that you are adding have?

They would all have MP3Gain APE tags...
Can't wait for a HD-AAC encoder :P


Updated in_mad Winamp MAD MP3 input plugin

Reply #106
Just a little question: Is there any advantage to use in_mad instead of otachans in_mpg123? Missing features?

Big_Berny

Updated in_mad Winamp MAD MP3 input plugin

Reply #107
Just a little question: Is there any advantage to use in_mad instead of otachans in_mpg123? Missing features?

Big_Berny

Lame freeformat
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #108
Cheers benski! You know if you just Googled that I'll be very upset - I must have looked for over half an hour, only to find dead links....

I'm going to look into that ML problem now.

Cheers all! 

Updated in_mad Winamp MAD MP3 input plugin

Reply #109
I think I've sorted the ML problem, small mistake on my part, I'll have an update available later after I've finished the streaming info box.

I'll also start to look into VBRI tag support.

Updated in_mad Winamp MAD MP3 input plugin

Reply #110
Finally I've uploaded another update.

This has title streaming, stream info box and 'better' internet stream detection. If it gives you problems, please tell me with what internet stream and then uncheck 'detect unknown streams' to go back to the old behaviour.

Cheers 

Updated in_mad Winamp MAD MP3 input plugin

Reply #111
Streaming works well!!     

This plugin gets better and better, thank you MoSPDude.

Another suggestion would be to rename the file based on the tag infomation.

Mayber in every Tag tab you could include a button "rename file" and an option which pattern to use (e.g. "(%1)-%2" would rename a file to "(Prince)-Diamonds and Pearls".

That would be a killer extension for me, as I often listen, tag files with winamp and would like to have them renamed based on my entries.

Updated in_mad Winamp MAD MP3 input plugin

Reply #112
Streaming works well!!     

This plugin gets better and better, thank you MoSPDude.

Another suggestion would be to rename the file based on the tag infomation.

Mayber in every Tag tab you could include a button "rename file" and an option which pattern to use (e.g. "(%1)-%2" would rename a file to "(Prince)-Diamonds and Pearls".

That would be a killer extension for me, as I often listen, tag files with winamp and would like to have them renamed based on my entries.


I think this is outside the scope of an input plugin. Besides, if you wrote a general purpose plugin for this, you could use it on files of any type, the input plugin just has to report the proper tags. I'm not into developing winamp plugins though, so I don't know if this is possible/easy.

Updated in_mad Winamp MAD MP3 input plugin

Reply #113
Proper gapless playback info is only found in the LAME tag, XING tag only contains VBR info. I don't know how other encoders store the padding information, if they do. Otherwise the gap skip option removes a definite amount of silence if it can find it to reduce/remove the gap.

The live bitrate option did take place of display the file average option - I think it does look better with it changing, and the file average only gets reported in the info box. I'll put it so can display "per frame", "live average" and "file average" bitrates, if you'd like that.

  I was under the impression that xing headers had gapless info, I guess I should read up on that.

The remove gaps option is still causing problems for me, track after the problem mp3 ends up being white noise.  IMO it shouldn't try to remove gaps unless gapless info is found.  Perhaps an extra option is in order? (ie checkbox: 'only when gapless playback info is present')

The bitrate display optons rule! .. but, live average is pointless the way it is done right now.  It should show the average bitrate over the last few frames (like in_mpg123) instead of showing the average bitrate of the mp3 so far.

It crashes winamp when writing the ID3v2 tag, after the mp3 has the tag, it can be edited without winamp crashing.  This does not happen if I add/edit the tags while the mp3 is playing.

Another small annoyance, if a higher tag is present (ie id3v2) but does not contain the info to be displayed (ie artist - title) then the filename is being shown even when the id3v1 tag contains the artist and title meta data.  It would be nice to have it check the 'lower' tags for metadata when the 'higher' tag doesn't have what is needed.

I'll test streaming later.

How about allowing the preamp to be set even when replaygain is disabled?

As always, thank you, and keep up the great work!

ps. I think the tag issues should be highest priority.
Vorbis-q0-lowpass99
lame3.93.1-q5-V9-k-nspsytune

Updated in_mad Winamp MAD MP3 input plugin

Reply #114
I think this is outside the scope of an input plugin. Besides, if you wrote a general purpose plugin for this, you could use it on files of any type, the input plugin just has to report the proper tags. I'm not into developing winamp plugins though, so I don't know if this is possible/easy.


I agree that a filename tagging function goes beyond a simple imput plugin.

Nevertheless, as this plugin has one of the best tag editors, the filename rename would be the cherry on top of the cream. :-)

I don't know if this is hard to do or not, but if you use the tag editor to change the tag why not use it as a file rename tool in this context?

Updated in_mad Winamp MAD MP3 input plugin

Reply #115
I'll definitely have a deeper look into the tag issues and the gap removal, might have to try and make some awkward mp3 files. I should probably make the options more clearer, but gapless playback is always enabled if a LAME tag is present, the option in the preferences attempts to remove some of the gap if there is NO gapless information available - subject to some rules.

@gameplaya15143, how many frames do you think I should make it average out across? and I'll change the higher priority tag display for basic formatting - I don't think it suffers that problem on advanced title formatting. Will also make it so that preamp is aways available.

@bladecgn, I'll have a look into it for you, though it probably is going a bit far for an input plugin.

Updated in_mad Winamp MAD MP3 input plugin

Reply #116
I've uploaded another update, hopefully addressing all the tag issues and the gap removal problem, if gameplaya15143 could test please  . I'm going to change the RG preamp and look into file renaming in a bit. At the moment, I'm finishing options and status for buffer length to aid streaming.

Download from the usual place 

Updated in_mad Winamp MAD MP3 input plugin

Reply #117
but gapless playback is always enabled if a LAME tag is present, the option in the preferences attempts to remove some of the gap if there is NO gapless information available - subject to some rules.

Well why didn't you say so  I guess leaving it unchecked is still pretty safe then (I haven't actually done any gapless tests).
The white noise problem I had seems to be gone though

What about tooltips to explain what the options do?

I tested streaming, sync errors galore! (icecast2 server on localhost vbr mp3), but I love the info display for the stream!  How about an option to not use in_mad for streaming at all?

If the option to use 'none' for replay gain was in the last version, never mind my request for the preamp when RG is disabled. If it's new, then thanks.  Turning on RG, setting it to none, then setting both preamps to the same thing gets the functionality I desired.

The live average bitrate display works properly, but I think it refreshes too fast.  I think it should refresh ever 1 second or so.  It changes too fast for my slow brain to comprehend the numbers. 

I just downloaded the latest version.  I'll see if any of my other problems remain.

Keep it up, this thing is great!
Vorbis-q0-lowpass99
lame3.93.1-q5-V9-k-nspsytune

Updated in_mad Winamp MAD MP3 input plugin

Reply #118
To push it any further maybe support for this would make it the ultimate plugin?
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #119
I'm preparing another update to smooth some of the streaming problems, along with some control on size of buffers. I also think tooltips are a great idea, so they'll be going in soon.    I'll make the live average display average out across approx. one seconds worth of frames and then update.

@gameplaya15143, Do you want to disable streaming completely? or just disable it if the URL doesn't specify "mp3"? - to do the latter, disable 'detect unknown internet streams'. If you could see if the sync errors go away when you disable both of the streaming tag options, that'd be a help.

@odyssey, can't hurt to look into it 

Updated in_mad Winamp MAD MP3 input plugin

Reply #120
@odyssey, can't hurt to look into it 

It just came across my mind, when they mentioned simelar routines as used in freeformat... which of course in_mad supports beautifully
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #121
I've uploaded another update, download from the usual place.

This adds basic VBRI tag support, along with buffer options. The buffers that I've set as default for internet streaming are purely guesses made using an Excel spreadsheet, feel free to post values that work for you for your internet connection bandwidth to help me fine tune these.

I've looked into the mp3 surround technique, its interesting to read about, but I'd be facing a lawsuit if I even thought about trying to do anything about it. There is a project called Aud-X but its closed source and takes over the role as decoder.

I'll have a look into tooltips in the configuration box, or perhaps add more descriptive options.

Cheers to all, 

Updated in_mad Winamp MAD MP3 input plugin

Reply #122
I'm going to have another update ready in around 3 days - I'm not going to have access to my computer for the next few days. I've been working on the VBRI gapless support, and making the ID3v2 editor show data fields (but not edit them yet). Tooltips for options are then next on the list.

Updated in_mad Winamp MAD MP3 input plugin

Reply #123
Gap removal is only available in 16bit mode (why?)
Can't wait for a HD-AAC encoder :P

Updated in_mad Winamp MAD MP3 input plugin

Reply #124
Hmmm, should work in any output mode. Will look into it for you. Anyone else noticed any further bugs?

Cheers,
Craig