Skip to main content

Topic: Toaster for Fb2k (Read 269250 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • shaneh
  • [*][*]
Toaster for Fb2k
Discussion about the Toaster plugin, continued from:
http://www.hydrogenaudio.org/forums/index....ndpost&p=275216

Current version is 0.1.6 (http://www.myplugins.info), updated 5/03/2005


The Toaster plugin is a port from the Toaster for Winamp plugin:
http://www.winamp.com/plugins/details.php?id=138586
and http://forums.winamp.com/showthread.php?s=&threadid=207630

As the port was done in about 20 minutes, there is still quite a bit of development to be done to get it working smoothly under fb2k.

FAQ
Where is the Foobar 2000 0.9 port?

Porting to fb2k 0.9 would require a fair amount of work, due to the fact Toaster is not native unicode. I am planning a complete rewrite of Toaster, which should be a lot nicer. It should allow tiling custom skins, progress bars, buttons etc, and proper skin packaging support. So I wont bother porting this version of Toaster across, as it needs to be re-written anyway.
  • Last Edit: 11 May, 2006, 07:31:10 PM by shaneh

  • banjobacon
  • [*][*]
Toaster for Fb2k
Reply #1
I'll just paste what I wrote in the other thread here.

I get a box titled "Microsoft Visuall C++ Runtime Library" pop up, saying the following...

Quote
Runtime Error!

Program C:\Program Files\foobar2000\foobar2000.exe

R6025
- pure virtual function call

Another time, this failure.txt file popped up.

Code: [Select]
[span style=\'font-size:8pt;line-height:100%\']
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 004217F4h
Access violation, operation: read, address: 00200033h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (004217F4h):
004217B4h:  83 EC 1C 89 4D FC E8 92 FD FF FF 84 C0 0F 84 8C
004217C4h:  00 00 00 53 56 6A 01 8D 4D E4 E8 DB CB FE FF 8B
004217D4h:  75 08 8B CE 8B 06 FF 10 33 DB 89 45 08 85 C0 76
004217E4h:  28 57 8B 06 53 8B CE FF 50 04 8B F8 8B CF 8B 07
004217F4h:  FF 10 8B 45 EC 8D 4D E4 C1 E8 02 50 57 E8 78 1B
00421804h:  FF FF 43 3B 5D 08 72 DA 5F 80 7D 18 00 5E 5B 74
00421814h:  0A 8D 45 E4 50 E8 39 00 00 00 59 FF 75 14 8B 45
00421824h:  F4 8B 4D FC FF 75 10 8B 40 04 FF 75 0C 8D 44 05
Stack (0012F918h):
0012F8F8h:  01C6FFDC 77FA88F0 77F521E0 0000005A
0012F908h:  01C6DEBC C0000005 01C6DE98 01C6DEA8
0012F918h:  004458F4 013CE1A8 00000000 00000000
0012F928h:  00000000 00000000 00000001 0043A1C8
0012F938h:  0043A1B4 004458F4 0012F964 00426FE2
0012F948h:  00000003 00000001 FFFFFFFF 00000000
0012F958h:  00000000 00000004 00000003 0012F97C
0012F968h:  004277B4 00000003 000F044A 00000003
0012F978h:  00000000 0012FA00 00CB7DD9 004465DC
0012F988h:  000F044A 013A4CA8 00000000 77D43C1F
0012F998h:  005C2188 FFFFFFEB 00000000 000F044A
0012F9A8h:  005C2040 0012F9C8 77D43C1F 005C2040
0012F9B8h:  FFFFFFEB 00000000 000F044A 00CC44B2
0012F9C8h:  0012FA00 77D440BD 005C2040 FFFFFFEB
0012F9D8h:  77D440C6 000F044A 00CC44B2 00000000
0012F9E8h:  0012F9DC 013A4CA8 00CB7C03 0012FAB4
0012F9F8h:  00CC5B0C FFFFFFFF 0012FA30 00CC4592
0012FA08h:  013A4CA8 000F044A 00000111 000103E9
0012FA18h:  00170532 0012FAA4 00CC44B2 00000000
0012FA28h:  00000000 00000000 0012FA5C 77D43A50
Registers:
EAX: 00200033, EBX: 00000000, ECX: 013F0104, EDX: 0043B0D8
ESI: 013CE1BC, EDI: 013F0104, EBP: 0012F940, ESP: 0012F918
Crash location: "foobar2000", loaded at 00400000h - 00452000h

Loaded modules:
foobar2000                      loaded at 00400000h - 00452000h
ntdll                            loaded at 77F50000h - 77FF7000h
kernel32                        loaded at 77E60000h - 77F46000h
USER32                          loaded at 77D40000h - 77DCC000h
GDI32                            loaded at 7F000000h - 7F041000h
ADVAPI32                        loaded at 77DD0000h - 77E5D000h
RPCRT4                          loaded at 78000000h - 78087000h
ole32                            loaded at 771B0000h - 772D4000h
COMCTL32                        loaded at 71950000h - 71A34000h
msvcrt                          loaded at 77C10000h - 77C63000h
SHLWAPI                          loaded at 70A70000h - 70AD9000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 763B0000h - 763F5000h
SHELL32                          loaded at 4F510000h - 4FD21000h
foo_albumlist                    loaded at 008D0000h - 008DB000h
foo_audioscrobbler              loaded at 008E0000h - 00900000h
LIBCURL                          loaded at 00900000h - 00919000h
WS2_32                          loaded at 71AB0000h - 71AC5000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
WINMM                            loaded at 76B40000h - 76B6C000h
serwvdrv                        loaded at 5CD70000h - 5CD77000h
umdmxfrm                        loaded at 5B0A0000h - 5B0A7000h
foo_cdda                        loaded at 009B0000h - 009BE000h
foo_clienc                      loaded at 009C0000h - 009CB000h
foo_console                      loaded at 009D0000h - 009D7000h
foo_dbsearch                    loaded at 009E0000h - 009F8000h
foo_diskwriter                  loaded at 00A00000h - 00A12000h
foo_dsp_extra                    loaded at 00A20000h - 00A35000h
foo_dsp_soundtouch              loaded at 00A40000h - 00A4D000h
foo_flac                        loaded at 00A50000h - 00A6C000h
foo_freedb                      loaded at 00A70000h - 00A8D000h
foo_id3v2                        loaded at 00A90000h - 00AC0000h
MSVCP60                          loaded at 55900000h - 55961000h
foo_infobox                      loaded at 00AC0000h - 00AD3000h
foo_input_std                    loaded at 00AE0000h - 00B7E000h
MSACM32                          loaded at 77BE0000h - 77BF4000h
foo_masstag                      loaded at 00B80000h - 00B94000h
foo_output_std                  loaded at 00BA0000h - 00BA9000h
foo_playcount-1.4.1              loaded at 00BB0000h - 00BBA000h
foo_playlistgen_ex              loaded at 00BC0000h - 00BCF000h
foo_read_http                    loaded at 00BD0000h - 00BD9000h
foo_rgscan                      loaded at 00BE0000h - 00BED000h
foo_scroll                      loaded at 00BF0000h - 00BF6000h
foo_spc                          loaded at 00C00000h - 00C11000h
foo_syfm                        loaded at 00C20000h - 00C2A000h
foo_temple                      loaded at 00C30000h - 00C3B000h
foo_toaster                      loaded at 00C40000h - 00C5E000h
gdiplus                          loaded at 70D00000h - 70E91000h
MSVCR71                          loaded at 7C340000h - 7C396000h
foo_uie_albumart                loaded at 00C80000h - 00C8C000h
foo_uie_volume                  loaded at 00C90000h - 00C9A000h
foo_ui_columns                  loaded at 00CA0000h - 00CD7000h
foo_ui_std                      loaded at 00CE0000h - 00CF7000h
foo_vorbisenc                    loaded at 00D00000h - 00DFA000h
foo_wavpack                      loaded at 00E00000h - 00E12000h
foo_winamp_spam                  loaded at 00E20000h - 00E28000h
uxtheme                          loaded at 5AD70000h - 5ADA4000h
ctagent                          loaded at 00F80000h - 00F90000h
dciman32                        loaded at 73BC0000h - 73BC6000h
mswsock                          loaded at 71A50000h - 71A8B000h
DNSAPI                          loaded at 76F20000h - 76F45000h
winrnr                          loaded at 76FB0000h - 76FB7000h
WLDAP32                          loaded at 76F60000h - 76F8C000h
rasadhlp                        loaded at 76FC0000h - 76FC5000h
wshtcpip                        loaded at 71A90000h - 71A98000h
dsound                          loaded at 51080000h - 510DD000h
VERSION                          loaded at 77C00000h - 77C07000h
wdmaud                          loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                          loaded at 5EF80000h - 5EF84000h
iconv                            loaded at 06790000h - 0686A000h
imagehlp                        loaded at 76C90000h - 76CB2000h
DBGHELP                          loaded at 6D510000h - 6D58D000h

Stack dump analysis:
Address: 004458F4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043A1C8h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043A1B4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004458F4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00426FE2h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004277B4h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00CB7DD9h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 004465DCh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 77D43C1Fh, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 77D43C1Fh, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D440BDh, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D440C6h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CB7C03h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CC5B0Ch, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CC4592h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D43A50h, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D43B1Fh, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D73964h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "CreateAcceleratorTableA" (+0000032Dh)
Address: 77D99BE0h, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 77D45462h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "ReleaseDC" (+0000012Ah)
Address: 00CC44B2h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D454C3h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "SendMessageW" (+00000047h)
Address: 719AE1B6h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000393E0h)
Address: 719AF696h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+0003A8C0h)
Address: 719B0055h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+0003B27Fh)
Address: 77D44092h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "GetWindowLongW" (+00000000h)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 77D440BDh, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 7197BA6Ch, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+00006C96h)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 77D440BDh, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "GetWindowLongW" (+0000002Bh)
Address: 77D440C6h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 00CB7B0Ch, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D43B4Fh, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 00CB853Ah, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CC5B38h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CB7B0Ch, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 00CB7B32h, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D43A50h, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 77D43B1Fh, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 00CB7B0Ch, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D73964h, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "CreateAcceleratorTableA" (+0000032Dh)
Address: 77D99BE0h, location: "USER32", loaded at 77D40000h - 77DCC000h
Address: 77D45B3Bh, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "IsWindowVisible" (+00000080h)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 00CB7B0Ch, location: "foo_ui_columns", loaded at 00CA0000h - 00CD7000h
Address: 77D45B5Ah, location: "USER32", loaded at 77D40000h - 77DCC000h
Symbol: "CallWindowProcW" (+00000019h)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)
Address: 10003461h, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uCallWindowProc" (+00000018h)
Address: 7197B394h, location: "COMCTL32", loaded at 71950000h - 71A34000h
Symbol: "Ordinal384" (+000065BEh)

