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
rexy
Thanks for the new version, Aero! I really appreciate the effort you put into foo_pod and I'm sure everyone else does too.
Say, does the iTunesDB maintain the data about which song is currently being played? The reason I ask this is I was wondering if it is possible to make it so when you send a playlist to the iPod, you can set it so when you disconnect the iPod, it will be paused at the beginning of the song that was playing on foobar when you were sending the playlist. So, like if you have your playlist in foobar and it's playing and then you're done on the computer and you need to go somewhere so you send your playlist to the iPod and then just disconnect and press play. Otherwise, you would need to go into the playlists, search for your playlist, search for the song you were listening to and play.
So, I was just wondering if it's possible. This isn't really a request because I know you got better things to implement into foo_pod in the time you dedicate to it.
Maybe if it is possible, I would try to write a small menu item component that would look at the playlist that is now playing in foobar, ask foo_pod for the iPod playlists list, check if there's a playlist of the same name there as the foobar one, check which song is playling, check if that song is in the iPod playlist, and then set the iPod to be paused on the beginning of it (or even at the time offset you're at). The last step would be the tricky one, though, as I have no idea where it is in the DB if it is there at all.
Otto42
QUOTE (rexy @ Dec 5 2004, 11:57 AM)
Say, does the iTunesDB maintain the data about which song is currently being played? The reason I ask this is I was wondering if it is possible to make it so when you send a playlist to the iPod, you can set it so when you disconnect the iPod, it will be paused at the beginning of the song that was playing on foobar when you were sending the playlist.

Nope. Can't be done. There's no support on the iPod side for this sort of thing.
Aero
QUOTE (rexy @ Dec 5 2004, 11:57 AM)
Thanks for the new version, Aero! I really appreciate the effort you put into foo_pod and I'm sure everyone else does too.

Thanks!

QUOTE
Say, does the iTunesDB maintain the data about which song is currently being played? The reason I ask this is I was wondering if it is possible to make it so when you send a playlist to the iPod, you can set it so when you disconnect the iPod, it will be paused at the beginning of the song that was playing on foobar when you were sending the playlist. So, like if you have your playlist in foobar and it's playing and then you're done on the computer and you need to go somewhere so you send your playlist to the iPod and then just disconnect and press play. Otherwise, you would need to go into the playlists, search for your playlist, search for the song you were listening to and play.
So, I was just wondering if it's possible. This isn't really a request because I know you got better things to implement into foo_pod in the time you dedicate to it.

I don't believe that is possible. Audiobooks (.m4b and .aa) files have a bookmark feature, so you can be playing a song in iTunes (foo_pod doesn't directly support bookmarks), and when you get to that song on the iPod, it will pick up at the same spot. But I don't know of any way to specify which song to start up with.

QUOTE
Maybe if it is possible, I would try to write a small menu item component that would look at the playlist that is now playing in foobar, ask foo_pod for the iPod playlists list, check if there's a playlist of the same name there as the foobar one, check which song is playling, check if that song is in the iPod playlist, and then set the iPod to be paused on the beginning of it (or even at the time offset you're at). The last step would be the tricky one, though, as I have no idea where it is in the DB if it is there at all.
*

I think the way it would have to be implemented is you would have a Snapshot menu item in foo_pod, which would look at the current playlist and if the song is on the iPod, create a single song "Snapshot" or "Currently Playing" playlist on the iPod containing that song. Then you could always go to that playlist to play the last playing song in Foobar. Otherwise, I don't see how it could be done...although, maybe it would be a good use for the Notes feature on the iPod. There could be a snapshot notes feature in foo_pod that would create a notes file listing the last 10,20,50 songs played in Foobar, in reverse chronological order.

Actually, you wouldn't need foo_pod to do this at all - just use the History component's interface to get the last played song list, use foo_pod's interface to get the iPod's drive letter, then build the Notes file and copy it yourself. If someone is interested, I'd be willing to help.
mobyduck
Sorry for the slightly OT post, but I'd like to know how many iPod/foo_pod users are using the new firmware (3.0.2 - 15-NOV-2004).

I fought with it for one day (I have a 20GB click-wheel) and have now switched back to the previous release.

Alessandro
FreydNot
QUOTE (mobyduck @ Dec 7 2004, 01:44 AM)
Sorry for the slightly OT post, but I'd like to know how many iPod/foo_pod users are using the new firmware (3.0.2 - 15-NOV-2004).
*


I'm using it on my 4th gen 20Gig now. I haven't noticed anything unusually wrong. The newest version of foo_pod was giving me some hard crashes (detailed above) but those have gone away once I rebuilt the database on the iPod (a clean wipe and total re-sync).

What problems did you have?
mobyduck
Well, I tried it on both my home PC (XP SP1) and at work (W2k SP4).

At home, when I attached the iPod the first message I saw was an error from foo_looks (blink.gif) complaining about an unrecognized file on the device.

Then I tried creating a couple of Smart Playlists. No errors, but:

