Mp3tag v2.35n in Linux


#21

Fixed in wine 0.9.33


#22

Great!

Thanks for keeping us up to date :slight_smile:


#23

Just to clarify for those of you like me who have never used WINE before, put the gdiplus.dll file in your
~/.wine/drive_c/Program Files/Mp3tag
Directory. Don't try to recreate the Windows file structure and put in in:
~/.wine/drive_c/winnt/system32

I'm sure that is obvious to most folks, but wasn't too me.

The only real annoyance I've found so far using MP3TAG under Feisty Kubuntu is that when I try to change just a character's case in the file name it says the file already exits, so I have to make some other change as well (and then change it back, if that's how I want it).

I've got to say, this program is one of the main reasons I ever boot Windows. I can put up with some Linux programs that are not as slick as their Windows counterparts (Kaudiocreator, RipperX, Grip vs. EAC, for instance, or Pan/Klibido instead of Grabit), but KID3 & EasyTag are just insufferable once you've used MP3TAG.


#24

ppy to see Linux Ppl here. I installed MP3Tag using Ubuntu, which works fine, except for the fact that when I doulb click a file it is not playing. It says no player associated. I tried to Player association chage under the Tools section of MP3Tag and used Rhythmbox as a player. Buth obivously there seems to be some parametr I need to pass to Rhythmbox to make it play the double clicked song. Any help?


#25

You need to convert the windows-style filename to linux path and pass it as a parameter, maybe with some additional flag (look into rhythmbox manual, or try to run it with --help). I use this for amarok:

-p "/mnt/data$right($replace(%_path%,\,/),$sub($len(%_path%),2))"

Replace /mnt/data with the real path to the Wine disk (in my case, I: is mapped to /mnt/data)

Regards
nickless


#26

Thanks Nickless. The problem is, my songs are not in the Wine disk. THey are in an external Hard disk. Anyhow, I will try to get the Linux path name for the external hard disk and try the man rhythmbox.


#27

mp3tag works fine for me in UBUNTU/Wine EXECEPT for renaming directorys.

I have an action as follows:

Action type: Format value
Field: _DIRECTORY
Formatstring:%ARTIST% (%YEAR%) - %ALBUM%

The action runs OK but dosn't rename the DIR. Any ideas.


#28

Has anyone experienced problems with using the Tag Sources feature, e.g., with Amazon.com. A user reported a crash via email and I'm eager to know, whether this is a known problem with Mp3tag under Wine?

Thanks!

Kind regards,
Florian


#29

I don't use Tag Sources on the daily basis, and it seemed to work previously.

However, I tried to play around with it using Mp3Tag v2.43 under wine 1.1.18 and it crashed after displaying the found tracks for short time.
Steps to reproduce:

  1. select one song
  2. click on Tag Sources -> Amazon.com
  3. Enter "Avril"
  4. Select album "X-Posed"
  5. Click Next
  6. The results windows pops up and Mp3Tag crashes right afterwards
Some log:
wine: Unhandled page fault on read access to 00000004 at address 0x484e85 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 00000004 in 32-bit code (00484e85).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:00484e85 ESP:0032c7d0 EBP:0032c7f8 EFLAGS:00010246(   - 00      -RIZP1)
 EAX:0032c7e4 EBX:00000000 ECX:00b301a8 EDX:00b301ac
 ESI:0032e3d0 EDI:00000000
Stack dump:
0032c7d0:  bdfb35d2 0032e4f4 0032cd64 00000001
0032c7e0:  7e9bdc90 00b301a8 00b301b0 0032c824
0032c7f0:  005d8fa2 00000001 0032c830 00401657
0032c800:  0032e548 00000000 00000000 0032c870
0032c810:  bdfb3a1a 0032e4f4 0032cd64 00000001
0032c820:  0032c810 0032c85c 005dc9e6 00000000
Backtrace:
=>0 00484e85 in mp3tag (+0x84e85) (0032c7f8)
  1 00401657 in mp3tag (+0x1657) (0032c830)
  2 004012a5 in mp3tag (+0x12a5) (0032c868)
  3 00561299 in mp3tag (+0x161299) (0032c880)
  4 00561479 in mp3tag (+0x161479) (0032c8b0)
  5 0056047e in mp3tag (+0x16047e) (0032c8d8)
  6 0055de55 in mp3tag (+0x15de55) (0032c8f4)
  7 0055eaf5 in mp3tag (+0x15eaf5) (0032c970)
  8 0055f305 in mp3tag (+0x15f305) (0032c998)
  9 0055fcff in mp3tag (+0x15fcff) (0032ca38)
  10 0055b701 in mp3tag (+0x15b701) (0032ca58)
  11 0055e78d in mp3tag (+0x15e78d) (0032cac0)
  12 0055e81c in mp3tag (+0x15e81c) (0032cae0)
<cut>

Btw, the backtrace ends inside some Mp3Tag method rather than user32 as in the previous non-bug I experienced some time ago.

I'll compile a debug version of wine (will take an hour or so) and run Mp3Tag in debugger, let's see if I can find out more.

Regards,
nickless

edit: attached full log

Mp3Tag_crash_2009_04_10.log (16 KB)


#30

It seems to crash in some mp3tag method while painting the list view with the songs. In the (slower) debug version one can even see the dialog with the name of the album and cover before crash, the list on the bottom of the dialog has some strange painting problems.

Backtrace:
=>0 00484e85 in mp3tag (+0x84e85) (0032ddec)
  1 00401657 in mp3tag (+0x1657) (0032de24)
  2 004012a5 in mp3tag (+0x12a5) (0032de5c)
  3 00561299 in mp3tag (+0x161299) (0032de74)
  4 00561479 in mp3tag (+0x161479) (0032dea4)
  5 0056047e in mp3tag (+0x16047e) (0032decc)
  6 0055de55 in mp3tag (+0x15de55) (0032dee8)
  7 0055eaf5 in mp3tag (+0x15eaf5) (0032df64)
  8 0055f305 in mp3tag (+0x15f305) (0032df8c)
  9 0055fcff in mp3tag (+0x15fcff) (0032e02c)
  10 0055b701 in mp3tag (+0x15b701) (0032e04c)
  11 0055e78d in mp3tag (+0x15e78d) (0032e0b4)
  12 0055e81c in mp3tag (+0x15e81c) (0032e0d4)
  13 0x7ead897a WINPROC_wrapper+0x1a() in user32 (0032e104)
  14 0x7eada2a0 call_window_proc+0xbe(hwnd=<register EDI not in topmost frame>, msg=78, wp=1778, lp=3334992, result=0x32e1d8, arg=0x55e7e6) [/tmp/wine-git/dlls/user32/winproc.c:458] in user32 (0032e144)
  15 0x7eade3e1 WINPROC_call_window+0xf3(hwnd=<register EDI not in topmost frame>, msg=78, wParam=1778, lParam=3334992, result=0x32e1d8, unicode=1, mapping=WMCHAR_MAP_DISPATCHMESSAGE) [/tmp/wine-git/dlls/user32/winproc.c:2203] in user32 (0032e184)
  16 0x7eaa0d5f call_window_proc+0xbc(hwnd=<register ESI not in topmost frame>, msg=<register EDI not in topmost frame>, wparam=1778, lparam=3334992, unicode=1, same_thread=1, mapping=WMCHAR_MAP_DISPATCHMESSAGE) [/tmp/wine-git/dlls/user32/message.c:1634] in user32 (0032e1e4)
  17 0x7eaa53b6 send_message+0xf8(info=<register EDI not in topmost frame>, res_ptr=0x32e280, unicode=1) [/tmp/wine-git/dlls/user32/message.c:2479] in user32 (0032e244)
  18 0x7eaa58db SendMessageW+0x4c(hwnd=0x6002e, msg=78, wparam=1778, lparam=3334992) [/tmp/wine-git/dlls/user32/message.c:2602] in user32 (0032e284)
  19 0x7e66a2dc notify_hdr+0x96(infoPtr=<register ESI not in topmost frame>, code=-177, pnmh=<register EDI not in topmost frame>) [/tmp/wine-git/dlls/comctl32/listview.c:735] in comctl32 (0032e2b4)
  20 0x7e66ea32 notify_dispinfoT+0x33b(infoPtr=0x16ef20, notificationCode=4294967119, pdi=<register ESI not in topmost frame>, isW=1) [/tmp/wine-git/dlls/comctl32/listview.c:896] in comctl32 (0032e314)
  21 0x7e66ef5f LISTVIEW_GetItemT+0x47b(infoPtr=0x16ef20, lpLVItem=<register ESI not in topmost frame>, isW=1) [/tmp/wine-git/dlls/comctl32/listview.c:5648] in comctl32 (0032e3a4)
  22 0x7e672f0a LISTVIEW_DrawItem+0x127(infoPtr=<register ESI not in topmost frame>, hdc=0x30c, nItem=0, nSubItem=0, pos={x=0, y=17}, cdmode=32) [/tmp/wine-git/dlls/comctl32/listview.c:3852] in comctl32 (0032e904)
  23 0x7e674ae2 LISTVIEW_Refresh+0x1315(infoPtr=0x16ef20, hdc=0x30c, prcErase=(nil)) [/tmp/wine-git/dlls/comctl32/listview.c:1070] in comctl32 (0032eb74)
  24 0x7e679fa1 LISTVIEW_Paint+0x110(infoPtr=<register ESI not in topmost frame>, hdc=<is not available>) [/tmp/wine-git/dlls/comctl32/listview.c:9138] in comctl32 (0032ebe4)
  25 0x7e67f173 LISTVIEW_WindowProc+0x2f3b(hwnd=0x100ee, uMsg=<register ESI not in topmost frame>, wParam=0, lParam=0) [/tmp/wine-git/dlls/comctl32/listview.c:10100] in comctl32 (0032ece4)
  26 0x7ead897a WINPROC_wrapper+0x1a() in user32 (0032ed14)
  27 0x7eada2a0 call_window_proc+0xbe(hwnd=<register EDI not in topmost frame>, msg=15, wp=0, lp=0, result=0x32ed8c, arg=0x7e67c238) [/tmp/wine-git/dlls/user32/winproc.c:458] in user32 (0032ed54)
  28 0x7eada395 CallWindowProcW+0x72(func=0x7e67c238, hwnd=0x100ee, msg=15, wParam=0, lParam=0) [/tmp/wine-git/dlls/user32/winproc.c:2310] in user32 (0032ed94)
  29 0055b591 in mp3tag (+0x15b591) (0032edb4)
  30 0055b718 in mp3tag (+0x15b718) (0032edd0)
<cut>

Full log attached

Mp3Tag_crash_dbg_2009_04_10.log (20.5 KB)


#31

Hi nickless,

thanks for taking the time to test this! I had a hard time deciphering the log but I think I've found the issue (which might be with Wine :wink:).

Mp3tag uses the Listview control in callback mode where items are not initialized with the actual item text but with a hint to the control that it should ask back if it wants the text for a given item/subitem combination (text set to LPSTR_TEXTCALLBACK and mask to LVIF_TEXT | LVIF_PARAM when adding items). The application then handles the LVN_GETDISPINFO message and provides the text only if necessary.

On native Windows this message is only sent, when there is at least one column to display text. This is not the case in Wine where the message is also sent for Listviews which have no columns at all. Since the album you've used for testing doesn't contain any title information on Amazon side, no column was added to the tracks list -- but Wine asked Mp3tag to display text for the item in the list.

I think it's somewhere in dlls/comctl32/listview.c at LISTVIEW_GetItemT but this is only a vague guess.

I've also sent you a link to an internal version. It would be great if you could confirm the workaround on Mp3tag side.

Thanks!

Florian


#32

Hi Florian,

Thanks, I'll bugreport this issue to the wine team if it is not known yet.

I've tested it on several albums, including the one I mentioned before, it seems to work fine now :slight_smile:

Thanks,
nickless :music:


#33

Great :slight_smile: Thanks again!

Florian