Help - Search - Members - Calendar
Full Version: foo_pod - Foobar2000 meets the iPod
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42
robinbowes
Hi,

I've just come across foo_ipod and I *think* it could be just what I'm looking for!

I have a large collection in flac format and I'm currently transcoding to mp3 for use on my iPod.

Am I right in thinking that should be able to use foo_ipod to do this for me? Something like this:

Inital setup:
Add all flac files to foobar playlist
Send all to Ipod

Subsequent use:
Add all flac files to foobar playlist
Use "sync" to only transcode new/updated files

Here's hoping...!

R.
Aero
QUOTE (Klato @ Feb 28 2005, 04:41 AM)
First off, thanks for a great plugin Aero!  Second, I'm a little confused about Replaygain/iTunesNORM.  I read in an earlier post that if a file has Replaygain info, then this will be used in the ipod db?  Do Replaygain and iTunesNORM from iTunes achieve the same thing?  Would it make more sense to scan all of my music as an album in order to achieve similar volume levels?  Sorry this might be a bit of a newbie post!
*

Yes, iTunes' SoundCheck and ReplayGain are essentially the same thing, although ReplayGain has some advantages (such as album gain instead of just track gain like SoundCheck).

The primary reason I added support for iTunNORM is that I have begun to see more and more downloadable audio files (podcasts, for example), that have been encoded by iTunes, and have the iTunNORM/SoundCheck information. Since these files already have SoundCheck information and they aren't something you'd normally listen to more than once, it is a lot easier to use the existing SoundCheck information rather than having to compute the ReplayGain.

So in general, you would typically use ReplayGain on your own files, but if you download iTunes encoded files and they have SoundCheck information, foo_pod will use that as well.
Aero
QUOTE (robinbowes @ Feb 28 2005, 09:08 AM)
Hi,

I've just come across foo_ipod and I *think* it could be just what I'm looking for!

I have a large collection in flac format and I'm currently transcoding to mp3 for use on my iPod.

Am I right in thinking that should be able to use foo_ipod to do this for me? Something like this:

Inital setup:
  Add all flac files to foobar playlist
  Send all to Ipod

Subsequent use:
  Add all flac files to foobar playlist
  Use "sync" to only transcode new/updated files
*

Yes, that is exactly how foo_pod can be used to transcode your FLAC songs into MP3/AAC for the iPod.
falconfox
I have used foo_pod since i got my ipod, nearly a year ago (it is 3rd gen). for some reason i never really felt the need to post about it though. but i finally have something to say.

1.) first, when i decide to sync my entire playlist, it does, but it skips the songs that need to be converted. the only way to get those files onto the ipod is to select them separetly and transcode. i mean that works, but is that by design?

2.) when i click sync all, if there are any songs that need to be deleted, a message window pops up, but for some reason, the message always appears behind foobar. (i do NOT have minimize while doing transfers checked).

3.) what exactly does the sound adjustment bar do? all my songs have track replaygain. so i checked that option. then i slide the bar to about - 50%. then i play the songs on the ipod and i don't hear any difference. do i just need to slide the bar further to the left?

Great work aero and otto. can't wait for 1.0 laugh.gif
musicmusic
Aero, some questions/comments:

Do you still plan to make that [Album] etc thing optional? Its not particulary useful having [Artist] with the other As in my artist list..

When using Sync/Send all playlists, the cancel button only cancels the transfer of the particular playlist being transfered a the time. This is kind of annoying since you have to press it like 20 times if you have 20 playlists and want to cancel.

And in relation to the above, the reason I was cancelling is because sometimes 'sync' all playlists decides it wants to replace all files, this time it was after firmware update. Do you think you could add an option for 'less thorough' sync, that doesnt transfer if source/dest filesizes match or something like that?

Thanks for your work on the component,
musicmusic
Aero
QUOTE (falconfox @ Feb 28 2005, 01:32 PM)
I have used foo_pod since i got my ipod, nearly a year ago (it is 3rd gen). for some reason i never really felt the need to post about it though. but i finally have something to say.

1.) first, when i decide to sync my entire playlist, it does, but it skips the songs that need to be converted. the only way to get those files onto the ipod is to select them separetly and transcode. i mean that works, but is that by design?

No, that would be a bug. I'll take a look into it.

QUOTE
2.) when i click sync all, if there are any songs that need to be deleted, a message window pops up, but for some reason, the message always appears behind foobar. (i do NOT have minimize while doing transfers checked).

I have seen that too, and it is rather annoying. I'm not doing anything to make it go to the background, but I'll see if there is a workaround.

QUOTE
3.) what exactly does the sound adjustment bar do? all my songs have track replaygain. so i checked that option. then i slide the bar to about - 50%. then i play the songs on the ipod and i don't hear any difference. do i just need to slide the bar further to the left?
*

That is the preamp control - it adjusts the volume level of all songs (that's why you don't hear a difference - they are all equally louder!). It is the equivalent to the volume slider in iTunes' Get Info dialog.

The preamp is useful for boosting the volume for European iPods, which by law are limited in their maximum volume. It is also useful if you have less sensitive headphones, and the maximum volume on the iPod isn't loud enough. Also, I personally set my preamp at around 25%, since ReplayGain seems to be a little quiet for my taste.
Aero
QUOTE (musicmusic @ Feb 28 2005, 02:11 PM)
Do you still plan to make that [Album] etc thing optional? Its not particulary useful having [Artist] with the other As in my artist list..

Probably not. [Artist] isn't too obtrusive, IMHO, and without it, you can't easily navigate to untagged songs.

QUOTE
When using Sync/Send all playlists, the cancel button only cancels the transfer of the particular playlist being transfered a the time. This is kind of annoying since you have to press it like 20 times if you have 20 playlists and want to cancel.

I will fix this.

QUOTE
And in relation to the above, the reason I was cancelling is because sometimes 'sync' all playlists decides it wants to replace all files, this time it was after firmware update. Do you think you could add an option for 'less thorough' sync, that doesnt transfer if source/dest filesizes match or something like that?

I can certainly tweak the matching algorithm, although a firmware update shouldn't affect the sync. I have let sync support slide, since I don't use it myself, so it could use some attention.
falconfox
QUOTE (Aero @ Feb 28 2005, 11:35 PM)
QUOTE (falconfox @ Feb 28 2005, 01:32 PM)
I have used foo_pod since i got my ipod, nearly a year ago (it is 3rd gen). for some reason i never really felt the need to post about it though. but i finally have something to say.