1) I couldn't disconnect the device (neither closing foobar nor via the tray icon)
2) My playlist was empty (but the songs where still physically present on the iPod

So, I tried re-synching and... boom! the PC rebooted (did 3 or 4 times).

On W2k, with iPod connected, I was having problems even at startup: OS complaining about an unrecognized format device. So I didn't bother to test any further.

Sorry but I don't remember the exact error messages I got.

I should also mention that I tried both the latest foo_pod and the previous release.

After downgrading, all problems gone except that (on W2k) it seems that disconnect no longer works and I have to shutdown the PC crying.gif: anyone knows how can I fix that?

Alessandro
mobyduck
QUOTE (mobyduck @ Dec 7 2004, 02:40 AM)
it seems that disconnect no longer works and I have to shutdown the PC crying.gif: anyone knows how can I fix that?
It's NAV: stopping the service I am now able to disconnect the iPod. Wasn't necessary before, though... huh.gif

Alessandro
Aero
Version 0.9.6 is now available.

This is another release that deals mostly with playlists. The major enhancements are the ability to open all iPod playlists in Foobar, as well a new Update Playlist context menu item, and the ability to create normal playlists in the Playlist Editor, as well as removing songs.

Here is how I have been using the new features to manage playlists and songs:

First, I still create a new iPod playlist by creating a Foobar playlist, then using the Send Playlist To iPod feature. You can also create new blank playlists in the Playlist editor, if you choose.

When I want to add, remove, or reorder songs in an iPod playlist, I select the Open iPod Playlists As Tabs menu item. The iPod playlists are shown as the name of the playlist plus the " [iPod]" suffix. Don't edit this...

After I add/remove/move songs in an iPod playlist, I right click on one of those songs and select the foo_pod/Update Playlist On iPod menu item. This will copy any files not already on the iPod, as well as updating the playlist.

To delete a playlist, just use the Playlist Editor. It is also possible to delete (but not add or reorder) songs in the Playlist Editor.


From the Readme:
CODE
Version 0.9.6 - December 8, 2004
*  Improved the playlist editor by adding the ability to remove songs (highlight one or more songs and press the delete key).

*  Added the "Open iPod Playlist As Tabs" feature in the foo_pod Component menu.  This creates a new Foobar playlist for each playlist on the iPod.  These playlists are noted by the suffix "  [iPod]" at the end of the playlist name.  There is also a "Close iPod Playlist Tabs", which will close all iPod playlists in Foobar.
 
  The iPod playlists can be edited (songs added, removed, reordered) like any Foobar playlist, and when you are done, right click on a song in the playlist and select the "Update Playlist On iPod" option.  This will copy files (if necessary) to the iPod and create the specified playlist.

*  Added the ability to create both normal and smart playlists from the Playlist Editor.  Normal playlists can now be created directly in the Playlist Editor, or via the Send Playlist To iPod feature.
mobyduck
QUOTE (Aero @ Dec 8 2004, 04:38 PM)
Version 0.9.6 is now available.
Hi Aero.

Thanks for your work!

I have just downloaded the latest version and synch'ed my playlist (I'm experimenting with per-track ReplayGain).

The files were all transferred (presuming from their date on the iPod) but at the end I got a crash and foobar closed.