Version info:
foobar2000 v0.8.3
UNICODE[/span]


I'm pretty sure it's due to Toaster.


[span style=\'font-size:8pt;line-height:100%\']moderation: changed [ code ] to [ codebox ]. put crashlogs into codebox instead of code tags, please[/span]
  • Last Edit: 20 February, 2005, 08:02:57 PM by ssamadhi97

Toaster for Fb2k
Reply #2
Yeah I got the same errors.
Removed Toaster and the problem ceased.

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #3
@badrad, kl33per, synth7: The configuration should be under the components menu. Look at the screenshot in the first post to see where. As it was developed for Winamp initially it doesnt support the Foobar preferences pane.

Assuming youve already looked there, I cant think off hand what the problem might be. Are you using Windows XP? Have you tried disabling other components to see which one might be conflicting? I have a feeling it might have something to do with mixed runtimes. I am using Foobar2000 v0.8.3, and Columns 0.1.2 beta3.

A am simply using the code from the tutorial for the menu code:

Code: [Select]
class menu_item_main_toaster : public menu_item_main {
// Return the number of commands we provide.
virtual unsigned get_num_items() {
  return 2;
}

// Set out to the name of the n-th command.
// This name is used to identify the command and determines
// the default position of the command in the menu.
virtual void enum_item(unsigned n, string_base & out) {
  if (n == 0) out = "Components/Toaster/Configure Toaster";
  if (n == 1) out = "Components/Toaster/Show Toast";
}

// Perform n-th command.
virtual void perform_command(unsigned n) {
  if (n==0 && core_api::assert_main_thread()) {

   configtoast();
  }
  if (n==1 && core_api::assert_main_thread()) {

   showToast(NULL, false, true, false, 0);
  }
}

// Return whether the n-th command is checked.
virtual bool is_checked(unsigned n) {
  return false;
}

// Set out to the description for the n-th command.
virtual bool get_description(unsigned n, string_base & out) {
  if (n == 0) {
   out = "Configure Toaster";
   return true;
  }
  if (n == 1) {
   out = "Show Toast";
   return true;
  }
  return false;
}
};

// We need to create a service factory for our menu item class,
// otherwise the menu commands won't be known to the system.
static menu_item_factory< menu_item_main_toaster > foo_menu;
  • Last Edit: 20 February, 2005, 09:14:45 PM by shaneh

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #4
@alphaex32: I havent fully tested the id3v2 image code in Fb2k, but its a cut'n'paste job from the winamp plugin with no dependencies on Winamp so Im not sure what the issue could be. the only thing I guessed with and didnt bother testing is the file path retrieval.:

Code: [Select]
myTag.Link((char*)track->handle_get_path());


Its possible this might be a problem if its in UTF8. Try using the winamp plugin under Winamp to see if the id3v2 covers are loaded ok to check if the problem is specific to this Fb2k version.

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #5
@eliazu: I will fix up the utf8 etc stuff in a future version.

@foosion: Yes Ive read that FAQ, along with the many other FAQs. At the time I just didnt put a lot of thought into what UTF8 really was, or have any unicode files to test with. (if anyone has a very small unicode based file, e-mail it to me for testing).
Plus it was a 10minute port job from a player that doesnt support unicode so there is going to be a few deficiencies here and there.

Im currently using:
MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,(*src,-1,dest,MSGLENGTH);

In the conversion routine, just changing this to CP_UTF8 should get it to work. Although I will look into the utf8api stuff, I use some of the string_utf16_from_utf8 in the messenger portion of code, though Im not sure if this is in the utf8api lib.

I dont want to change too much to be dependent on foobar2000 libs etc, as the code is practically identical from the winamp one to the fb2k one, and itd be nice to have a unified code base for the actual window. I'll look further into it however. For if the DrawText routines have the ability to embed colour that would be nice indeed. Though I hope it has the ability to measure the strings and is GDI+ compatible.

For the play_control::playback_format_title_ex()  etc, Ive been having a few issues. That call works fine, but Id like to get the %_playlist_number% etc stuff in the formatting. So I use:

int curtrack = playlist_oper::get()->get_playback_cursor();
playlist_oper::get()->format_title(curtrack,...);

instead, which so far works. Though it obviously has issues if the item isn't in the playlist. I tried get_currenty_playing too, but it returns -1 if you call it in a  on_playback_new_track, which I guess is expected behaviour.

Whats a good way to get the track handle in such a way that it can be formatted with playlist information on a song change or when called via a hotkey? Would you say the playback_cursor would be the best method?

I will look into on_playback_dynamic_info for streams.
  • Last Edit: 20 February, 2005, 08:53:00 PM by shaneh

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #6
@Skates:

It currently just uses the first ID3FID_PICTURE it finds. AFAIK theres no particular standard for where the cover art should be stored, so it just uses the first picture it finds in the tag. It shouldnt matter whats its called AFAIK, as long as there is an image in there using the standard ID3FID_PICTURE frame.

@banjobacon, MrEnergizer:

This could be a runtime confict of some sort. Perhaps if I compile to an older version of the msvcr, or flick some compiler switches, it might work.

Otherwise, it could be some handle problem. I think that version I posted frees the handle passed to it on the on_playback_new_track which I think it probably isn't supposed to do. Whether this would cause a sporadic crash I am not sure.

  • Skates
  • [*][*][*]
Toaster for Fb2k
Reply #7
Quote
@Skates:

It currently just uses the first ID3FID_PICTURE it finds. AFAIK theres no particular standard for where the cover art should be stored, so it just uses the first picture it finds in the tag. It shouldnt matter whats its called AFAIK, as long as there is an image in there using the standard ID3FID_PICTURE frame.


For some reason its not finding the cover art tags inserted by Musicmatch, when using the lookup tags feature. If you could look into the problem it would be appreciated...

If need be I can send a MP3 tagged by Musicmatch!
  • Last Edit: 20 February, 2005, 09:59:00 PM by Skates

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #8
Could you try using the winamp Toaster plugin and see if it finds the images? You can send me a small .mp3 with a id3v2 image in it to the address indicated in the plugin.

  • spaceships
  • [*][*][*]
Toaster for Fb2k
Reply #9
what xp theme are you using?

  • Skates
  • [*][*][*]
Toaster for Fb2k
Reply #10
Quote
Could you try using the winamp Toaster plugin and see if it finds the images? You can send me a small .mp3 with a id3v2 image in it to the address indicated in the plugin.
[a href="index.php?act=findpost&pid=275517"][{POST_SNAPBACK}][/a]

Doesn't work in WinAMP either, sent a demo mp3 with random ass tags from Musicmatch.

  • wortels
  • [*][*][*]
  • Banned
Toaster for Fb2k
Reply #11
Excellent working shaneh!
this might be a silly request (memory freak sad.gif) but is it possible that after the toast fades out the ram usage can be returned to normal? (when minimized foobar mem usage is around 1.5 meg but when toasts whow it climbs to around 5 meg and doest come down but if you maximize and minimize it again it returns back to normal)
Thanks for an excellent plugin

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #12
@Skates: I'll take a look when it comes through.

@aliumalik: I can take a look, although I think this may be more to do with the way Windows works. ie, when you minimize foobar (or any application), it pages out the memory to disk. But because Toaster causes a window to be shown in that thread, Windows reloads the paged memory and doesnt page the process out again until you manually hit "minimize". This is because Windows see the process as "active"/"interactive" and is careful not to page the process out.

While memory "usage" might drop to 1.5mb, you will probably find the actual VM size doesnt change for the process.

  • wortels
  • [*][*][*]
  • Banned
Toaster for Fb2k
Reply #13
shaneh from toaster's settings I figured you know how to display embedded album art files from id3v2 tags. If you have some knowledge on this could you help foo_uie_albumart. They can't figure out how to display images from id3v2 tags and I have to manually create folder.jpg for all of my album folders.

Thanks a lot

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #14
@skates: That file you sent me showed the cover images fine in Winamp. (be sure to enable the option). Ive found the problem with the foobar plugin. The file path is being returned in the format "file://c:\" instead of just "c:\". I'll add the fix into the next release.

Do you know how to get the file path without the file:// cruft? I suppose I could use titleformat, but I suspect there may be another more efficient way.

I also need a way for detecting streams to avoid looking for the id3 tag or folder.jpg etc.

@aliumalik: Toaster just makes use of id3lib, theres plenty of documentation for that particular library.
  • Last Edit: 21 February, 2005, 02:51:22 AM by shaneh

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #15
Ive fixed up the support for ID3v2 cover images and UTF8 tags:
http://www.hydrogenaudio.org/forums/index....ndpost&p=275216

I still need to look into the dynamic info, http streams and so forth. I tried adding colour support, but the .ini file I am using strips leading 0x03 characters as whitespace, so its a bit problematic so Ive left it out.

I can't just use the utf8api for my purposes either, as I need to use DrawString and wrapped text etc.

  • Skates
  • [*][*][*]
Toaster for Fb2k
Reply #16
Quote
@skates: That file you sent me showed the cover images fine in Winamp. (be sure to enable the option). Ive found the problem with the foobar plugin. The file path is being returned in the format "file://c:\" instead of just "c:\". I'll add the fix into the next release.

Do you know how to get the file path without the file:// cruft? I suppose I could use titleformat, but I suspect there may be another more efficient way.

I also need a way for detecting streams to avoid looking for the id3 tag or folder.jpg etc.

Still having the same problem, sent you another MP3, this one also contains APEv2 tags which maybe be the problem in all of this.  If you can check out it out, it would be appreciated.  Figured out why the MP3 that I sent you was not working in WinAMP, but the rest of my MP3s with APEV2 tags along with ID3v2 aren't working either.

Also I noticed a problem with exporting configs, example in 1 and on the right side I have " '('%_length%')' " and when I export that, it doesn't save it properly.  It will save as  " ('%_length%') " its cutting out the '.  This also seems to be happening everytime foobar2000 is closed and reopnened.

Also the id3lib.dll error message reads that the dll should be in the same folder as winamp.exe.
  • Last Edit: 21 February, 2005, 09:16:14 AM by Skates

  • alphaex32
  • [*][*][*][*]
Toaster for Fb2k
Reply #17
Quote
@alphaex32: I havent fully tested the id3v2 image code in Fb2k, but its a cut'n'paste job from the winamp plugin with no dependencies on Winamp so Im not sure what the issue could be. the only thing I guessed with and didnt bother testing is the file path retrieval.:

Code: [Select]
myTag.Link((char*)track->handle_get_path());


Its possible this might be a problem if its in UTF8. Try using the winamp plugin under Winamp to see if the id3v2 covers are loaded ok to check if the problem is specific to this Fb2k version.
[a href="index.php?act=findpost&pid=275484"][{POST_SNAPBACK}][/a]


Just tried it, and sure enough, it works in the winamp version. So it is surely a problem specific to the foobar port.

Btw, I am getting error logs everytime I shut down foobar after installing your plugin.

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #18
alphaex32: Have you tried the new version I posted in the upload forum? it should have fixed that problem.

RE: the error logs, Ive seen that too. As well as the pure virtual call error. I will look into it further.

@Skates: That file you sent me didnt have any id3v2 tags.

The missing ' is a result of the .ini saving and loading API in windows. I will probably switch to another method for foobar later. You can just prefix and suffix your tags with something like [] and it should retain it ok.

  • Skates
  • [*][*][*]
Toaster for Fb2k
Reply #19
Quote
@Skates: That file you sent me didnt have any id3v2 tags.

The missing ' is a result of the .ini saving and loading API in windows. I will probably switch to another method for foobar later. You can just prefix and suffix your tags with something like [] and it should retain it ok.
[a href="index.php?act=findpost&pid=275635"][{POST_SNAPBACK}][/a]

Hmm damn, I just noticed that tag.exe is removing the id3v2 tags that Musicmatch adds.  Havew to come up with a different solution so that it doesn't happen.  What about reading the tags from APEv2?

  • alphaex32
  • [*][*][*][*]
Toaster for Fb2k
Reply #20
Quote
alphaex32: Have you tried the new version I posted in the upload forum? it should have fixed that problem.
[a href="index.php?act=findpost&pid=275635"][{POST_SNAPBACK}][/a]


Didn't even notice the new version. Unfortunately, the rar file seems to be corrupted. I have redownloaded it a few times already and winrar is giving me those "unexpected end" errors.

  • shaneh
  • [*][*]
Toaster for Fb2k
Reply #21
Why am I having that problem so much? Ive havent experienced problems with corruption before, I can only assume its an issue with my account on this board.

Ive tried updating it with another format, see if it helps.

@Skates: Does APE even support cover images? I see nothing here:
http://www.ikol.dk/~jan/musepack/klemm/www...sv8/apekey.html

  • Skates
  • [*][*][*]
Toaster for Fb2k
Reply #22
Quote
@Skates: Does APE even support cover images? I see nothing here:
http://www.ikol.dk/~jan/musepack/klemm/www...sv8/apekey.html
[a href="index.php?act=findpost&pid=275642"][{POST_SNAPBACK}][/a]

tag.exe puts the images in APEv2 so I'm guessing that it is, otherwise it should still work since APE is just a tag format and it shouldn't matter what the tags contain.

  • eliazu
  • [*][*][*]
Toaster for Fb2k
Reply #23
Quote
@eliazu: I will fix up the utf8 etc stuff in a future version.


thanx.
the new vesrsion 0.1.1 display hebrew fonts right  but theres still problems with display of covers in hebrew folders.

  • ExUser
  • [*][*][*][*][*]
  • Read-only
Toaster for Fb2k
Reply #24
foobar2000 will remove cover art when the tag is altered/rewritten. This is considered a feature, not a bug. Cover images should not be stored in audio files.
  • Last Edit: 21 February, 2005, 12:25:53 PM by Canar