1.) first, when i decide to sync my entire playlist, it does, but it skips the songs that need to be converted. the only way to get those files onto the ipod is to select them separetly and transcode. i mean that works, but is that by design?

No, that would be a bug. I'll take a look into it.
*



it might be nice to have an option to sync all excluding transcodings, and then a sync all with transcodings. it would be a nice option i think. Also, i think it might be cool to have an option when you are doing file transfers, that will disconnect the ipod on complete. i know that would be kind of a pain with the options already included (i.e. disconnecting the ipod on a foobar exit) but it would be nice. cool.gif
musicmusic
QUOTE (Aero @ Mar 1 2005, 05:42 AM)
QUOTE
When using Sync/Send all playlists, the cancel button only cancels the transfer of the particular playlist being transfered a the time. This is kind of annoying since you have to press it like 20 times if you have 20 playlists and want to cancel.

I will fix this.
Thanks.

QUOTE (Aero @ Mar 1 2005, 05:42 AM)
QUOTE
And in relation to the above, the reason I was cancelling is because sometimes 'sync' all playlists decides it wants to replace all files, this time it was after firmware update. Do you think you could add an option for 'less thorough' sync, that doesnt transfer if source/dest filesizes match or something like that?

I can certainly tweak the matching algorithm, although a firmware update shouldn't affect the sync. I have let sync support slide, since I don't use it myself, so it could use some attention.
*

Well Im not sure what exactly causes it , fw update seemed the only significant thing, Ill try and work it out next time it happens.

Also while Im at it, the message box "this will delete x files" comes up under the foobar window, and I still had issues with foobar going crazy with the focus last time i checked.
eric.cheminot
First, I am sorry if this information is already in this thread, but I have tried a search and it seems difficult to narrow it enough.

I there an entire list of the feature instead of a changelog somewhere. Actually, my question is about the cue sheet feature as a workaround for non-gapless play. At the beginning of this thread, Aero writes it is on hi "todo" list, but I cannot find if it has been done since.

Thanks!
Aero
QUOTE (eric.cheminot @ Mar 3 2005, 08:42 AM)
First, I am sorry if this information is already in this thread, but I have tried a search and it seems difficult to narrow it enough.

I there an entire list of the feature instead of a changelog somewhere. Actually, my question is about the cue sheet feature as a workaround for non-gapless play. At the beginning of this thread, Aero writes it is on hi "todo" list, but I cannot find if it has been done since.
*

