Hello everyone,being a fan of both foobar2000 on desktop and iPhone on the go :) I couldn't live withfoo_dop not working with iOS 5 devices (no album art, no playback stats) so I startedwriting a solution of my own and here is the first version.

Current features are:- Bidirectional playback statistics update between iPod/iTunes and foobar2000- Tag mappings support (meaningful album sort by year, iTunes compilation tag based on album artist value are included)- Album art attach on-the-fly- Separate folder for iPod music (you should put files to be sent to iPod there)- Uses iTunes COM interface to interact with iPod, so further updates to iTunes should not break `foo-tunes`

I'm just posting to tell you I hope you haven't been discouraged by the lack of feedback on your project. I haven't used your scripts, as I intend to stay on 4.3 on my iPhone 4 as long as possible simply to have a working foo_dop. But I'm sure eventually I will be forced to upgrade, either due to apps I need requiring iOS5, or because of a phone upgrade when iPhone 5 comes out.

Although not as convenient as foo_dop, from what I read, it looks like it provides the same functionality, so that's good. Thanks for your efforts!

Although not as convenient as foo_dop, from what I read, it looks like it provides the same functionality, so that's good. Thanks for your efforts!

Thanks for support :)

As far as I can see right now - main inconvenience is that you can't say "hey, send thesetracks to my iPod and convert them if required". You need 2 clicks:- convert (or copy)- run sync.cmd to perform actual sync

At this moment I can't think of a way to do that any other way but writing a foobar plugin.A tough solution could be writing a method in foo-tunes that takes file pathes as inputand converts them on-the-fly either using foobar2000 converter and command line interfaceor some external converter. Probably I'll try to investigate that.

And yeah, I do love foo_dop but with all those cloud changes by Apple you can't be sure solution will be found (media monkey/gtkpod guys trying to hack music sync for 3 months by now, quite a long time).

Thanks for the plugin.I don't quite understand how this plugin handles embedded album art. It seems that it relies on converter plugin to copy .jpg from original folder to the destination folder (forgive me if I'm worng).Personally I don't mind to manually sync AAC files to IPhone via Itunes, and I'm looking for a plugin that can sync my FLAC library to AAC library without loosing album arts during conversion.

I don't quite understand how this plugin handles embedded album art. It seems that it relies on converter plugin to copy .jpg from original folder to the destination folder (forgive me if I'm worng).

Yeah, it acts exactly this way - front.jpg/folder.jpg/cover.jpg/*.jpg should present in the album folder and it's attached by iTunes when adding files to iPod (there's a possibility that iTunes understands embedded album art but I didn't investigate that).

I'll give it a try later! Thanks for your effort.So, if I'm not interested in preserving playcount data from the iOS5 dvice, I should:copy the tracks I want on my iOS5 device to the musicNotTrackedFolderrun the sync.cmd

Please, create this folder and try again (and there should appear a log file which might help in debugging).

Hey kompot,I have this folder present (same folder as the sync.cmd) and I'm still getting this error. Had a poke around the js but I can't see why it's complaining now.Also wondering how exactly the mappings work. I have album title itself being mapped to

CODE

[quote]'['%date%[-%INDEX%]']' %album%[/quote]

for instance, and I'd quite like that - so the year is actually visible on the iPhone. Not sure what I'm mapping it to (FORMAT:something?)

I'm still getting this error. Had a poke around the js but I can't see why it's complaining now.

What error exactly? In the output there is a line reference to foo-tunes.js that fails.E. g. "foo-tunes.js(28, 1) Microsoft JScript runtime error:" means that line 28 failed (really bad that if error occursin an include file it still does complain about foo-tunes.js - don't know how to resolve that)

QUOTE (frogworth @ Feb 7 2012, 17:06)

Also wondering how exactly the mappings work. I have album title itself being mapped to'['%date%[-%INDEX%]']' %album% for instance, and I'd quite like that - so the year is actually visible on the iPhone. Not sure what I'm mapping it to (FORMAT:something?)

Hey Kompot, the folder "logs" actually was created on the first go, and the error that I was getting continued after the logs folder was created, but there are no log files generated apparently..

My bad, code to create this folder if absent was already there :-)But still no clue why that error. Is your logs dir completely empty?One folder for each script run should be created (named as "year-month-day hour:minute:second").

Will think of a mechanism to debug what actually failed - right now it's known to be in inc/Logger.js

I created the logs directory. As the normal user in the cmd prompt window, I have the necessary permission to write to that folder.I'm using WinXP in VMware Fusion on a Mac by the way - but it shouldn't make any difference.

OK; got it. I'm not sure why it works for you, but the problem is it's trying to create folders/filenames with colons in them.I changed every instance of colons in the date formats to full stops.

CODE

%H.%M.%S

That seemed to work. I have iTunes already open and run the command. It complains about rescanning folders, but I'm not using the play count stuff (I have the plugin installed but may not have set the folders up as expected)...

I'm now waiting for the bloody thing to do its syncing of apps off the phone - I rarely sync as I hate using iTunes But it looks like it's doing its thing. w00t!

After this, it basically sits there waiting. iTunes has done its sync in the background, but the script appears not to be doing anything else now.

Really for me I'd be happy to simply:1) copy the files I want to sync into another folder somewhere, with artwork;2) get the script to change the tags to my desired patterns as necessary, add ITUNESCOMPILATION etc.3) upload!

I don't really want to *sync*, so once those files have been tampered with, I would just delete them. To my mind they're just temporary files, there to have their tags changed and cover images embedded. I can create/edit playlists and delete files from within the iPhone now after all.

And even then, everything from the 4th line on only happened because I dragged the tracks back into foobar and ran the RunCommand from the context menu...

Two other things: Not sure if I need to put single quote marks around square brackets in masstagger? Can't find that info on the online help. So I want the album title to be[1982] MamaDo I put'['%date%']' %album%like I would with other tagformatting? And of course escape the single quotes in the javascript Or do I not need the quotes?

So anyway... It'd be nice if I could get past this to the next step, which would be adding album artwork and changing the tags. Thanks for this script anyway - I feel it'll be very useful once I've ironed out my little problems!

Ace. This seems to work! Woohoo!I had my formula wrong - looks like I do need the escaped single-quotes around my square brackets.So I'll try it again tomorrow, maybe with more than just the NoMeansNo discography *hehe*

kompot: if I want to just put tracks on but not remove tracks which aren't in my local "for iPhone" folder - i.e. if I want to add a second batch of tracks to the iPhone - is the script as it's setup going to do what I want? Or is it going to just replace what's on the iPhone with whatever I try to sync next time?

If not, can you give me some quick pointers as to how to rewrite it to not do that? Is it as simple as pulling out the relevant script call? I'm reasonably adept at programming, just want to be sure.

Similarly, if I don't care about syncing play counts etc, can I detach that from the process easily?

Right now it will delete tracks from iPod if they are not found in local folder. And as I said before it will also try to sync stats anyway.Basically, you want a command named "send to iPod one-way". I do understand it's a perfectly healthy use case and I will definitely implement this scenario (send all files in folder not on iPod and quit).

QUOTE

Is it as simple as pulling out the relevant script call?

It should be (the idea with root script was exactly about that) but I didn't tested that so might fail.

You can try commenting this at least iTunes.removeTracksNotOnDisk(); foobar2000.syncPlaybackStats();