I tried the synch a second time: no files sent but another crash:
CODE
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 00433CAAh
Access violation, operation: read, address: 0000000Eh
Call path:
WinMain=>app_mainloop=>playback_format_title_ex=>titleformat_i::run
This is the first crash logged by this instance.
Code bytes (00433CAAh):
00433C6Ah:  5F 80 24 06 00 5E 5B C2 08 00 56 8B 74 24 08 56
00433C7Ah:  E8 95 4D 00 00 59 8B C8 EB 11 0F BE 04 31 50 E8
00433C8Ah:  9D FE FF FF 83 C4 04 84 C0 75 07 49 79 EC 33 C0
00433C9Ah:  5E C3 8D 41 01 5E C3 8B 51 14 4A 78 17 8B 49 04
00433CAAh:  0F BE 04 11 50 E8 77 FE FF FF 83 C4 04 84 C0 75
00433CBAh:  06 4A 79 EC 33 C0 C3 8D 42 01 C3 56 33 F6 39 71
00433CCAh:  14 76 2A 8B 41 04 8D 14 06 8A 02 3A 44 24 0C 74
00433CDAh:  16 0F BE C0 50 E8 66 FE FF FF 83 C4 04 84 C0 74
Stack (0012EE78h):
0012EE58h:  0012FE80 B25B7948 8199E054 B25B7C1C
0012EE68h:  8045E9F0 80405558 FFFFFFFF B25B7C2C
0012EE78h:  0042EE16 0000000E 0012FAA8 0012EF54
0012EE88h:  0012EEA8 004467B0 00000000 0012EF90
0012EE98h:  00434896 01C046B8 0012EED0 02F84748
0012EEA8h:  78462A06 007E0000 02F84740 02F84748
0012EEB8h:  0012EEAC 007E0688 0012EF64 78461F55
0012EEC8h:  78462A40 FFFFFFFF 0012EF00 02F84748
0012EED8h:  78462A06 007E0000 02F84740 0012EF14
0012EEE8h:  01389598 78462A06 007E0000 01389590
0012EEF8h:  01389598 0012EEF0 007E0688 0012EFA8
0012EF08h:  78461F55 78462A40 FFFFFFFF 0012EFB8
0012EF18h:  784AC71E 007E0718 0043946C 00000000
0012EF28h:  00000010 00000010 00000000 0000000F
0012EF38h:  00000000 0012EF78 0042E8A1 0012EF55
0012EF48h:  01BE6388 01175678 0012F0C0 7269645F
0012EF58h:  6F746365 616E7972 0000656D 0012F04D
0012EF68h:  0012F084 0012F05B 0012FAA8 0012FAA8
0012EF78h:  0012F040 0042E411 0012EF54 0000000E
0012EF88h:  0012F0C0 00000010 0012F084 0012F04C
Registers:
EAX: 00000000, EBX: 00000000, ECX: 00000000, EDX: 0000000E
ESI: 10002911, EDI: 0012EF55, EBP: 0012EF3C, ESP: 0012EE78
Crash location: "foobar2000", loaded at 00400000h - 00452000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00452000h
ntdll                            loaded at 78460000h - 784E2000h
KERNEL32                         loaded at 796B0000h - 7976A000h
USER32                           loaded at 77E10000h - 77E75000h
GDI32                            loaded at 77F40000h - 77F7B000h
ole32                            loaded at 77A50000h - 77B3F000h
RPCRT4                           loaded at 77120000h - 77191000h
ADVAPI32                         loaded at 79260000h - 792C2000h
COMCTL32                         loaded at 71710000h - 71794000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 76B10000h - 76B4E000h
SHLWAPI                          loaded at 63180000h - 631E9000h
msvcrt                           loaded at 78000000h - 78045000h
SHELL32                          loaded at 77590000h - 777D9000h
foo_ape                          loaded at 00800000h - 0081F000h
foo_cdda                         loaded at 00820000h - 0082E000h
foo_clienc                       loaded at 00830000h - 0083B000h
foo_console                      loaded at 00840000h - 00847000h
foo_dsp_extra                    loaded at 00850000h - 00865000h
foo_flac                         loaded at 00870000h - 0088C000h
foo_infobox                      loaded at 00890000h - 008A3000h
foo_info_samurize                loaded at 008B0000h - 008CD000h
foo_input_std                    loaded at 008E0000h - 00982000h
MSACM32                          loaded at 773F0000h - 77403000h
WINMM                            loaded at 77550000h - 77581000h
SYNCOR11                         loaded at 6BD00000h - 6BD0D000h
foo_looks                        loaded at 00A10000h - 00A7D000h
gdiplus                          loaded at 70D00000h - 70E91000h
MSVCP60                          loaded at 780C0000h - 78121000h
foo_lyricshow                    loaded at 00A90000h - 00AA7000h
foo_masstag                      loaded at 00AB0000h - 00AC4000h
foo_mod                          loaded at 00AD0000h - 00AD9000h
BASS                             loaded at 00AE0000h - 00B3A000h
foo_output_std                   loaded at 00B40000h - 00B49000h
foo_out_dsound_ex                loaded at 00B50000h - 00B59000h
DSOUND                           loaded at 51080000h - 510DA000h
VERSION                          loaded at 77820000h - 77827000h
LZ32                             loaded at 75980000h - 75986000h
foo_out_ks                       loaded at 00B70000h - 00B7B000h
SETUPAPI                         loaded at 783C0000h - 78450000h
USERENV                          loaded at 79060000h - 790C2000h
foo_playlistfind                 loaded at 00B80000h - 00B89000h
foo_pod                          loaded at 00B90000h - 00C00000h
OLEAUT32                         loaded at 779B0000h - 77A4B000h
foo_read_http                    loaded at 01010000h - 01019000h
WS2_32                           loaded at 74FE0000h - 74FF4000h
WS2HELP                          loaded at 74FD0000h - 74FD8000h
foo_repeat                       loaded at 01020000h - 0103F000h
foo_rgscan                       loaded at 01040000h - 0104D000h
foo_shuffle                      loaded at 01050000h - 0105B000h
foo_speex                        loaded at 01060000h - 01078000h
foo_ui_std                       loaded at 01080000h - 01097000h
foo_wavpack                      loaded at 010A0000h - 010B2000h
CLBCATQ                          loaded at 72C90000h - 72D20000h
msi                              loaded at 01E60000h - 02064000h
wdmaud                           loaded at 77540000h - 77548000h
msacm32                          loaded at 773E0000h - 773E8000h
KsUser                           loaded at 5EF80000h - 5EF84000h
browseui                         loaded at 71500000h - 715FD000h
browselc                         loaded at 71960000h - 71973000h
imagehlp                         loaded at 77920000h - 77943000h
DBGHELP                          loaded at 729A0000h - 729CD000h

Stack dump analysis:
Address: 0042EE16h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 004467B0h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00434896h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 78462A06h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78461F55h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462A40h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462A06h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462A06h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78461F55h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462A40h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 784AC71Eh, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 0043946Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E8A1h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E411h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 78461F55h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462528h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78001E00h, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 78461F55h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462518h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78001532h, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 0042EE5Eh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 7800BD6Ah, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 78032250h, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 780014CFh, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 0042E37Dh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E391h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E300h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E31Eh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042AE70h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042D617h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043946Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E557h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E5B6h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 78462A06h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78461F55h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78462518h, location: "ntdll", loaded at 78460000h - 784E2000h
Address: 78001532h, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 78001532h, location: "msvcrt", loaded at 78000000h - 78045000h
Address: 0042E391h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00420029h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E31Eh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042AE70h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042B3FAh, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0043946Ch, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 0042E5B6h, location: "foobar2000", loaded at 00400000h - 00452000h
Address: 00433C21h, location: "foobar2000", loaded at 00400000h - 00452000h