Yeah, documentation would be nice. I should do that some day... smile.gif (in other words, no, there really isn't any feature list other than what is listed in the Readme file changelog).

As for CUE sheets, I haven't gotten around adding support for them in foo_pod, so they won't be successfully transferred. Eventually, it should be possible to send a single audio file to the iPod, but still have access to the individual songs.
Otto42
QUOTE (Aero @ Mar 3 2005, 10:30 AM)
As for CUE sheets, I haven't gotten around adding support for them in foo_pod, so they won't be successfully transferred.  Eventually, it should be possible to send a single audio file to the iPod, but still have access to the individual songs.
*

Hmm... Multiple mhits that all reference the same file, but have different start and stop points? Might work.

Bit more battery drain though, because it'd have to load the whole file into cache, which would mean more disk access and such.
Biscuits
I think it would be nice to have a customizable matching algorithm. Like, you could select which fields to check.

Like, I can't send playlists anymore because it just puts another copy of all the songs on my iPod. I think it might be because of playcount, which changes the tags? Maybe not. I've been wondering why it didn't find the copy that was already on the iPod. Could this be the case???

Thanks,
-Tristan
jkwarras
QUOTE (Biscuits @ Mar 3 2005, 06:13 PM)
I think it might be because of playcount, which changes the tags? Maybe not. I've been wondering why it didn't find the copy that was already on the iPod. Could this be the case???
*

Yes it can. Default Playcount plugin updates the tag everytime you play a file, so everytime you play your file change (i.e. size change even a little kb) and so the ipod recognise it as a different file and send it again. You could however use the mod playcount plugin by kode54 (it's on the plugin thread) that doesn't add a tag to the file but uses a external database.
Aero
QUOTE (Biscuits @ Mar 3 2005, 08:13 PM)
I think it would be nice to have a customizable matching algorithm. Like, you could select which fields to check.

Like, I can't send playlists anymore because it just puts another copy of all the songs on my iPod. I think it might be because of playcount, which changes the tags? Maybe not. I've been wondering why it didn't find the copy that was already on the iPod. Could this be the case???

Thanks,
-Tristan
*

jkwarras is exactly right - if you using a component that modifies the metadata, it will completely mess up the duplicate song detection in foo_pod. That is a big reason why it is hard to implement play counts/ratings/last played support in foo_pod.
quazi
This has come a long way since the beginning, I'm impressed! Ever since I've had my iPod (less than a week, lol), I think I've opened iTunes once -- long enough to say "man, this sure takes up 40MB!"

To help out in my own little way, I've rearranged the menu. Since there's really no other way to share the settings, I've made an animated screenshot:



(sorry, I don't use Sync. It's too destructive.)

Feel free and use it, don't use it, laugh at it, whatever you like. All I know is that it works for me! tongue.gif
Aero
QUOTE (quazi @ Mar 4 2005, 10:54 PM)
This has come a long way since the beginning, I'm impressed! Ever since I've had my iPod (less than a week, lol), I think I've opened iTunes once -- long enough to say "man, this sure takes up 40MB!"

To help out in my own little way, I've rearranged the menu. Since there's really no other way to share the settings, I've made an animated screenshot:



(sorry, I don't use Sync. It's too destructive.)

Feel free and use it, don't use it, laugh at it, whatever you like. All I know is that it works for me! tongue.gif
*

I like it...but...

AFAIK, Foobar2000 0.8 doesn't support components with submenus like that. I could be wrong, but I can't see how one would do it via the API and I don't see any other components using submenus. I looked into this once upon a time for the context menu - it would be cool to be able to select a song and send it to an iPod playlist, each listed in a Playlists submenu.

But thanks for your idea - if future versions of Foobar support this feature, I'll definitely do something like this.
Rostvertol-Mil
I have a iPod photo. It is able to show album art, but only if you bought the music on iTunes, are you planning to include the possibility to do this on every song?
Aero
QUOTE (Rostvertol-Mil @ Mar 5 2005, 02:59 PM)
I have a iPod photo. It is able to show album art, but only if you bought the music on iTunes, are you planning to include the possibility to do this on every song?
*

There isn't any way to get the album art from the ID3v2 tags (or equivalent for M4A files) in Foobar, so I would have to implement something special. I have done some test apps that create the album art, but I haven't tried to incorporate that into foo_pod yet.
quazi
I'm still stuck on the "album artist" tag issue, so I'll respond to a discussion back on page 36:
QUOTE (Aero @ Dec 12 2004, 04:03 PM)
That would work globally (i.e. on all songs).  By using the POD_ alternate metadata, you can specify exactly which songs you want the TAGZ string applied to, as well as potentially having different strings for each song.  Besides, have you seen how crowded the preference dialogs are?  smile.gif
*

I'd like it to work globally though.

Since all my files that have "album artist" tags are likely to have their own "artist" tag, that's two sets of information I don't want to lose. While it makes sense to copy the "album artist" to "POD_ARTIST", it would also make sense to first copy "artist" to (let's say) "POD_COMPOSER". I don't know if your solution would do one tag before the other. (..because if I copy album artist to artist then copy artist to composer, there would be two identical artists, and the track artist would disappear!)

something like this (pseudocode):
CODE
$if(%album artist%, $if(%artist%, $put(%POD_COMPOSER%, %artist%),) $put(%POD_ARTIST%, %album artist%),)


But I would eventually have to run this on my entire collection! Instead of cluttering up my tags any more than they already are, I think it would be a lot more elegant to implement it in the foo_pod interface. (BTW, the interface isn't cluttered -- you've only got three tabs, you've got room for plenty more!) biggrin.gif

QUOTE (Aero @ Mar 4 2005, 10:23 PM)
AFAIK, Foobar2000 0.8 doesn't support components with submenus like that.

Don't tell me I got a weird version of Foobar that supports submenus blink.gif

how I did it: preferences / core / main menu items -- then start adding groups under groups (image)
jcarbonell
I'm using 0.9.9d.

When I sync w/ "Sync with current playlist," foobar200 crashes when the sync is complete. It gives me the dump:


CODE
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 7C911E58h
Access violation, operation: read, address: 006E0061h
Call path:
WinMain=>app_mainloop=>menu command: "Components/foo_pod/Sync Current Playlist"
This is the first crash logged by this instance.
Code bytes (7C911E58h):
7C911E18h:  89 5F 4C EB 8F 33 C9 E9 37 FF FF FF FF 75 10 57
7C911E28h:  56 E8 26 FD FF FF EB AE 0F B7 06 8B 4D 10 03 01
7C911E38h:  3D 00 FE 00 00 0F 87 EE ED FF FF 80 7D 14 00 0F
7C911E48h:  85 97 7A 03 00 8B 4E 0C 8D 46 08 8B 10 89 4D 08
7C911E58h:  8B 09 3B 4A 04 89 55 0C 0F 85 9D 00 00 00 3B C8
7C911E68h:  0F 85 95 00 00 00 56 53 E8 1F ED FF FF 8B 45 0C
7C911E78h:  8B 4D 08 3B C1 89 01 89 48 04 74 49 8A 46 05 A8
7C911E88h:  04 0F 85 2F 7B 03 00 8A 47 05 24 10 A8 10 88 46
Stack (0012E22Ch):
0012E20Ch:  00CADCDC 7C9C93A0 77F643DD 7C9C93A0
0012E21Ch:  00000004 00000000 00CAD1E8 00000000
0012E22Ch:  00890000 02918E30 00000000 0012E30C
0012E23Ch:  7C910D5C 006E0061 02918E30 0012E2F0
0012E24Ch:  00000000 000000D6 02918E38 0000066E
0012E25Ch:  01D40000 00000000 0291AA40 00000000
0012E26Ch:  00890000 028ECCA8 00000000 0291AA48
0012E27Ch:  028EE000 7C910E91 027A0000 00000000
0012E28Ch:  00000000 029196A0 0000006B 00000020
0012E29Ch:  000000CD 0012E370 008901A0 7C910E91
0012E2ACh:  00000028 7C91056D 0000066E 028ECCB0
0012E2BCh:  00000000 01D40000 0012E2D4 00000000
0012E2CCh:  7C9105C8 02703AE0 00890000 7C910551
0012E2DCh:  00890718 7C91056D 00000000 00000000
0012E2ECh:  01013E4C 00000005 0012E250 0012DE50
0012E2FCh:  0012E344 7C90EE18 7C910570 00000001
0012E30Ch:  0012E354 77C2C2DE 00890000 00000000
0012E31Ch:  02918E38 000000D6 02918E38 0000066E
0012E32Ch:  00000001 027D2430 027D246C 00890000
0012E33Ch:  0012E320 0012DE50 0012E3D0 77C35C94
Registers:
EAX: 02918DF8, EBX: 00890000, ECX: 006E0061, EDX: 00720042
ESI: 02918DF0, EDI: 02918E30, EBP: 0012E238, ESP: 0012E22C
Crash location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlInitializeCriticalSection" (+0000032Bh)

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 7C900000h - 7C9B0000h
kernel32                         loaded at 7C800000h - 7C8F4000h
USER32                           loaded at 77D40000h - 77DD0000h
GDI32                            loaded at 77F10000h - 77F56000h
ole32                            loaded at 774E0000h - 7761D000h
ADVAPI32                         loaded at 77DD0000h - 77E6B000h
RPCRT4                           loaded at 77E70000h - 77F01000h
msvcrt                           loaded at 77C10000h - 77C68000h
COMCTL32                         loaded at 773D0000h - 774D2000h
SHLWAPI                          loaded at 77F60000h - 77FD6000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C9C0000h - 7D1D4000h
foo_abx                          loaded at 008D0000h - 008DC000h
foo_ac3                          loaded at 008E0000h - 008F3000h
foo_albumlist                    loaded at 00900000h - 0090B000h
foo_ape                          loaded at 00910000h - 0092F000h
foo_apl                          loaded at 00930000h - 0093A000h
foo_bitcompare                   loaded at 00940000h - 00949000h
foo_burninate                    loaded at 00950000h - 0095C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_cdda                         loaded at 00960000h - 0096E000h
foo_clienc                       loaded at 00970000h - 0097B000h
foo_console                      loaded at 00980000h - 00987000h
foo_convolve                     loaded at 00990000h - 009DF000h
foo_dbsearch                     loaded at 009E0000h - 009F8000h
foo_diskwriter                   loaded at 00A00000h - 00A12000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_crossfade                loaded at 00AA0000h - 00AA7000h
foo_dsp_crossfeed                loaded at 00AB0000h - 00AB6000h
foo_dsp_extra                    loaded at 00AC0000h - 00AD5000h
foo_dsp_nogaps                   loaded at 00AE0000h - 00AE7000h
foo_dsp_pause                    loaded at 00AF0000h - 00AF7000h
foo_dsp_skip_silence             loaded at 00B00000h - 00B07000h
foo_dsp_soundtouch               loaded at 00B10000h - 00B1B000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_dynamics                     loaded at 00B20000h - 00B27000h
foo_faac                         loaded at 00B30000h - 00B63000h
foo_festalon                     loaded at 00B70000h - 00CAE000h
foo_flac                         loaded at 00CB0000h - 00CCC000h
foo_flaccer                      loaded at 00CD0000h - 00CE6000h
foo_freedb                       loaded at 00CF0000h - 00D1E000h
WS2_32                           loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_history                      loaded at 00D20000h - 00D30000h
foo_id3v2                        loaded at 00D30000h - 00D60000h
foo_infobox                      loaded at 00D60000h - 00D73000h
foo_input_std                    loaded at 00D80000h - 00E1E000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_lpac                         loaded at 00E20000h - 00E27000h
lpac_codec_api                   loaded at 00E30000h - 00E3A000h
lpaccodec                        loaded at 00E40000h - 00E69000h
foo_masstag                      loaded at 01090000h - 010A4000h
foo_matroska                     loaded at 010B0000h - 010F8000h
foo_mod                          loaded at 01100000h - 01109000h
BASS                             loaded at 01110000h - 0116A000h
foo_monkey                       loaded at 01170000h - 0118C000h
foo_mpeg4u                       loaded at 01190000h - 011B9000h
foo_nez                          loaded at 011C0000h - 011EB000h
foo_null                         loaded at 011F0000h - 011F7000h
foo_ofr                          loaded at 01200000h - 01206000h
OptimFROG                        loaded at 01210000h - 0123C000h
foo_oggpreview                   loaded at 01250000h - 01351000h
foo_output_std                   loaded at 01360000h - 01369000h
foo_out_dsound_ex                loaded at 01370000h - 01379000h
DSOUND                           loaded at 73F10000h - 73F6C000h
foo_out_ks                       loaded at 01390000h - 0139B000h
SETUPAPI                         loaded at 77920000h - 77A13000h
foo_playlistgen_ex               loaded at 013A0000h - 013AF000h
foo_pod                          loaded at 013B0000h - 01448000h
OLEAUT32                         loaded at 77120000h - 771AC000h
foo_podclienc                    loaded at 01450000h - 01469000h
foo_podtranscoder                loaded at 01470000h - 01480000h
foo_pphsresample                 loaded at 01580000h - 01590000h
foo_psf                          loaded at 01590000h - 0163C000h
foo_read_http                    loaded at 01640000h - 01649000h
foo_rgscan                       loaded at 01650000h - 0165D000h
foo_scroll                       loaded at 01660000h - 01666000h
foo_search_ex                    loaded at 01670000h - 01678000h
foo_shn                          loaded at 01680000h - 0168F000h
foo_sid                          loaded at 01690000h - 016D7000h
foo_spc                          loaded at 016E0000h - 016F1000h
foo_speex                        loaded at 01710000h - 01728000h
foo_tfmx                         loaded at 01730000h - 01739000h
foo_tta                          loaded at 01740000h - 01749000h
foo_tta_old                      loaded at 01750000h - 01759000h
foo_uie_volume                   loaded at 01760000h - 0176A000h
foo_ui_columns                   loaded at 01770000h - 017A7000h
foo_ui_std                       loaded at 017B0000h - 017C7000h
foo_unpack                       loaded at 017D0000h - 01801000h
foo_utils                        loaded at 01810000h - 01821000h
foo_vis_manager                  loaded at 01830000h - 01838000h
foo_vis_simple_spectrum          loaded at 01840000h - 0184A000h
foo_vorbisenc                    loaded at 01850000h - 01961000h
foo_wavpack                      loaded at 01970000h - 01982000h
foo_wma                          loaded at 01990000h - 019AA000h
WMVCore                          loaded at 086C0000h - 08904000h
WMASF                            loaded at 070D0000h - 0710B000h
foo_xa                           loaded at 019B0000h - 019BF000h
uxtheme                          loaded at 5AD70000h - 5ADA8000h
CLBCATQ                          loaded at 76FD0000h - 7704F000h
COMRes                           loaded at 77050000h - 77115000h
browseui                         loaded at 75F80000h - 7607C000h
browselc                         loaded at 20000000h - 20012000h
imagehlp                         loaded at 76C90000h - 76CB8000h
DBGHELP                          loaded at 59A60000h - 59B01000h

Stack dump analysis:
Address: 7C910D5Ch, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+000002CDh)
Address: 7C910E91h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000402h)
Address: 7C910E91h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000402h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C9105C8h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+0000018Bh)
Address: 7C910551h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000114h)
Address: 7C91056Dh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000130h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910570h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 77C2C2DEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C3h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12070h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C78h)
Address: 013E60A5h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E2E27h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 77C2C3CEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000001B3h)
Address: 77C2C2DEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C3h)
Address: 77C2C2E3h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C8h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12088h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C90h)
Address: 013F899Ah, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013BD573h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 77C2C407h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "malloc" (+00000000h)
Address: 013BD43Ah, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 77C2C407h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "malloc" (+00000000h)
Address: 77C2C2E3h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C8h)
Address: 013BB293h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA50Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 77D48709h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000072h)
Address: 00440073h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C9106ABh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+000000D7h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 77D48808h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000171h)
Address: 77D487FFh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "GetDC" (+00000168h)
Address: 77D4C00Eh, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "DestroyCaret" (+0000005Eh)
Address: 773F0B47h, location: "COMCTL32", loaded at 773D0000h - 774D2000h
Symbol: "Ordinal384" (+00004D1Dh)
Address: 0044026Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 01787B0Ch, location: "foo_ui_columns", loaded at 01770000h - 017A7000h
Address: 77D4C034h, location: "USER32", loaded at 77D40000h - 77DD0000h
Symbol: "CallWindowProcW" (+0000001Bh)
Address: 773F0B47h, location: "COMCTL32", loaded at 773D0000h - 774D2000h
Symbol: "Ordinal384" (+00004D1Dh)
Address: 0044026Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 10003461h, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uCallWindowProc" (+00000018h)
Address: 773F0B47h, location: "COMCTL32", loaded at 773D0000h - 774D2000h
Symbol: "Ordinal384" (+00004D1Dh)
Address: 0044026Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 01788C5Ch, location: "foo_ui_columns", loaded at 01770000h - 017A7000h
Address: 773F0B47h, location: "COMCTL32", loaded at 773D0000h - 774D2000h
Symbol: "Ordinal384" (+00004D1Dh)
Address: 0044026Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910738h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000164h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C9106ABh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+000000D7h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 7C910732h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+0000015Eh)
Address: 7C911596h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000B07h)
Address: 7C9106EBh, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlAllocateHeap" (+00000117h)
Address: 01795B38h, location: "foo_ui_columns", loaded at 01770000h - 017A7000h
Address: 01787B0Ch, location: "foo_ui_columns", loaded at 01770000h - 017A7000h
Address: 01787B32h, location: "foo_ui_columns", loaded at 01770000h - 017A7000h

