in_mad v2 Winamp MAD MP3 input plugin |
![]() ![]() |
in_mad v2 Winamp MAD MP3 input plugin |
Jan 12 2008, 12:44
Post
#1
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
Hi, this is a long awaited (although not fully finished) conversion and improvement of my previous updated in_mad plug-in.
The notable new features/fixes (that I can remember from notes) include, * Re-written/ported to C++ to 'enable' better WA5 compatibility * Fully Unicode GUI * Icecast mp3 streaming fixed * WA5 Global Configuration supported * Improved basic and advanced editing * Slightly improved ID3v2.3 support * 32 bit output uses full internal 28 bit representation * Advanced-style Basic formatting for WA2 * Non-Unicode backward compatible for WA2 (not fully tested) * Multi-lingual dialogs (once someone translates!) * Re-designed APE tag support including Unicode The playback and EQ backend is mostly the same except ported through to C++ and into a class structure. However some things are incomplete, * New Binary editor disabled * EQU2 tag editing and writing disabled The latest DLL can be downloaded from http://www.zen23652.zen.co.uk/in_mad_2b.zip. Source code is now separate from http://www.zen23652.zen.co.uk/in_mad_2b_src.zip This post has been edited by MoSPDude: Jan 12 2008, 12:44 |
|
|
|
Jan 12 2008, 22:47
Post
#2
|
|
![]() Group: Members Posts: 809 Joined: 26-April 04 Member No.: 13720 |
This version is great, most importantly special characters are now displayed properly. Thank you.
|
|
|
|
Jan 13 2008, 00:00
Post
#3
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
As a note, I've only tested this on Windows XP SP2. With the new Unicode interface, I don't know how it will behave on Windows 98. I'd recommend deleting the previous plug-in settings from the registry (after backing them up in case you want to use the previous version) from HKCU\Software\Winamp\MAD Plug-in. There are also now 2 files in the package, both are needed. The in_mad.ini file is actually a file of strings for the dialogs saved in UTF-8 format.
If you used the previous plug-in and don't delete the settings, you'll need to change the Basic title formatting setting back to the new default by deleting whats there in the settings, or copying CODE [%artist% - ]$if2(%title%,$filepart(%filename%)) into it.Other than that, I've been sat on this for a while now - just having no time to work on it really. I've been using the Debug version for some time and I hope it will have mostly no problems. |
|
|
|
Jan 14 2008, 16:02
Post
#4
|
|
|
Group: Members Posts: 16 Joined: 11-June 07 Member No.: 44246 |
Great work, as usual : ) !
|
|
|
|
Jan 14 2008, 16:21
Post
#5
|
|
|
Group: Members Posts: 114 Joined: 31-May 07 Member No.: 43892 |
If you used the previous plug-in and don't delete the settings, you'll need to change the Basic title formatting setting back to the new default by deleting whats there in the settings, or copying CODE [%artist% - ]$if2(%title%,$filepart(%filename%)) into it.Other than that, I've been sat on this for a while now - just having no time to work on it really. I've been using the Debug version for some time and I hope it will have mostly no problems. Hi Mo, first off, thanx a lot for maintaining the plugin ... Now, I seem to struggle with your new title formatting. My purpose is to check whether a given tag field is present and print it with additional characters for enhanced formatting and better readability. With your previous release, I used this syntax: CODE %?1<%1 - >%?0<%0. >%?2<%2|%8>%?3< - %3>%?4< - %4> resulting in playlist entries like this:
02. Yello - 11/14. Unreal - The Eye - 2003 where the first numbers are representing their playlist position ... trying to translate it into the new syntax, I ended up with using $if(A,B,C): CODE $if(%artist%,%artist% - ,)$if(%track%,%track%. ,)$if2(%title%,$filepart(%filename%))$if(%album%, - %album%,)$if(%year%, - %year%,) for easier trouble shooting, we could just focus on the first entry: CODE $if(%artist%,%artist% - ,) I expect this to check for a valid artist tag and only if one is found, it prints the artist tag, followed by " - ". If no tag is found, it shouldn't print anything at all, but unfortunately I get something like this:
02. YelloYello - 11/1411/14. UnrealThe Eye - The Eye2003 - 2003 so effectively all queried and existing tags get printed twice Would you be so kind and give me a pointer how to solve this or what I'm misunderstanding ? TIA, Maggi |
|
|
|
Jan 14 2008, 18:08
Post
#6
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
OK, that one bug already!
May I recommend using, CODE [%artist% - ][%track%. ]$if2(%title%,$filepart(%filename%))[ - %album%][ - %year%] as its a shorter syntax. Thanks for spotting that! I might get round to finishing other parts soon. This post has been edited by MoSPDude: Jan 15 2008, 00:49 |
|
|
|
Jan 14 2008, 18:10
Post
#7
|
|
![]() Group: Members Posts: 809 Joined: 26-April 04 Member No.: 13720 |
I tried to run Winamp 5.35 under Win98. UTF characters found in the current codepage are displayed correctly, others are replaced with question marks. File Info box is nonfunctional. Preferences box behaves as if the lang pack in_mad.ini would not be there, Prefs dialog is also nonfunctional.
I have not set the Winamp installation directory anywhere, just copied all the files. For some reason winamp can't find whatsnew.txt too. UniCows v1.1.3790.0 is present. I think compatibility is important with Winamp. If you take that away there is little point using winamp. This post has been edited by j7n: Jan 14 2008, 18:13 |
|
|
|
Jan 14 2008, 18:21
Post
#8
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
True, I was hoping Windows 98 wouldn't have a problem with the Unicode if Unicows was there. When I get chance I'll fire up a virtual machine to have a look. Thanks for testing it, I've not had chance too on other systems.
As another note, as I changed to C++, the development environment I moved to is now Microsoft Visual Studio 2005 C++ Express Edition with the Platform SDK, if anyone wants to have a look in the mean time and feedback. |
|
|
|
Jan 15 2008, 00:46
Post
#9
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
I just checked to see if Unicows was linked with the DLL, and it wasn't. I've rebuilt it and uploaded it, so maybe now the Windows 98 problem is solved - I've still not had time to test. The current DLL version number is 0.2.0.2.
This post has been edited by MoSPDude: Jan 15 2008, 00:46 |
|
|
|
Jan 15 2008, 10:41
Post
#10
|
|
|
Group: Members Posts: 114 Joined: 31-May 07 Member No.: 43892 |
OK, that one bug already! May I recommend using, CODE [%artist% - ][%track%. ]$if2(%title%,$filepart(%filename%))[ - %album%][ - %year%] as its a shorter syntax. Thanks for spotting that! I might get round to finishing other parts soon. Thanx a lot, Mo ! I wasn't aware, that I could add random characters into those angled brackets ... Kudos to you and keep up the good work ! Maggi |
|
|
|
Jan 16 2008, 05:07
Post
#11
|
|
![]() Group: Members Posts: 1 Joined: 16-January 08 Member No.: 50532 |
Winamp 5.51 on Windows XP.
The new version of this plugin never uses ID3v2 tags for title formatting, it does not matter whether you're using Advanced or Basic. The tags are displayed fine in the info dialog however. It does not make any difference which order the tags are listed I've created a few test files (15KiB) so this can either be confirmed or I can be told where I'm going wrong. In these files I've set the artist, album, and track title fields to the name of the tag format used; in addition the track number on ID3v2 tags is padded with a 0 which the ID3v1 tags won't have. There are five files in the RAR: No Tag — Control, Winamp should display the filename, and does. ID3v1 Only — Winamp should use the ID3v1 tag, and does. ID3v1 & ID3v2 — Winamp should (under the plugin defaults) use the ID3v2 tag, but the ID3v1 tag is used instead. ID3v2.3 Only — Winamp should use the tag, but instead displays the filename. ID3v2.4 Only — In case the problem was in the ID3v2.3 support. Winamp should use the tag, but instead displays the filename. It's important to not that under ATF mode Winamp will use the media library info in preference to the plugin, which is why the problem may not have been noticed yet, and why I created these tests to remove the media library from the equation. I've not found any bugs elsewhere yet, keep up the good (and very much appreciated) work. Edit: More bugs. The input buffer field accepts 5 characters, but only seems to save the first four. Also, would it be possible to unlock the file once it's fully buffered (I usually have a buffer large enough for this to always happen straight away) as I'm often cleaning tags on a new batch of MP3s while listening to them and it's a pain having to stop Winamp every time I apply changes. This post has been edited by BtEO: Jan 16 2008, 05:40 |
|
|
|
Jan 16 2008, 08:55
Post
#12
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
I've uploaded a fix for the tag reading problem. It was to do with the tag order preferences, under my setup it wasn't showing! I'll fix the buffer dialog later and it should be possible to close the input once the file has been buffered.
Edit: I've also had chance to test Windows 98 compatibility with this last upload, and in my virtual machine it now works fine. This post has been edited by MoSPDude: Jan 16 2008, 15:05 |
|
|
|
Jan 16 2008, 22:13
Post
#13
|
|
|
Group: Members Posts: 14 Joined: 19-September 06 Member No.: 35366 |
Would there be a way to fix it so when streaming music and the stream fails winamp wont hang ?
Ohh and keep up the good work, this is a great plugin |
|
|
|
Jan 17 2008, 00:46
Post
#14
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
Hi Domin, in what way does it crash when the stream fails - winamp completely stops responding? I've been testing it by playing back then pulling the network cable out and it goes to the next track silently leaving a message in the File Info box as to why it failed.
I'm slowing messing with it. Cheers for feedback on problems and improvements. I've implemented the file unlock once its been read too and improved the tag read opening/closing files per query, that will be in the next release. |
|
|
|
Jan 18 2008, 13:12
Post
#15
|
|
|
Group: Members Posts: 6 Joined: 7-September 07 Member No.: 46862 |
turkish character I,İ,Ş,Ğ ID3V2 not display plase !! thankyou...
|
|
|
|
Jan 22 2008, 20:08
Post
#16
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
I've uploaded another update, this adds support for Winamp new Unified file information box. I've also been messing with other bits and pieces - files are now unlocked once fully buffered and maybe streaming will work better.
Has anyone tried the new format Advanced editors? you click on the field you want to edit and type directly into it. I'm also interested in if the new Unified info box will work properly. Cheers for all feedback. The version now is 0.2.0.10 . @kerimcem, can you check that the titles are saved in UTF-16 or UTF-8 format and make sure your using a Unicode compatible winamp. |
|
|
|
Jan 22 2008, 21:29
Post
#17
|
|
![]() Group: Members Posts: 809 Joined: 26-April 04 Member No.: 13720 |
The latest in_mad now fails to load under Win98. I tried to use WA 2.95 and WA 5.35.
|
|
|
|
Jan 22 2008, 21:51
Post
#18
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
Under my virtual machine on WA 5.35 it works well. I've got Windows 98SE with the UNOFFICIAL Windows98 Second Edition Service Pack 2.1a. Perhaps the question is what processor is it running on?
EDIT: I can't see any processor specific options under Visual C++ 2005 Express Edition. I'm probably missing them - i'll keep looking. This post has been edited by MoSPDude: Jan 22 2008, 21:55 |
|
|
|
Jan 22 2008, 22:06
Post
#19
|
|
|
Group: Members Posts: 1568 Joined: 24-June 02 From: Catalunya(Spain) Member No.: 2383 |
EDIT: I can't see any processor specific options under Visual C++ 2005 Express Edition. I'm probably missing them - i'll keep looking. Select the project file (i.e. not a source file) in the tree view, then menu : " project - properties " In the new window, unfold "Configuration properties, C++ , code generation". The option related to processor is "Enable enhanced Instruction set".... Errm... That's not the option... looks like they removed it.. indeed. This post has been edited by [JAZ]: Jan 22 2008, 22:10 |
|
|
|
Jan 22 2008, 22:08
Post
#20
|
|
![]() LAME developer Group: Developer Posts: 768 Joined: 22-September 01 Member No.: 5 |
The latest in_mad now fails to load under Win98. I tried to use WA 2.95 and WA 5.35. Maybe there is some DLL missing on your system? Here you'll find a dependency checker. |
|
|
|
Jan 25 2008, 16:54
Post
#21
|
|
![]() Group: Members Posts: 168 Joined: 13-September 05 From: Baltimore Member No.: 24445 |
Where can I find out exactly what this plugin is supposed to do? I find lists of added features, but is there anywhere that summarizes what it is for, for those of us who haven't been following its development?
|
|
|
|
Jan 25 2008, 18:11
Post
#22
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
This plug-in is an alternative mp3 decoder plug-in for Winamp, using libmad and libid3tag.
It started off as an improvement of the original in_mad project code (found here) which hadn't been touched since 2001, and lacked some, now basic, functions. The improved code, plug-in and it's details can be found in the thread titled Updated in_mad Winamp MAD MP3 input plugin. It was more an exercise for me to practise GUI programming, and learn a mp3 decoder - but I added ID3v2 support, APEv2 support, a more advanced tag editor etc. but struggled to get Unicode working. This new plug-in, is pretty much "new" in terms of the same basic GUI but a re-written C++ backend, giving more chance to support Unicode and making it easily expandable. However, as the latest Winamp is starting to support APEv2 tags I am starting to wonder about its usefulness other than for legacy Winamp versions. This post has been edited by MoSPDude: Jan 25 2008, 18:13 |
|
|
|
Jan 25 2008, 18:40
Post
#23
|
|
|
Winamp Developer Group: Developer Posts: 662 Joined: 17-July 05 From: Ashburn, VA Member No.: 23375 |
QUOTE Where can I find out exactly what this plugin is supposed to do? I find lists of added features, but is there anywhere that summarizes what it is for, for those of us who haven't been following its development? In much older versions of Winamp (before 2.7), the built-in MP3 decoder was not standards-compliant. It cut quite a few corners to be able to run on low-end systems that were the norm in 1997-1998 when Winamp was first being developed. Alternative plugins based on MAD and MPG123 become widely used due to numerous decoding bugs in Winamp. From 2.7 (November 2000), Winamp uses an MP3 decoder created based on Fraunhofer's source code. The alternative plugins lived on because they implemented features not present in Winamp's implementations, such as gapless playback and replay gain. Since these features are important to me, I started to implement them when I took over maintenance of the product. However, as the latest Winamp is starting to support APEv2 tags I am starting to wonder about its usefulness other than for legacy Winamp versions. Sorry |
|
|
|
Jan 26 2008, 11:40
Post
#24
|
|
|
Group: Members Posts: 175 Joined: 24-July 06 From: Sheffield, UK Member No.: 33249 |
Its nice for the latest Winamp versions to have these features for the people who might not necessarily know what they are or how to enable them, but their encoders provide it and the music is tagged with the information. It all aims to make Winamp sound and function better in the long run.
A new update has been uploaded, mainly GUI bug-fixes for the moment. The version is 0.2.0.12. @j7n, did you manage to get it working under Win98 on your machine? I'm interested in why its having problems. I've tweaked a few settings in this build but I don't think there is much else I can do. I might dig out the old 400MHz computer from the garage with Win98 on it to test on the real thing. |
|
|
|
Jan 27 2008, 14:50
Post
#25
|
|
![]() Group: Developer Posts: 3036 Joined: 2-December 07 Member No.: 49183 |
The alternative plugins lived on because they implemented features not present in Winamp's implementations, such as gapless playback and replay gain. Since these features are important to me, I started to implement them when I took over maintenance of the product. By the way: can I disable dithering in standard in_mp3 plugin? 'Use dither' checkbox does nothing with mp3. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 20th June 2013 - 04:00 |