Version info:
foobar2000 v0.8.3
UNICODE
Alessandro
jkwarras
Thanks Aero! smile.gif
jackalope
when i try and send to the ipod i just get an "ERROR (foo_pod) : Error #3 copying C:\Documents and Settings\schuyler\My Documents\My Music\iTunes Music\Frantic Situations (CU)\Bridge Commander Funnies\Earl Grey Bass.mp3 to f:\iPod_Control\Music\F46\Earl Grey Bass.mp3" or whatever it is im trying to send...

im useing a brand new ipod(got in the mail today), and up to date everything in foobar

any help?
Aero
QUOTE (jackalope @ Dec 9 2004, 06:59 PM)
when i try and send to the ipod i just get an "ERROR (foo_pod) : Error #3 copying C:\Documents and Settings\schuyler\My Documents\My Music\iTunes Music\Frantic Situations (CU)\Bridge Commander Funnies\Earl Grey Bass.mp3 to f:\iPod_Control\Music\F46\Earl Grey Bass.mp3" or whatever it is im trying to send...
*


Error #3 is "The system cannot find the path specified.", meaning that foo_pod could find the source file. Make sure that the file exists (can you play it in Foobar?), and if it does exist and can be played, also check that f:\iPod_Control\Music\F46 exists.
jackalope
it does exist, i can now send music to the ipod, but nothing shows up on it(it shows the transfureing window, but nothing happens on the ipod)
MOCKBA
Sorry if it's a bit of topic, where can I get sources of foo_pod? I maintain some program decoding iTunesDB and I have some dark spots, so sources could help me better understand iTunesDB format.
Aero
QUOTE (MOCKBA @ Dec 10 2004, 07:37 AM)
Sorry if it's a bit of topic, where can I get sources of foo_pod? I maintain some program decoding iTunesDB and I have some dark spots, so sources could help me better understand iTunesDB format.
*

foo_pod is not open source, but the library that it uses - iPodDB - is. Everything I have learned about the database format has gone back into iPodDB, and since foo_pod is really just Foobar <-> iPodDB glue, it wouldn't be too useful.

Even better than the source code is the iTunesDB Wiki that Otto42 put up. In fact, I'd start there since it is a lot easier to understand than the source code.
infrared
Is there a good place we could make a Wiki for foo_pod? I find it really hard to sift through all these pages trying to find what I think are simple answers. I'll help maintain and get it started if anyone knows of a good host.

Besides that, I was wondering how foo_pod is designed to update our iPod. I have yet to use the "sync on playlists" function since it seems that it will want to have the files on the active playlist on the iPod, deleting the rest. When I try it I always select "no" and chicken out. Right now, I create a new playlist, then send files to iPod, then send playlist to iPod. Surely this program has a better way of doing things. How is it supposed to be done?
Xecter
Would it be possible to use foobar formatting strings to determine which text is sent to each field?

IE:

Artist (On the ipod) = $if(%album artist%,%album artist%,%artist%)
Album (on the ipod) = %album% [%date/year%]
Songs (on the ipod) = $num(%tracknumber%). %title%
Rating (ipod) = $div(%PLAY_COUNTER%,$put(play_counter_divider))

etc.


isn't this technically possible, since foo_pod builds the itunesDB on the ipod?
infrared
QUOTE (Xecter @ Dec 10 2004, 08:42 PM)
Would it be possible to use foobar formatting strings to determine which text is sent to each field?
*


Not sure about that one. I know that you can use the "Alternate Metadata Prefix" in the foo_pod options. From the Readme.txt:

CODE
The alternate metadata feature now allows for TAGZ strings in the metadata.  This allows you to have dynamic metadata created by any legal TAGZ string.

and
CODE
Added a preference item to append to certain metadata items, which allows the user to use a second set of metadata items for the iPod while not distrubing the regular metdata.

The following metadata items are supported: TITLE, ARTIST, ALBUM, GENRE, COMMENT, COMPOSER, and TRACKNUMBER

For example, if the Alternate Metadata Prefix setting is "POD_" and "POD_ARTIST" is set, the artist field on the iPod will be the value from POD_ARTIST.  Otherwise, it will fallback to ARTIST.
infrared
QUOTE (Aero @ Dec 5 2004, 03:45 AM)
Version 0.9.5 (final) is now available.
Also new is the much asked for 3G Sound Check Line Out mode. 
*


I'm curious. What is this line-out port you're speaking of. Do you mean the sendstation's lineout? I have the 3G but don't have an extra lineout port.
musicmusic
QUOTE (Aero @ Nov 28 2004, 02:45 AM)
QUOTE (SNAG @ Nov 27 2004, 06:53 PM)
Another question: I've also uploaded some songs that do not have a album title. When viewed on iTunes 4.7 (I forgot to state the version..  biggrin.gif), they display as [Album].