Version info:
foobar2000 v0.8.3
UNICODE


Here's the file header information from foo_pod.dll to verify that I have the latest. (generated from dumpbin /headers foo_pod.dll)

CODE
Dump of file foo_pod.dll

PE signature found

File Type: DLL

FILE HEADER VALUES
            14C machine (x86)
              5 number of sections
       421BA1BC time date stamp Tue Feb 22 15:18:52 2005
              0 file pointer to symbol table
              0 number of symbols
             E0 size of optional header
           210E characteristics
                  Executable
                  Line numbers stripped
                  Symbols stripped
                  32 bit word machine
                  DLL
Aero
QUOTE (quazi @ Mar 6 2005, 03:16 AM)
I'm still stuck on the "album artist" tag issue, so I'll respond to a discussion back on page 36:
QUOTE (Aero @ Dec 12 2004, 04:03 PM)
That would work globally (i.e. on all songs).  By using the POD_ alternate metadata, you can specify exactly which songs you want the TAGZ string applied to, as well as potentially having different strings for each song.  Besides, have you seen how crowded the preference dialogs are?  smile.gif
*

I'd like it to work globally though.

Since all my files that have "album artist" tags are likely to have their own "artist" tag, that's two sets of information I don't want to lose. While it makes sense to copy the "album artist" to "POD_ARTIST", it would also make sense to first copy "artist" to (let's say) "POD_COMPOSER". I don't know if your solution would do one tag before the other. (..because if I copy album artist to artist then copy artist to composer, there would be two identical artists, and the track artist would disappear!)

something like this (pseudocode):
CODE
$if(%album artist%, $if(%artist%, $put(%POD_COMPOSER%, %artist%),) $put(%POD_ARTIST%, %album artist%),)


But I would eventually have to run this on my entire collection! Instead of cluttering up my tags any more than they already are, I think it would be a lot more elegant to implement it in the foo_pod interface. (BTW, the interface isn't cluttered -- you've only got three tabs, you've got room for plenty more!) biggrin.gif

I have recently been discussing this issue with someone via email, and I have decided to reverse my earlier decision and implement a global setting for the POD_ metadata items. If a song has a POD_* metadata item, it will override both the regular metadata and global POD_*. But by implementing a global POD_ metadata, you will be able to have the POD_ functionality without having to tag all of your songs.

So logic will go like this (using ARTIST as the example), going from lowest to highest priority: Song's ARTIST metadata -> Global POD_ARTIST -> Song's POD_ARTIST

I suppose I could generalize it even more and just set the default POD_ARTIST to %artist%... Also, I am going to add a 4th tab, "Advanced", for things like global POD_ settings and a few other more esoteric items that are on the General tab now.

QUOTE
QUOTE (Aero @ Mar 4 2005, 10:23 PM)
AFAIK, Foobar2000 0.8 doesn't support components with submenus like that.

Don't tell me I got a weird version of Foobar that supports submenus blink.gif

how I did it: preferences / core / main menu items -- then start adding groups under groups (image)
*


You are correct. For whatever reason, I missed the obvious way to do submenus, and now I know how to do this for both Component and context menus. I'll make sure to add some submenus in future releases.
Aero
QUOTE (jcarbonell @ Mar 6 2005, 11:20 AM)
I'm using 0.9.9d.

When I sync w/ "Sync with current playlist," foobar200 crashes when the sync is complete.  It gives me the dump:

Is this always reproducible, and do you know if any previous versions work? Previous versions are available at http://www.loodi.com/foo_pod_<version>.zip (that is an underscore between foo_pod and <version>).

For example, http://www.loodi.com/foo_pod_0.9.9c.zip
Marinmo
QUOTE (jkwarras @ Mar 4 2005, 02:49 AM)
You could however use the mod playcount plugin by kode54 (it's on the plugin thread) that doesn't add a tag to the file but uses a external database.
*


I seriously looked around for this but to no avail (yes, I tried searching.). Could you please provide me with a little bit more specific link?
Aero
QUOTE (Marinmo @ Mar 6 2005, 05:56 PM)
QUOTE (jkwarras @ Mar 4 2005, 02:49 AM)
You could however use the mod playcount plugin by kode54 (it's on the plugin thread) that doesn't add a tag to the file but uses a external database.
*


I seriously looked around for this but to no avail (yes, I tried searching.). Could you please provide me with a little bit more specific link?
*


jkwarras talks about it here.

It apparently works for most people, but I tried it out and it didn't work at all for me...
Aero
Version 0.9.9e is now available.

The major addition to this version is the concept of global alternate metadata. This allows you to set alternate metadata for all songs without having to actually add a POD_* metadata item to each song. Note that if a song has POD_* metadata, it is used in preference to the global alternate metadata. These settings are on the new Advanced preferences tab.

Another change that will probably be appreciated is that the progress dialogs are no longer modal. This means that the Foobar interface is accessible during foo_pod operations. This change also fixed the problem where the Foobar window would disappear behind other windows, even if you didn't have the Minimize Foobar option enabled.

Also, cancelling during a Send All Playlist operation now cancelled the whole transfer (rather than having to click cancel for each playlist).


From the Readme:
CODE
Version 0.9.9e - March 6, 2005
*  Fixed a crash when attempting to read 0 byte files on the iPod.  This was seen after updating an iPod Shuffle to the latest firmware.

*  Created a new Advanced tab in the Preferences dialog, and moved Console Debug Mode to it.  Also added items for Alternate Metadata (see below).

*  Added several Global Alternate Metadata fields, located on the Advanced tab in the Preferences.  This allows you to use Foobar TAGZ strings to configure how songs are displayed on the iPod, in a global fashion.  Note that if you have per-file alt metadata (POD_ARTIST, for example), that will be used in peference to the global alt metadata.

*  Added an option on the Main tab to optionally sort the iPod playlist.  This is enabled by default.

*  Made the progress dialogs non-modal.  This means that Foobar's interface will be accessible even during foo_pod operations.  This also fixes a problem where the Foobar window will disappear behind other windows when doing certain operations (like Load iPod Playlist To Foobar).

*  Moved some Component menu items to a new "Maintainance" submenu.

*  If the user clicks Cancel during a Send All Playlists To iPod operation, this will cancel the entire operations, instead of just cancelling the current playlist.

*  When writing to an iPod Shuffle, only warn the user once that it is full.
quazi
QUOTE (Aero @ Mar 6 2005, 04:27 PM)
Version 0.9.9e is now available.
*

it works!



this rocks, you rock (you never sleep either, that was fast!)
Aero
QUOTE (quazi @ Mar 6 2005, 07:14 PM)
it works!



this rocks, you rock (you never sleep either, that was fast!)
*

Thanks!

I actually did this at around 3PM local time, but you're right, I don't sleep!
jcarbonell
QUOTE (Aero @ Mar 6 2005, 05:07 PM)
QUOTE (jcarbonell @ Mar 6 2005, 11:20 AM)
I'm using 0.9.9d.

When I sync w/ "Sync with current playlist," foobar200 crashes when the sync is complete.  It gives me the dump:

Is this always reproducible, and do you know if any previous versions work? Previous versions are available at http://www.loodi.com/foo_pod_<version>.zip (that is an underscore between foo_pod and <version>).

For example, http://www.loodi.com/foo_pod_0.9.9c.zip
*



It's always reproducible w/ 9.9.d. It is also not reproducible w/ 9.9.e. Did you do an analysis of the stack trace to see what was dying?

(I didn't try 9.9.c, since 9.9.e doesn't seem to have the bug)
jcarbonell
QUOTE (Aero @ Mar 6 2005, 05:07 PM)
QUOTE (jcarbonell @ Mar 6 2005, 11:20 AM)
I'm using 0.9.9d.

When I sync w/ "Sync with current playlist," foobar200 crashes when the sync is complete.  It gives me the dump:

Is this always reproducible, and do you know if any previous versions work? Previous versions are available at http://www.loodi.com/foo_pod_<version>.zip (that is an underscore between foo_pod and <version>).

For example, http://www.loodi.com/foo_pod_0.9.9c.zip
*




Actually, I was looking at the stack traces that foobar catches, it seems that there are three crashes. It seems that I picked the weirdest one to initially report. This snippet occurs more often than the one that I originally posted:

(I've seen this crash about 3-4 times)

CODE
Stack dump analysis:
Address: 7C910D5Ch, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+000002CDh)
Address: 7C910E91h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+00000402h)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910570h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 77C2C2DEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C3h)
Address: 77C2C2E3h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C8h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12070h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C78h)
Address: 013DCA88h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E6038h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013DA443h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F884Fh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E6018h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D983Dh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F87E5h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E5FF8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D92F8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F8770h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E5FD8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D8B78h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F8710h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E8256h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F8A75h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013BC127h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA6DCh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA6C8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA50Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 7C9140C0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlDetermineDosPathNameType_U" (+00000721h)
Address: 013FAA74h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 013FA8DCh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA97Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FAA7Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA9ACh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA9DCh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA9E8h, location: "foo_pod", loaded at 013B0000h - 01448000h


Here's the third one (this occurred just once, just like the first one I reported):

CODE
Stack dump analysis:
Address: 7C910D5Ch, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "wcsncpy" (+000002CDh)
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 7C910570h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlFreeHeap" (+00000133h)
Address: 77C2C2DEh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C3h)
Address: 77C2C2E3h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "free" (+000000C8h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12070h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C78h)
Address: 77C35C94h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C12070h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "__non_rtti_object::`vftable'" (+00000C78h)
Address: 013D4AE7h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D4ADFh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D4ADFh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D4ADFh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E638Bh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D9865h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F87E5h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E5FF8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D92F8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F8770h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E5FD8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013D8B78h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F8710h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013E8256h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013F8A75h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013BC127h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA6DCh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA6C8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA50Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 7C9140C0h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "RtlDetermineDosPathNameType_U" (+00000721h)
Address: 013FAA74h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 7C90EE18h, location: "ntdll", loaded at 7C900000h - 7C9B0000h
Symbol: "strchr" (+00000117h)
Address: 013FA8DCh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA97Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FAA7Ch, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA9ACh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA9DCh, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 013FA9E8h, location: "foo_pod", loaded at 013B0000h - 01448000h
Address: 77E7610Ch, location: "RPCRT4", loaded at 77E70000h - 77F01000h
Symbol: "NdrTypeFlags" (+000003E4h)
Address: 77E76115h, location: "RPCRT4", loaded at 77E70000h - 77F01000h
Symbol: "NdrTypeFlags" (+000003EDh)
Address: 77E76098h, location: "RPCRT4", loaded at 77E70000h - 77F01000h
Symbol: "NdrTypeFlags" (+00000370h)
Address: 77E760A4h, location: "RPCRT4", loaded at 77E70000h - 77F01000h
Symbol: "NdrTypeFlags" (+0000037Ch)
Address: 01785AB9h, location: "foo_ui_columns", loaded at 01770000h - 017A7000h
Aero
QUOTE (jcarbonell @ Mar 6 2005, 10:25 PM)
Actually, I was looking at the stack traces that foobar catches, it seems that there are three crashes.  It seems that I picked the weirdest one to initially report.  This snippet occurs more often than the one that I originally posted:

