I can answer the second part of your question. Since you just updated the MacBook's iTunes settings to point to the NAS, it's iTunes library file still resides on the MacBook. This is a .itl file in your ~/Music/iTunes folder.
iTunes relies on this database to tell it what's in the media folder. If you add stuff to the media folder without adding it through iTunes (i.e. just dropping files in Finder, or using another copy of iTunes on another machine) then that .itl database does not get updated.
So when you add files through iTunes on your Mac Pro, it updates the .itl database on your Mac Pro, but not your MacBook, so the MB can't see those files. If you add anything through iTunes on the MB, the Mac Pro database won't have it, since the copy of iTunes that connects to that database did not process the files.
I have a similar setup to what you're doing: iTunes media on an external drive connected to my iMac, and a MacBook which I use ONLY Home Sharing on.
You might get the idea to move one .itl file to the NAS and open it in iTunes on both machines, and this will work, but you can/should never have it open in both at the same time. That .itl file is really just an SQLite database, and they don't allow simultaneous access, so I've never even attempted this.
With respect to your first question, check ~/Music/iTunes and see if there are any old library (.itl) files. It's most likely that iTunes is opening an old copy or a backup of the database. If you duplicated the database or started a new one before moving your media, this might be the cause.
Start iTunes and make sure the media folder is set correctly or make some other change in iTunes. Now go to ~/Music/iTunes and look for the .itl file that has most recently been modified. Move all the others out of the folder.
Quit iTunes and restart it while holding the Option/Alt key. This will bring up a dialog that lets you select which database to use. Select the .itl file you left alone and it will continue using that as the default library.
The best way to go, in my opinion, for a flawless and easy experience would be iTunes Match. It doesn't only allow you to play your tunes on iOS devices, but also on other desktop computers running iTunes, and it Syncs everything via the cloud, including all your metadata, so basically you'd have your iTunes library wherever you have internet.
It costs 25 USD a year (plus extra storage, if you have more than 5GB of songs that are not in the iTunes Store), though if you can spare it you not only get the syncing, but also the upgrade of all your tunes to 256kbps ACC sound.
Home sharing also works, and does update your play counts if you enable it to under Preferences > Sharing, but it will pretty much just open a "read-only" version of your library on the rest of the computers; you cannot edit metadata, change rating, or even browse your library in any but the list view mode, plus of course, if the computer disconnects from the network it looses all access to the music, for Home Sharing makes no local copy in each machine.
Other methods should work, I believe, to share your music, but yeah, I remember I tried some time ago and I didn't manage to keep the iTunes Library file and thus data like play counts in sync.
Btw, I believe the file iTunes Library.itl
is the main resource for the Library Database, and the iTunes Music Library.xml
file is just a "backup" and a way for other applications to access data of the library if they need it, so you would need to keep in the .itl
file in sync.
Good Luck!
Kevin
Best Answer
The iTunes File Sharing feature was the first option Apple supplied to allow manual transferring of files to installed 3rd party iOS apps, which support that feature. The main reason was (and still is) to put documents into an app or get them out again.
The handling of uploaded (imported) files is wholly controlled by the app allowing this feature.
As a comparison:
Since this feature was not meant to synchronize files from inside the app with versions outside the app (e.g. on the computer), there is no synchronization databank holding records of file information in order to determine which is newer.
Furthermore, iTunes is limited on what one can do with a script to automate processes. Utilizing the File Sharing feature is not among the scriptable parts of iTunes.
Due to the lack of features, many app developers (including Apple) expanded to use different means to transfer files and even synchronize them. Many apps, if they do not use SMB, AFP or WebDAV (HTTP), use their own propriety server system to synchronize across devices.
With the introduction of iCloud, Apple allows even 3rd party apps to sync in-app content. This feature needs to be supported by the app itself to make use of it.