Just to ask, could this be due to foo_pod, or could this be due to my playlist formatting strings?
*

This is foo_pod's doing. If there isn't an artist metadata item, foo_pod uses [Artist], and if there isn't an Album, it sets the album metadata (in the iTunesDB database only) to [Album].

This is so you can easily find songs on the iPod which don't have album or artists. Sort of a catch-all artist/album.
*
Hi, I also noticed this, do you think you could make it optional or change it to something like [None] or [Unspecified]?
Aero
QUOTE (infrared @ Dec 10 2004, 06:10 PM)
Is there a good place we could make a Wiki for foo_pod?  I find it really hard to sift through all these pages trying to find what I think are simple answers.  I'll help maintain and get it started if anyone knows of a good host.

Yeah, a Wiki would be perfect for the type of documentation that foo_pod really needs.

QUOTE
Besides that, I was wondering how foo_pod is designed to update our iPod.  I have yet to use the "sync on playlists" function since it seems that it will want to have the files on the active playlist on the iPod, deleting the rest.  When I try it I always select "no" and chicken out.  Right now, I create a new playlist, then send files to iPod, then send playlist to iPod.  Surely this program has a better way of doing things.  How is it supposed to be done?
*

The way I tend to use foo_pod is Send File/Send Playlist and Delete Files From iPod, along with the newly enabled Playlist Editor to delete playlists. I actually never use the Sync functions, and therefore, they get much less testing and more likely to have bugs. But in general, sync should work but it is much more dangerous (as in deleting files that you didn't expect) than Send File and deleting files manually.
Aero
QUOTE (Xecter @ Dec 10 2004, 10:42 PM)
Would it be possible to use foobar formatting strings to determine which text is sent to each field?

IE:

Artist (On the ipod) = $if(%album artist%,%album artist%,%artist%)
Album (on the ipod) = %album% [%date/year%]
Songs (on the ipod) = $num(%tracknumber%). %title%
Rating (ipod) = $div(%PLAY_COUNTER%,$put(play_counter_divider))


infrared's reply was correct - the alternate metadata feature does exactly what you are looking for (as of version 0.9.5).

For example, to use your Artist string, you would add a new metadata item to your songs named POD_ARTIST. The prefix is configurable, but defaults to POD_. Then set it to:$if(%album artist%,%album artist%,%artist%) and you should be set.
Aero
QUOTE (musicmusic @ Dec 11 2004, 09:30 AM)
QUOTE

This is foo_pod's doing.  If there isn't an artist metadata item, foo_pod uses [Artist], and if there isn't an Album, it sets the album metadata (in the iTunesDB database only) to [Album].

This is so you can easily find songs on the iPod which don't have album or artists.  Sort of a catch-all artist/album.
*
Hi, I also noticed this, do you think you could make it optional or change it to something like [None] or [Unspecified]?
*

I suppose I could make it configurable, with a blank string meaning to disable the feature completely. I'll try to squeeze it into the preferences somewhere...
Aero
And just a heads up for upcoming features. I got an iPod Photo as an early Christmas present (don't tell my wife that I already opened it! cool.gif), and I have been figuring out the new database format and how album art works.

First of all, be very wary of using iTunes to add album art to your music. It stores the art as a JPEG in a ID3v2 tag in the MP3 song itself (I'm sure there is something similar for AAC, and I have no idea what they do for WAV and AIFF). If you do this directly on the files already on the iPod, it will create problems for foo_pod since the song will have changed and foo_pod will send it again. I'm not sure why it puts the album art in the file itself, because the iPod doesn't access this directly - it uses pre-sized thumbnail images.

Also, since there isn't a really good way to use the Foobar interface to access album art, foo_pod's artwork editor will be a separate application, almost definitely written in .NET. This will mean you will need the .NET Framework on your computer if you want to use the artwork editor (and I don't want to hear any complaints about needing it, either...).

Although I have the db and image formats figured out, the artwork editor hasn't even been started, and won't be available until at least 2005.
jackalope
QUOTE (jackalope @ Dec 10 2004, 08:16 AM)
it does exist, i can now send music to the ipod, but nothing shows up on it(it shows the transfureing window, but nothing happens on the ipod)
*


ok, it does add it to albums now, but if its just a playlist(like my favorits playlist) it does not add it to the playlist folder
Lew_Zealand
QUOTE (Aero @ Dec 11 2004, 11:13 AM)
QUOTE (infrared @ Dec 10 2004, 06:10 PM)
Is there a good place we could make a Wiki for foo_pod?  I find it really hard to sift through all these pages trying to find what I think are simple answers.  I'll help maintain and get it started if anyone knows of a good host.

Yeah, a Wiki would be perfect for the type of documentation that foo_pod really needs.


[quote]

Aero, my [now public] offer to assist with documentation still stands, although now it would probably need to wait until the new year, and I can't offer to host the wiki myself.
infrared
QUOTE (Lew_Zealand @ Dec 11 2004, 12:12 PM)
Aero, my [now public] offer to assist with documentation still stands, although now it would probably need to wait until the new year, and I can't offer to host the wiki myself.
*


Sweet! I'll get the Wiki started on the wiki here and I'll let you know. Hopefully in a week(ish).
infrared
How is the iPod (foo_pod) playlist supposed to work? If for example, I changed the file (and database) locally and I updated the tags in the mp3. How is the best way to get those changes reflected on the iPod?

I would guess that if loaded the iPod's playist, and press "sync playlist" it would update the database (and files I suppose) on the iPod. I guess what I'm asking is if the database on both the PC and iPod are linked so changes are reflected when they need to be updated. I hope I don't sound harsh because that's not my intention
FreydNot
I tend to use foo_pod differently then aero does. I keep a big folder on my PC called "Songs on iPod" which contains (can you guess?) copies of all of the songs which are on my iPod. It is intended to be a mirror of what should be on the pod.

When I get a new CD ripped and all formated the way I like it I put the files into a subdirectory under "Songs on iPod". Then I open up foobar make a new play list, rename it to ALL, and drop the "Songs on iPod" folder into the playlist. This results in a single playlist with all the songs I want on the iPod. Next I do a Sync Current Playlist to transfer the new songs over and update any database changes to the iPod.

Using this method I can easily re-create my iPod from scratch if I've goofed up the database file (or more likely deleted a bunch of songs so I could move a large file from work to home). It also has the benifit of never keeping orphined songs on the iPod.

The down side is that things like ratings and play counts that were added on the iPod get lost during the sync. Aero, is this still true?

One other thing to watch out for is the hidden Foo_pod Warning box. When you do a sync which will remove many songs from the iPod it pops up a box asking for confirmation. For some reason on my PC that dialog box always gets buried under the foobar window. Once you realise nothing is happening, you have to go find the box and click yes (or no).

Thats my take on the best way to use foo_pod, YMMV.
.zolder
maybe a bit offtopic, but.. My method is comparible, yet slightly better imo wink.gif

I have far more than 40GB worth of MP3's. I have them all nicely sorted. The files i want on my iPod, i have given a tag (ipod IS yes). I can edit the tags of the files anytime i want and when i want to sync the iPod, all I need to do is create a playlist using Extended Playlist Generator (ipod IS yes). Then all my MP3s with the IPOD-tag are filtered out of my database and put in one playlist.
infrared
QUOTE (Aero @ Dec 11 2004, 10:16 AM)
For example, to use your Artist string, you would add a new metadata item to your songs named POD_ARTIST.  The prefix is configurable, but defaults to POD_.  Then set it to:$if(%album artist%,%album artist%,%artist%)  and you should be set.
*


Humm.. I guess I'm not competely understanding the new feature. What I gather from what you're saying is that you need to add a new meta tag to each mp3 called "POD_ARIST". You then run the masstagger to set POD_ARIST = $if(%album artist%,%ablum artist%, %artist%). I'm not seeing how that's dynamic since you are just using a masstager so I guess I don't understand what you're saying.
Aero
QUOTE (infrared @ Dec 12 2004, 04:46 PM)
Humm.. I guess I'm not competely understanding the new feature.  What I gather from what you're saying is that you need to add a new meta tag to each mp3 called "POD_ARIST".  You then run the masstagger to set POD_ARIST = $if(%album artist%,%ablum artist%, %artist%).  I'm not seeing how that's dynamic since you are just using a masstager so I guess I don't understand what you're saying.
*

You first need to set the POD_ARTIST tag using something like MassTagger, but the dynamic part comes in when foo_pod actually transfers the song to the iPod. It looks at the TAGZ string in POD_ARTIST and sends the dynamically created output from the TAGZ string to the iPod database.

For example, if you want a song's comment to appear where the album name would normally appear on the iPod, falling back to the album name and finally "[ALBUM]" you could set POD_ALBUM to:
CODE
$if3(%comment%, %album%, "[ALBUM]").


There is no such thing as dynamically updating metadata on the iPod, so the album name will always be fixed that whatever it was when foo_pod sent it. So in that respect, it isn't truly dynamic.
infrared
QUOTE (Aero @ Dec 12 2004, 03:09 PM)
There is no such thing as dynamically updating metadata on the iPod, so the album name will always be fixed that whatever it was when foo_pod sent it.  So in that respect, it isn't truly dynamic.
*


Okay, I get it now. However, would it not be more efficient (and less maintenance) to have pref in foo_pod where you could just specify the field that you would like foo_pod to dynamically change? ie. in the prefs have a list of fields that map to either a static name or to a tagz? Acting a filter. Like what was mentioned earlier:

in foo_pod prefs:
CODE
Comment = "From iNFRA's collection"
ARTIST = $if(%album artist%, %album artist%, %artist%)
Aero
QUOTE (infrared @ Dec 12 2004, 05:27 PM)
Okay, I get it now.  However, would it not be more efficient (and less maintenance) to have pref in foo_pod where you could just specify the field that you would like foo_pod to dynamically change?  ie. in the prefs have a list of fields that map to either a static name or to a tagz?  Acting a filter. Like what was mentioned earlier:

in foo_pod prefs:
CODE
Comment = "From iNFRA's collection"
ARTIST = $if(%album artist%, %album artist%, %artist%)

*

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
infrared
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
*


Aye, well put. I'm still trying to test out the "Sync" function. I was wondering; how come when you create the "iPod (foo_pod)" playlist and make changes to it, it doesn't do anything. A window comes up and disappears really fast. My fault?
Aero
QUOTE (infrared @ Dec 13 2004, 09:18 PM)
Aye, well put.  I'm still trying to test out the "Sync" function.  I was wondering; how come when you create the "iPod (foo_pod)" playlist and make changes to it, it doesn't do anything.  A window comes up and disappears really fast.  My fault?
*

The iPod (foo_pod) playlist really just displays all of the songs on the iPod, so reordering it won't have any effect.

You can add new songs to it then choose Send Playlist To iPod, which will copy the new songs over (and ignore all of the songs already on the iPod). You can also delete file(s) on the iPod by selecting songs in the iPod (foo_pod) playlist, right clicking, and selecting Delete Files From iPod.

If you want to modify actual playlists on the iPod, select the Load iPod Playlists As Tabs. Then when you reorder, remove, or add songs to the playlist (noted by the " [iPod]" suffix), you can right click on one of those files and select the "Update this playlist on iPod" menu item to make the changes on the iPod. Note that removing a song from the playlist does not delete it from the iPod - to do that, you need to load the iPod (foo_pod) playlist, select the song, and choose the Delete File item from the right click menu.
kindofblue
Just want to say thanks for the update, Aero. I was using 0.9.5RC and was looking for a way to rename/edit my ipod playlists. I see you've fixed this with 0.9.6. Great work. cool.gif

kindofblue
jkwarras
Sorry to bother you again with this Aero, but do you have any news about the playcount integration between the iPod and fb2k via foo_pod? unsure.gif

Thanks for everything.
Aero
QUOTE (jkwarras @ Dec 14 2004, 09:40 AM)
Sorry to bother you again with this Aero, but do you have any news about the playcount integration between the iPod and fb2k via foo_pod?  unsure.gif
*

I don't want to have foo_pod modifying the source music files on your hard drive, so I don't know what I can do with respect to play counts.

If the author of the Play Counter component would add a Foobar interface to his component so I could use that instead of writing directly, then I would consider adding this feature to foo_pod.
hunted
I have a question, what determines if the file is different when you send files to the ipod, it seems like its file mod time or something like that, I always get duplicates when I send a file thats already on there. I figured it was mod time cause I have playcount and rating tags that get updated pretty frequently.
Is this how it works? or different?
Aero
QUOTE (hunted @ Dec 14 2004, 02:20 PM)
I have a question, what determines if the file is different when you send files to the ipod, it seems like its file mod time or something like that, I always get duplicates when I send a file thats already on there.  I figured it was mod time cause I have playcount and rating tags that get updated pretty frequently.
Is this how it works? or different?
*

Last Modified time is one factor in determining if a song matches.

Your example is a good example of why I don't want to modify the source file, since it breaks the file matching detection.
jkwarras
QUOTE (Aero @ Dec 14 2004, 11:50 AM)
QUOTE (jkwarras @ Dec 14 2004, 09:40 AM)
Sorry to bother you again with this Aero, but do you have any news about the playcount integration between the iPod and fb2k via foo_pod?  unsure.gif
*

I don't want to have foo_pod modifying the source music files on your hard drive, so I don't know what I can do with respect to play counts.

If the author of the Play Counter component would add a Foobar interface to his component so I could use that instead of writing directly, then I would consider adding this feature to foo_pod.
*

AFAIK there's no way to keep playcount (the same for other tags as rating, etc...) with fb2k only in the database. That's what I've read on these forums, and I guess that this won't change in very soon. Maybe the only solution (which isn't really one) is to block all tag updates, which then stores new tags in the database. But I think, and please someone correct me if I'm wrong, that it's stored in the playlist where the song is, so if you delete the playlist you also lose your 'tagged' information. Also, it doesn't allow any other tagging operation.

Anyway, the developer of this plugin is I think tboehrer. Kode54 did a version which stores the playcounts in a external mysql database, which of course means that you have to install it and it's a little out of the average fb2k user sad.gif

So definitely I don't see a solution apart of waiting to have a foobar2000 database that allows the external storing of this sort of information. But I don't even know if there's any plan about it unsure.gif
Fickle
I have a minor annoyance with the latest foo_pod - I usually keep my iPod sitting docked and disconnected - but every time I right click on the playlist for the context menu, my iPod reconnects / mounts itself. Is there any way to disable this behaviour ?

Thanks
Aero
QUOTE (Fickle @ Dec 15 2004, 11:41 AM)
I have a minor annoyance with the latest foo_pod - I usually keep my iPod sitting docked and disconnected - but every time I right click on the playlist for the context menu, my iPod reconnects / mounts itself.  Is there any way to disable this behaviour ?
*

I'm not able to reproduce your problem with the latest iPodService service. You might want to download and install the most recent iPod Update software (on Windows, not necessarily update your iPod) and see if that helps.

If it doesn't, you should be able to avoid this behavior by forcing foo_pod to use a specified drive letter. Make a note of the drive letter your iPod is assigned when it is connected, then go to the foo_pod Preferences, and set that in the 'Force iPod Drive Letter' drop down box.
Franky
Here's a bit of a newbie question.

I've got an iPod Mini with several songs and playlists already on it. I want to use foo_pod's ability to apply true replay gain to the songs already on the iPod without altering the existing playlists or metadata. Can this be done and if so, how? Every time I try to use the replay gain scanner on a song on the iPod, all metadata disappear from the file. Not permanently though, because if I reload the song from the iPod the metadata is there again.
Fickle
QUOTE (Aero @ Dec 15 2004, 11:44 AM)
QUOTE (Fickle @ Dec 15 2004, 11:41 AM)
I have a minor annoyance with the latest foo_pod - I usually keep my iPod sitting docked and disconnected - but every time I right click on the playlist for the context menu, my iPod reconnects / mounts itself.  Is there any way to disable this behaviour ?
*

I'm not able to reproduce your problem with the latest iPodService service. You might want to download and install the most recent iPod Update software (on Windows, not necessarily update your iPod) and see if that helps.

If it doesn't, you should be able to avoid this behavior by forcing foo_pod to use a specified drive letter. Make a note of the drive letter your iPod is assigned when it is connected, then go to the foo_pod Preferences, and set that in the 'Force iPod Drive Letter' drop down box.
*

Thanks - this has fixed the problem. One last thing tho - is there any way to stop the iPod connecting when foobar2000 starts - as the default behaviour seems to connect the iPod.
Aero
QUOTE (Franky @ Dec 16 2004, 06:45 AM)
I've got an iPod Mini with several songs and playlists already on it. I want to use foo_pod's ability to apply true replay gain to the songs already on the iPod without altering the existing playlists or metadata. Can this be done and if so, how? Every time I try to use the replay gain scanner on a song on the iPod, all metadata disappear from the file. Not permanently though, because if I reload the song from the iPod the metadata is there again.
*

There really isn't a good way to change the songs on the iPod then update the database. You could apply the ReplayGain operation to the songs on the iPod, then use the Rebuild iPod Database feature, but this would erase your playlists.

In general, you are better off if you can do the ReplayGain on the files on your hard drive, then transfer them to the iPod.
Aero
QUOTE (Fickle @ Dec 16 2004, 12:36 PM)
Thanks - this has fixed the problem.  One last thing tho - is there any way to stop the iPod connecting when foobar2000 starts - as the default behaviour seems to connect the iPod.
*

You could disable or uninstall iPodService, but otherwise, there isn't currently a way to do this. I'll add an option in the next foo_pod version to not use iPodService, which will prevent the iPod from mounting when starting Foobar.
infrared
Well gang, I got a wiki up running. Looks like it'll be just what we need. I would put it on the foobar wiki that's already up but they are blocking quite a few subnets (including me) so I started my own. If the link changes I'll post the new URL here. Feel free to add or change the wiki. I put some ideas on how to maybe structure it. You are especially welcome if you have some Wiki experince already.

http://jevy.org/mediawiki/index.php/Foo_pod
Snelg
QUOTE (Aero @ Dec 16 2004, 12:14 PM)
QUOTE (Franky @ Dec 16 2004, 06:45 AM)
I've got an iPod Mini with several songs and playlists already on it. I want to use foo_pod's ability to apply true replay gain to the songs already on the iPod without altering the existing playlists or metadata. Can this be done and if so, how? Every time I try to use the replay gain scanner on a song on the iPod, all metadata disappear from the file. Not permanently though, because if I reload the song from the iPod the metadata is there again.
*

There really isn't a good way to change the songs on the iPod then update the database. You could apply the ReplayGain operation to the songs on the iPod, then use the Rebuild iPod Database feature, but this would erase your playlists.

In general, you are better off if you can do the ReplayGain on the files on your hard drive, then transfer them to the iPod.
*


I, too, am trying to insert ReplayGain values into the "Soundcheck" field with minimal disturbance to the existing data on my iPod (i.e. don't screw up the iTunesDB, and don't modify the song files themselves).
Right now, I'm not using foo_pod at all for this, although I'd like to figure out if I can. No sense in duplicating effort.

Here's what I do:

I have the foobar2000 Database options set to "Enable Database" and "Block tag update operations".

After I add new songs to the iPod (using iTunes -- so sue me wink.gif ), I open foobar, create a new (blank) playlist, do "Playlist - Add directory...", and select the iPod_Control directory on the iPod-mounted drive.

I use "Add directory" instead of the handy foo_pod "Load iPod Songs To foobar2000 Playlist" because if I use the foo_pod function, then the ReplayGain values do not get loaded from the fb2k database. In fact, it clears them from the database and I have to re-calculate.

So after the songs are loaded into the playlist, I select all of the songs and do a ReplayGain scan on them. fb2k is smart enough to skip the ones I've already analyzed, so it only spends time analyzing the new songs.

Then I run a little function I made using Otto's iPodDB functions. It loads the data from the iTunesDB file and the foobar2000 database. For each iTunesDB entry, it finds the corresponding foobar2000 database entry. If the iTunesDB soundcheck value doesn't match the fb2k replay gain value, then it adjusts the iTunesDB entry. After checking all the iTunesDB entries, it writes the adjusted iTunesDB data back to the iPod. Voila.

I've been trying to figure this out from an average user's point of view, though. Those steps are just a tad too complicated, methinks. Suggestions on how to make this process simpler?

-Glen
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.