(I've seen this crash about 3-4 times)

Are these crash dumps from 0.9.9d or e? I don't have the necessary file for debugging 0.9.9d handy, although I could recreate it if necessary. But if 0.9.9e fixed your problem (or at least you aren't experiencing it any more), then I'll wait to see if it happens in the future.
jkwarras
QUOTE (Aero @ Mar 6 2005, 04:21 PM)
It apparently works for most people, but I tried it out and it didn't work at all for me...
*

OT: What exactly doesn't work for you? Here with winXP I just had to:

1) Copy foo_playcount.dll to the component folder
2) Copy the sqlitle.dll into main foobar2000 folder
3) Start foobar2000, but the first time it didn't work, everything was grey.
4) Restart fb2k again and I could hit 'test' under playcount preferences and it worked. Everything has being since updated with playcounts.

I don't know much more about the plugin but if you have any question and I can help, go ahead smile.gif
quazi
(one thing about using strings as global alternate metadata)

If you have a string return nothing, it's not the same as leaving the entry blank (disabling it). Here's how I found out:

I never use the %composer% tag (except in a roundabout way when I'm transferring compilation discs with this latest version of foo_pod.) tongue.gif When an %album artist% tag exists, I'll copy %album artist% to Artist, and %artist% to Composer. If there's no %album artist% altogether, I'll just copy all the tags normally. So I came up with this for Composer:

CODE
$if(%album artist%,%artist%,%composer%)

Since most of my files don't have a %composer% tag, the iPod returns a "?" in the Composer menu. When I select it, it lists all the artists from all the tracks that are not on compilation discs (and that's most of my collection).

That's when it dawned on me "Oh, 'blank to disable'.. Since I can't leave it blank, I'll just remove %composer% from the string."

CODE
$if(%album artist%,%artist%,)

The question mark went away! So to prevent them from showing up when transferring files without proper tags, here's my attempt at a catch-all:



But here's something you wouldn't notice otherwise: When you load iPod playlists into Foobar and check their tags, Foobar is reporting them as having a blank Composer entry. (Since foo_pod doesn't edit files, I'm assuming that it's getting this data from the iTunesDB and not directly from the tags themselves.) Therefore when you have a string return nothing, it doesn't disable the tag (it's not the same as leaving it blank). But as long as it fixes the question mark problem, I'm happy! biggrin.gif
jcarbonell
QUOTE (Aero @ Mar 7 2005, 12:34 AM)
QUOTE (jcarbonell @ Mar 6 2005, 10:25 PM)
Actually, I was looking at the stack traces that foobar catches, it seems that there are three crashes.  It seems that I picked the weirdest one to initially report.  This snippet occurs more often than the one that I originally posted:

(I've seen this crash about 3-4 times)

Are these crash dumps from 0.9.9d or e? I don't have the necessary file for debugging 0.9.9d handy, although I could recreate it if necessary. But if 0.9.9e fixed your problem (or at least you aren't experiencing it any more), then I'll wait to see if it happens in the future.
*



All of these crashes are w/ 0.9.9d. (BTW, foo_pod is much better than iTunes.)
Aero
QUOTE (quazi @ Mar 7 2005, 06:43 AM)
(one thing about using strings as global alternate metadata)

If you have a string return nothing, it's not the same as leaving the entry blank (disabling it). Here's how I found out:

<snip>

QUOTE
But here's something you wouldn't notice otherwise: When you load iPod playlists into Foobar and check their tags, Foobar is reporting them as having a blank Composer entry. (Since foo_pod doesn't edit files, I'm assuming that it's getting this data from the iTunesDB and not directly from the tags themselves.) Therefore when you have a string return nothing, it doesn't disable the tag (it's not the same as leaving it blank). But as long as it fixes the question mark problem, I'm happy!  biggrin.gif
*

I guess I didn't consider that situation - I'm just running the TAGZ string operation and setting the metadata to the results. And by setting the metadata, this is really temporary metadata only - it is never written to a file, and it will be replaced by the real file's metadata if you force a reload from the file.

As for the empty metadata, I can go either way - either just store the results of the TAGZ string, or ensure it is non-empty before creating the metadata item.
ElBooto
QUOTE (quazi @ Mar 7 2005, 11:43 PM)
When you load iPod playlists into Foobar and check their tags, Foobar is reporting them as having a blank Composer entry.
*


I've seen the same behaviour after running masstagger scripts, that is blank fields appearing in the database. It seems Foobar will not write these blank fields out to a file though, so even if foo_pod would want to write this metatdata to a file the blank fields are still harmless. As an aside, this is why you can't just add a 'various' tag to a file, you must do 'various=something'.
jkwarras
@Aero: Do you still have problems with mod foo_playcount.dll? rolleyes.gif
jkwarras
Hi,

I'm planning to buy an ipod shuffle for my girlfriend who already uses foobar2000. Sorry if this has already been asked but does foo_pod support the 'autofill' feature?
quazi
QUOTE (Aero @ Mar 7 2005, 09:12 PM)
As for the empty metadata, I can go either way - either just store the results of the TAGZ string, or ensure it is non-empty before creating the metadata item.
*

I'm leaning toward ensuring that they're non-empty. On the off-chance that somebody wants to count the number of %such and such% tags in the iTunesDB, not knowing that most of them are empty might skew their results. That's the only reason I can think of.
Aero
QUOTE (jkwarras @ Mar 9 2005, 03:56 AM)
@Aero: Do you still have problems with mod foo_playcount.dll?  rolleyes.gif
*

Yes, I have never been able to get it to work. From looking at the source code, it wouldn't work as-is with foo_pod anyway, so I haven't put a lot of work into figuring out why the playcount isn't working.
Aero
QUOTE (jkwarras @ Mar 9 2005, 05:05 AM)
I'm planning to buy an ipod shuffle for my girlfriend who already uses foobar2000. Sorry if this has already been asked but does foo_pod support the 'autofill' feature?
*

It doesn't have the OttoFill feature in there yet, but it won't take too much work to finish it. A quick and dirty way to do it run Delete All iPod Music, then load a playlist in Foobar, randomize it (Playlist->Sort->Randomize), select the first 150-300 songs or so, and right click Send Files To iPod.

I also have a Shuffle, and one thing I have been meaning to implement is an iPod -> iPod Shuffle variation of OttoFill. The idea here is that you could plug in both your iPod and iPod Shuffle, select a playlist on the iPod (including smart playlists) or just select all files, and foo_pod would randomly copy files directly from the iPod to the Shuffle.

One interesting thing I have done with my Shuffle is I have copied a stripped down and compressed (with UPX) version of Foobar to the Shuffle. Then I have an AutoRun.inf file on the Shuffle that sets the drive icon to a picture of a Shuffle, and when you double click on the drive, it automatically launches Foobar.
jkwarras
QUOTE (Aero @ Mar 9 2005, 08:46 AM)
From looking at the source code, it wouldn't work as-is with foo_pod anyway, so I haven't put a lot of work into figuring out why the playcount isn't working.
*

Damn, it seems that I'll never have playcount sync between fb2k and ipod.... wink.gif

BTW, thanks for the info on the foo_pod shuffle support smile.gif
hunted
QUOTE (Aero @ Mar 6 2005, 04:27 PM)
Version 0.9.9e - March 6, 2005
*  Added an option on the Main tab to optionally sort the iPod playlist.  This is enabled by default.
*

What is it using to sort the playlist? could it use the cfgvar from CORE/Adding New Files/Sort Incoming Files By? or have its own cfgvar? because it isn't sorting my multi disc albums correctly.
reardon
QUOTE (Aero @ Mar 6 2005, 04:27 PM)
Version 0.9.9e is now available.

The major addition to this version is the concept of global alternate metadata.  This allows you to set alternate metadata for all songs without having to actually add a POD_* metadata item to each song.  Note that if a song has POD_* metadata, it is used in preference to the global alternate metadata.  These settings are on the new Advanced preferences tab.


Great update

+R
Aero
QUOTE (hunted @ Mar 9 2005, 05:44 PM)
QUOTE (Aero @ Mar 6 2005, 04:27 PM)
Version 0.9.9e - March 6, 2005
*  Added an option on the Main tab to optionally sort the iPod playlist.  This is enabled by default.
*

What is it using to sort the playlist? could it use the cfgvar from CORE/Adding New Files/Sort Incoming Files By? or have its own cfgvar? because it isn't sorting my multi disc albums correctly.
*


It is a cfg_var, but there currently isn't a public interface in the foo_pod Preferences for changing it. There used to be a textbox that you could set the sort format, but I took it out when the Main Preferences tab got too crowded. Now that some space has been freed up by the Advanced tab, I'll put it back in for the next release.

It uses "%ARTIST% - %ALBUM% - $num(%TRACKNUMBER%,3) - %TITLE%" to sort the playlist.
quazi
possible bug: read-only files freak out the iPod, and foo_pod doesn't alter file attributes on the fly.

edit: After re-testing this, I found out that there's not a problem with read-only files. There's one album that my iPod won't let me upload in its entirety. If I upload all the tracks at once, the iPod menus will freak out (for example, the Artist menu will not be shown in alphabetical order, and will display multiples). If I upload the album one track at a time, disconnecting after each one, the iPod menus won't freak out until after I have uploaded all of the tracks. It doesn't matter how many I upload at once, and it doesn't matter what order I upload them! Once I get that last file on there, it goes screwy.

But I can transfer those exact same files with iTunes just fine. ..and all at once.
arty
Hiya, great plugin for foobar which I and my little brother have been using with our iPods for years smile.gif

My other brother has just got in on the act and bought himself a 30GB iPod Photo tongue.gif He also uses foobar and I've set up foo_pod for him; he's successfully transferred music to his iPod and is pretty happy with it.

However, as he has a Photo he's wanting to know if it's possible to transfer album cover art across in foo_pod. I had a look in the options and couldn't see a way of doing it. He's tried doing it with iTunes and it seemed to work through that (I don't touch iTunes so I'm not certain how it worked) but he'd really rather stick to the one program for transferring music to his iPod.

I personally suspect that iTunes reads embedded JPEGs in ID3v2 tags, which I believe foobar doesn't support natively. However, would it be possible to add this feature to foo_pod through some method of selecting a JPEG for each album as you transfer it across? I'm not sure exactly how it'd work but it'd be a nice feature and make him very happy.

Thanks for a superb plugin smile.gif

arty
Otto42
QUOTE (arty @ Mar 10 2005, 10:01 AM)
However, as he has a Photo he's wanting to know if it's possible to transfer album cover art across in foo_pod. I had a look in the options and couldn't see a way of doing it. He's tried doing it with iTunes and it seemed to work through that (I don't touch iTunes so I'm not certain how it worked) but he'd really rather stick to the one program for transferring music to his iPod.

At present, foo_pod lacks this capability. How to do it has been figured out, more or less, but there's some limitations that make actually doing it a bit difficult.

QUOTE
I personally suspect that iTunes reads embedded JPEGs in ID3v2 tags, which I believe foobar doesn't support natively.
*

And there's the limitation, pretty much. In order for foo_pod to implement something like this at present, it'd have to have ID3v2 reading code built into it in order to get the JPG/PNG out of the tag with possibly an option to read JPGs in the same folder if somebody happens to be using that system (Windows Media Player and several other programs store album art in folder.jpg, in the same folder as the song/album).
Otto42
QUOTE (quazi @ Mar 10 2005, 09:19 AM)
possible bug: read-only files freak out the iPod, and foo_pod doesn't alter file attributes on the fly.

edit: After re-testing this, I found out that there's not a problem with read-only files. There's one album that my iPod won't let me upload in its entirety. If I upload all the tracks at once, the iPod menus will freak out (for example, the Artist menu will not be shown in alphabetical order, and will display multiples). If I upload the album one track at a time, disconnecting after each one, the iPod menus won't freak out until after I have uploaded all of the tracks. It doesn't matter how many I upload at once, and it doesn't matter what order I upload them! Once I get that last file on there, it goes screwy.

But I can transfer those exact same files with iTunes just fine. ..and all at once.
*

Make a copy of the iTunesDB file from the iPod just before and after you load that last file on there and it goes all wonky. Send it to me, and I'll take a gander at it, see if there's anything obvious about what's up there.

Just make sure that you have a copy of the iTunesDB when it works and a copy of the iTunesDB when it goes screwy. From those I should be able to spot the problem. Maybe. wink.gif
hunted
QUOTE (Aero @ Mar 9 2005, 06:54 PM)
Now that some space has been freed up by the Advanced tab, I'll put it back in for the next release.
*
Thanks
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.