Skip to main content
For Sonos users who wish to choose which of their iTunes playlists are transferred to Sonos or for users who wish to use lossy formats for their ipods and lossless for their Sonos system. It makes a custom XML file on the NAS with unselected playlists removed and/or references adjusted to the lossless files. If you wish to only transfer a subset of playlists the application can be configured to display a playlist selector before the custom XML file is generated. The application can be configured to run and create the custom XML file on your NAS each time iTunes is closed.



http://www.darrenlink.talktalk.net/ituneslibrarymanager



http://www.darrenlink.talktalk.net/ituneslibrarymanager/download



I have written an application that solves two main issues for Sonos and iTunes users. Many people like to use iTunes to catalog their MP3 collection for use with iPods but prefer to store lossless files (perhaps apple lossless) on their NAS for use with Sonos. The "iTunes Music Library.xml" cannot be simply placed on the NAS as all the tracks are pointing to the lower bitrate MP3 files. Also many iTunes users have too many playlists to be imported into the available Sonos memory. (Especially if lots of smart playlists covering your entire library are defined)



My application solves the above two problems by changing the paths of the MP3's (or other lossey file types) within the "iTunes Music Library.xml" to the equivalent paths of the lossless files. It also allows the user to choose which playlists they wish to be imported into their Sonos system from their iTunes library. It also eliminates the need to maintain two separate iTunes libraries (although you are still required to create lossey and lossless copies of each track)



The application caches (and maintains) a one to one mapping between each file in iTunes with the equivalent higher quality file on your NAS. This caching allows the application to run through approximately 10,000 tracks on my PC and write an alternative xml file to my NAS pointing to the lossless files within about 25 seconds.



The application is completely configurable so it can be configured to match your setup.



More information, screenshots and the download link are above.


Joel,



In response to the following:







Do you have any tracks still in your iTunes library that are still doubled up?





Not a one as I painfully cleaned this up...







I appreciate your agreement that it is not my application that is doing this. If you have any duplicates still, right click on each track in iTunes and choose Get Info. Take a look at the first tab for each track and note the path to each track. I am 99% confident they will be different paths. I have tried adding the same file to my iTunes library multiple times by dragging the file into my library. iTunes doesn't report any errors but simply ignores the file if it is already in the library. I therefore supect the duplicates are two different files.





Very interesting...I will try this should the duplication problem (unfortunately) reappear...









The fact that the tracks also appear twice in your Sonos library also points to two physical files for the same track existing in your share. One thing you could do is try renaming one of Apple Lossless files on your NAS share that is appearing twice in your Sonos index (and then don't reindex). If you try playing both tracks one may play and the other may report a missing file.





Noted









A note to Sonos. I don't think there is a function for finding out the path to a track file within the index. This feature is a must. Please add it or correct me if I have not seen this feature. Your should be able to right click on a track within the Sonos desktop controller and do a 'Get Info' just like in iTunes. The Get Info screen should show all the index information about the track and the path to the track that Sonos is using to play the file.



One way of getting the same physical file into your iTunes library twice, would be to add it in from the network path as well as from a mapped drive path. iTunes is likely to consider \\nas\AppleLossless\Track1.m4a and S:\Track1.m4a as two different files (where S is mapped to your \\nas\AppleLossless share). You should take care to ensure you always add tracks to iTunes from the same path. I recommend adding the tracks from a mapped network drive mapped to your \\nas\AppleLossless share.



You could also use my application to investigate the issue. If you use the Analyse Library function for the source library path and double click on the count of m4a files found you will see a list of all of the paths to your tracks. If you see a mixture of different path types that is your problem.



That's my brain dump over. I hope that helps.



Darren




Thanks for everything...very helpful...
Darren

Thanks for your response to my query. Apologies for not getting back to you sooner. Have been away over New Year.



An update on where I am up to. I decided to split my shares on my NAS drive so that I now have my FLAC and MP3 shares on different shares. I had read on the forum that the Sonos would not index duplicates if they had the same tags, so I was hoping that by indexing the flac share followed by the mp3 share on the SONOS it would ignore the mp3 duplicates and only pick up the mp3only tracks. Not so. Even though I can see just one record under say Artist/Track on the SONOS controller under Folder they are both there and a check on the status summary screen reveals I have far more records than I should have in the index! SONOS support have confirmed that they are both picked up becuase they are different (one is mp3 and one is flac). I have blown the 65,000 limit (I have about 35k UNIQUE tracks at present).



Unfortunately I have also had problems with your app with the mp3 to flac transformation feature. It kept giving me an Unknown Windows Application error (I tried it on Vista and Windows 7) at the same record number and aborting, so I gave up and decided to create the seperate share on the NAS for the FLACS.



So how do I get just the mp3only tracks into SONOS. I am now thinking - if I create a smart playlist in itunes for my mp3only tracks (I can do this based on a specific user defined tag field that I have already created). I could then use your app to just import that playlist into SONOS.



My question is. Will the SONOS recognise the mp3 tracks in the imported playlist (even though the tracks have not been directly indexed - I will only index the FLAC share) and will these mp3only tracks appear under the Artist/Title/Genre sections on the SONOS or will they just appear under the imported playlist?



Regards

Gordon
My question is. Will the SONOS recognise the mp3 tracks in the imported playlist (even though the tracks have not been directly indexed - I will only index the FLAC share) and will these mp3only tracks appear under the Artist/Title/Genre sections on the SONOS or will they just appear under the imported playlist?

Hi Darren

Answered this myself. The MP3only playlist items only appear under playlist. Now if there was a way to get them to appear under Artists, Tracks etc.

Is there any way your app can also index the tracks that are in the selected playlist.
Gordon,



Apologies for the delay in my response. I am now back at work following Christmas and the new year so many apolgies if I am a little shlower at responding.



I had a go at repointing an iTunes playlist to tracks on a non indexed NAS share a while ago but I did not get the desired results. If you do this you will find that when you add the playlist to the queue of tracks the filenames are displayed in the queue rather than the track details from the tags. (The tag details are not stored in the Sonos memory as the tracks have not been indexed). If you can put up with tracks only being available from playlists and don't mind the filenames being displayed in the queue you can use this approach to get round the 60,000 track limit. In your case it sounds like you only have 35,000 tracks so you should be able to index the highest quality version of each one without any problems.



Unfortunately my application cannot control which tracks are indexed by the Sonos indexer. It can only control what playlists are written to the customised "iTunes Library.xml" file and where each track points to. The paths to tracks can be to an indexed or non indexed share but point the tracks to indexed files wherever possible.



The only way I know of ensuring that only 1 file per track is indexed is to ensure that only 1 file per track is within the share (or shares) that is indexed by Sonos. Each file should be in the highest quality that you have available. I am not aware of any way of telling the Sonos indexer to pick the highest quality track if you have multiple versions of a track in shares indexed by Sonos.



In my setup I have my entire library as MP3's on my local PC. The iTunes library is also stored on my local PC and points to these MP3's. It is this library that I use to sync with my ipod. This is the best approach if you have a laptop as the MP3's will be available whereever your laptop goes, and you will be able to build playlists for your Sonos system when you are away from home (or indeed on your ipod)



My nas share that is indexed by Sonos (\\nas\sonos) is basically a copy of the local MP3's with any MP3's replaced with the Apple Lossless equivalent where possible. The folder structure for my local MP3's is identical on my NAS. Folders beneath Z:\Music (could be C:\Music or any other letter) on my local PC are indentical under \\nas\sonos\Music with mp3's replaced with Apple Lossless files where possible. It is important to note the word replaced. Each directory on my NAS does not contain files in both formats. Rather only 1 file in the highest available quality.



My application takes the local "iTunes Library.xml" file and changes each track definition to point to the equivalent file on my NAS based upon the rules defined within the application. The modified XML file is then written to \\nas\sonos\iTunes\Darren\iTunes Library.xml.



Regarding the problem you had with my application crashing. It sounds like it is crashing on one particular track. To debug (on your PC) I would need to add logging to the application and identify which track it was failing on and why. If you could email me a zipped copy of your "iTunes Library.xml" file I could take a look at this file for any tracks that could cause my application to crash and may be able to debug in my environment. I am keen to eliminate as many bugs as possible from my application. If you could note the track number that it fails on that would be useful too.



I hope that clears up any confusion.



Darren
Hi Darren

A further update.

I now have a seperate Sonos share on my NAS which has all my FLAC files and only the MP3 files that I don't have as FLACS. These MP3's are therefore now stored twice on my NAS. Once in the main MP3 share (used with iTunes) and again in this share. It took me some time to copy them across and make sure I had picked them all up, but I am now happy.



I then used your app (which no longer seems to abort!!!) to point the itunes/mp3 files to sonos/flac or sonos/mp3 (used 2 transformation rules) and selected 14 of my playlists. All tracks have been analysed to either the flac or mp3 folders in the sonos share (none are missing). The destination xml file is also in my Sonos share.



I reindexed in SONOS and all 14 playlists appeared. Excellent!



Also I am having some problems with window sizes which need to be resized (eg the one that pops up during the processing when it suggest a different match for a track it cannot find). The library analyse window is also too small and can't be resized at all. I can't actually see what the standard tab has on it). I am using Windows 7 64bit
All,



I have posted a new version (2.59.2) tonight which has better error handling whilst processing the tracks within the source XML file. If an error occurs processing a track the application should now report details about the error and also give details about the track it failed on.



Gordon,



Glad you are no longer getting the earlier error whilst the application was processing the tracks. The above error handling would have been useful if you were continuing to get that earlier error.



It's excellent to here that you now have the application working for your system. You are the first person to report success with my app, which is music to my ears. :):) :) I hope you find the application as useful as I do going forward. It's good to hear it working fully with FLAC files as the majority of my use/testing has been with Apple Lossless files. (I did create 1 FLAC file and did 1 test but not extensive testing)



Before I developed the application I was frustrated about playlists not importing because I had too many iTunes playlists for the available Sonos memory. I also didn't want to maintain playlists in both a lossey (mp3) and lossless (Apple Lossless) iTunes library. Now I only need to create playlists in my MP3 iTunes library (the only one I have) in order to get them onto my Sonos system pointing to the Apple Lossless tracks.



Have you tried changing any of the settings under Edit Settings? Now that you have the processing working for your needs you should be able to enable the following features:



Minimize to system tray

Minimize to system tray on startup

Minimize to system tray on close

Listen for closure of iTunes

Sonos Indexer Enabled.



After you have enabled these settings the application can run in the backgroud continually (if you wish) and kick in when iTunes closes. I recommend creating a shortcut to the "iTunes Library Manager.exe" and placing it in your All Programs -> Startup folder. The application will then start when you start windows and will be minimized to the system tray. If the notification messages become annoying you can supress them under Edit -> Settings (Surpress all system tray notifications)



Now onto your issues with window sizes. I haven't encountered any issues with the 'Suggest track match' window. Perhaps you could email me a screenshot to illustrate what is happening? The same applies to the 'Analyse Library' function. I am surprised you are having these problems as the layout looks fine on my Windows 7 machine (although 32 bit). Are you using a non default Windows 7 skin perhaps?



Here is a screenshot of the 'Suggest track match' window on my machine:



http://www.darrenlink.talktalk.net/ituneslibrarymanager/images/non_exact_match_found.png



and also with it resized:



http://www.darrenlink.talktalk.net/ituneslibrarymanager/images/non_exact_match_found_resized.png



Also, here is a screenshot of the 'Analyse Library' function on my machine:



http://www.darrenlink.talktalk.net/ituneslibrarymanager/images/analyse_library.png



Can you see what the differences are? Screenshots from your system would be very helpful. (See my profile page for my email address)



Many thanks for having the patience to set up your files in the necesary structure and for persisting with my app. Your input on your reported issues would be greatly appreciated. Also feel free to suggest improvements to the application.



Thanks again for your patience and feedback.



Darren
Hi,



Please do not enable the Sonos indexer function in my application for the time being. I have noticed some sluggish behaviour on my Sonos system after using the indexer (within my app) for many weeks and I believe it is causing some instability problems within the application also. Rebooting all zones within my Sonos system fixed the sluggish behaviour. I am looking for a more reliable way of kicking off the Sonos indexer from within C# .Net. I suspect resources are not being cleaned up properly after kicking off the indexer, and that this causes performance issues within Sonos over time.



Please do not let this issue put you off using the application. The connection to Sonos is completely tuned off by default so it won't cause any Sonos performance issues if you do not enable it. If you have already enabled the feature I recommend disabling the feature (for the time being) and rebooting all Sonos zones. Apologies for any inconvenience caused.



I am currently using an adapted copy of Steve Eisner's C# code to kick off the indexer. Sometimes it does not discover all of my Sonos zones so something is not quite right. (It's probably my fault Steve if you are reading this) If anyone can help me adapt Steve Eisner's code so that is more reliable or give me an alternative solution it would be greatly appreciated. I have seen Sonority on the forums but don't know if this application can kick off the Sonos indexer or be adapted to do so. I can't get Sonority running on my Windows 7 system. I also cannot open the Sonority source code as I am only developing in C# 2008 Express Edition, not the full version.



Any help for kicking off the Sonos indexer reliably from C# .Net would be greatly appreciated.



Have fun using the application without the automatic Sonos indexing for the time being. Hopefully this will be sorted in the near future.



Darren
Hi,



Late last night I posted version 2.60.1 which is the first version to have a setup wizard. I discovered a bug this morning where the configurations files were being saved to the last used directory rather than the application directory. This has been fixed in version 2.60.2 which I have just posted.



On my Windows 7 PC I have a minor issue when it is installed to C:\Program Files\Darren Link\iTunes Library Manager. After installing, the application does not have the necessary permissions to write the configuration files to this directory. If I install the application to C:\iTunes Library Manager everything works as expected.



When the application is uninstalled via the control panel the configurations files are left installed. This should aid upgrading to a later version of the application without losing your configuration files.



If I change the permissions of directory C:\Program Files\Darren Link\iTunes Library Manager so that "Users (Darren-PC\Users)" has full control, the application is able to create and update the configuration files.



Hopefully I will have a fix for this installation issue in the near future. I have tested the installer on Windows XP and the above permission problem does not occur under this operating system.



Darren
Hi,



I have just been reading some information on the Apple forums about the filename of the iTunes XML file that is generated by iTunes.



Apparently if your iTunes library files are in the default location, iTunes will create an xml file called "iTunes Music Library.xml"



If however you have changed the location of your iTunes library files iTunes will create an xml file called "iTunes Library.xml"



In some circumstances you may find both files in your iTunes library directory but only one of these will be updated when you close iTunes. If you take a look at the modified dates of both files you can safely delete the old file. (If you have 2 copies of the XML file indexed by Sonos you will end up with duplicate playlist being imported for playlists that exist in both files)



The Sonos indexer will index the iTunes XML file regardless of whether it is called "iTunes Music Library.xml" or "iTunes Library.xml". The filename for the destination library path in my application can be either filename when the file is output to your NAS. The file on your NAS can be placed in the root of your share or in any subdirectory.



As I have my MP3 library on multiple PC's and laptops I have the following iTunes XML files on my NAS (generated by my app) and Sonos indexes the plalylists in each of them. The librarys on each PC and laptop have different playlists defined.



\\nas\sonos\iTunes\Darren\iTunes Library.xml

\\nas\sonos\iTunes\Darren Work Laptop\iTunes Library.xml

\\nas\sonos\iTunes\Charlotte\iTunes Library.xml



Renaming any of the "iTunes Library.xml" files to "iTunes Music Library.xml" does not affect the Sonos indexing as both are valid iTunes filenames.



I hope this clears up any confusion about the filenames. It had me confused for a while. I couldn't understand why I was getting different filenames on different systems when I had exactly the same version of iTunes installed.



Darren
Darren

For some reason my transformation rules have stopped working. I added some new tracks to iTunes and assumed the app would index them since it looks for closure of iTunes.

This did not happen so I did it manually and still it did not find them (and they are in the correct place).

So I thought something had become corrupted so I deleted the destination iTunes Library file and also the two cached csv's and started from scratch and it found no files at all. I have rebooted and tried again and still not found anything.

I am not entirely sure which version I am running since there is no About menu, but its dated 7 Jan 22.48. I think this is the version after the one I used previously which worked!

Gordon
Gordon,



I have been unable to replicate your issue on my system. Please can you try the latest version of the application (2.60.3) and let me know if the problem still exists?



The latest version 2.60.3 now installs on a per user basis, and installs fine under Windows 7.



Many thanks



Darren
Hi,



Tonight I have posted version 2.60.9 on my website at http://www.darrenlink.talktalk.net/ituneslibrarymanager/download



Since my previous post I have succesfully helped Gordon (gsa999) with his issues and have fixed several bugs reported by Gordon. :)



This thread has now had over 4000 views but I'm not sure just how many people are using my application or have tried using it. I wish I had a download counter on my website!!! Please post feedback whether good or bad. I'm also happy to answer any questions under this thread or via email.



The application now has an about menu so I can track any reported issues by version number. If you find a bug please let me know the details and the version number and I will do my best to fix the problem.



Unfortunately I still have not fixed the issues with kicking off the Sonos indexer, so in the meantime please continue to Kick off the Sonos indexer manually via a Sonos controller and do not enable the Sonos indexer under the application settings.



Darren
Hi Darren

Just found another problem. When the application launches itself after you quit iTunes to give you the opportunity to rerun the transformation process, it seems to remove itself from memory

So if you choose to run the process (or not run the process) and close iTunes Library Manager it dissapears from the system tray. So next time I go into iTunes and do something and then close it it does not seem to pop up again. I have to relaunch it from my startup folder and then open it manually.



I think this also happens if I launch it manually from the system tray (ie not the auto iTunes closure launch). So basically it seems it can only be run once when its in the system tray and then it disappears.

G
Gordon,



In version 2.60.9 I changed some code relating to the way the application exits with the minimize to system tray functionality enabled. I noticed that in earlier versions if you chose File -> Exit the application process was still running. This is fixed in version 2.60.9 but there are still some 'system tray' related issues. Thanks for you continued help and reporting issues.



I have tried replicating the issue on my work laptop under Windows XP but everything (generally) appears to be working as expected with version 2.60.9. I opened and closed iTunes several times and my application kicked in each time without the application disappearing from the Processes list (under Task Manager).

Please can you confirm if you are using version 2.60.9 and if not, what version you are using?



Ocassionally I find that the system tray icon stops responding to mouse clicks and that I am unable to restore the main window without killing the "iTunes Library Manager.exe" and restarting. Hopefully I will locate the source of these problems very soon. I am interested in your observation about the application removing itself from memory. Do you mean that the application disappears from the system tray or do you mean it disappears from the task manager?



If any new users wish to try my application I recommend giving it a go without using the minimize to system tray functionality until I have fully rectified the system tray issues.



I will endeavour to not post a new version of the application until I have ironed out all of the system tray issues.



Thanks



Darren
Hi Darren

I am using the latest version 2.60.9.

I have just tested it again. I click on the icon in the system tray and open the program up. I then close it - I did nothing in the app and the icon disappears from the system tray. It has also disappeared from task manager!

I am using Windows 7



G
I'm also now using 2.60.9 with Win7.



I'm using it purely to copy the library with iTunes playlists onto the NAS. I started using it in early January 2010 and have installed each upgrade. It's working perfectly for me and has solved my issue with imported playlists so I'm very happy.
I'm also now using 2.60.9 with Win7.



I'm using it purely to copy the library with iTunes playlists onto the NAS. I started using it in early January 2010 and have installed each upgrade. It's working perfectly for me and has solved my issue with imported playlists so I'm very happy.




Many thanks for feedback Rephlex. Presumably you have all your music files on your NAS with your library files on your local PC and you were manually copying the iTunes XML file over to your NAS before you started using my app? This is exactly what I was doing before I created lossless copies of most tracks on my NAS and before I started writing the app. I found that the indexer does some educated guess work if the tracks within iTunes are referenced by drive letter or mapped network drive letter. If you have your music in C:\Music on your local PC and the same structure mirrored (perhaps using robocopy) to your NAS at \\nas\Music for example you can simply copy the local copy of your iTunes XML to your NAS and the indexer automatically interprets the C drive letter as being the root of the NAS instead. Having your music locally as well as mirrored to your NAS gives you 5 major advantages: 1) You can listen to music when you are away from home (if you have a laptop) 2) The performance when synching an iPod will be better if the files are stored locally rather than being fetched across the network from your NAS to your ipod + you can synch/add tracks on the go 3) You have a backup of all of your music (music stored on your PC as well as your NAS). 4) When using my app to do the 'copy' you can chosse the playlists you want to transfer to Sonos 5) Tagging will be a lot quicker when tagging files stored locally, especially when adding album artwork. I think this setup is likely to benefit more people than the lossey to lossless path transformation feature. I recommend having your local tracks as your master copy with the NAS as a robocopy mirror for Sonos useage.



Gordon,



I think I have worked out what you are seeing. When the application is minimized to the system tray the application disappears from the Applications tab of the task manager but remains running and can be found as "iTunes Library Manager.exe" under the processes tab. (Order the processes by image name if you have trouble finding it)



In Windows 7 I find that when the application is minimized to the system tray it is often hidden "behind" the up arrow. The screenshots at the following url show this on my PC:



http://www.darrenlink.talktalk.net/ituneslibrarymanager/images/minimized_hidden.png



In order to get the application back when it is minimized to the system tray and hidden I have to click on the up arrow and then click on the little house icon. I have found that if the application is not minimized but hidden behind other windows, clicking on the system tray icon does not bring it to the front. I think it would be a helpful feature to ensure it always comes to the front.



On some occasions I find that when it is minimized and the application window is not visible, clicking on the house icon does not make the application visible, and no matter what I do I cannot get it back without killing the process within task manager (Processes tab) and restarting the application. This is the bug I really need to fix.



If you use the mizimize all window / show desktop feature, clicking on the system tray icon does not show the application. I find I can get it back by doing Alt -> Tab to cycle through the open windows.



I hope that helps. Please let me know if I have misinterpreted the issue you have been experiencing.



I'm hoping I can greatly improve the user experience just by doing a few very minor tweaks.



Thanks



Darren
Hi Darren

Yes I knew about the up arrow feature of the system tray, but I found that it kept disappearing from there as well. I have now changed the icon to always show on the system tray rather than only show notifications (which is when you have to click the up arrow). I ran the program and exited and it disappeared from the system tray.



I am finding it disappears from the Task Manager application and the running processes tab though!
Darren, Your application sounds like the missing link I need! And it is a shame that you have had so little feedback from users.



As a recent convert to Sonos, I have to say I was disappointed by the total absence of library management features and was surprised that I would need to rely on another program like iTunes for user-friendly creation ofplaylists. (I suppose I didn't read enough of the technical blurb beforehand!) Having found that out, my next sharp intake of breath was when I realised the complications of managing lossless and lossy libraries simultaneously, for Sonos and iPod use. Looks like your Library Manager should sort this out for me.



One question: my lossless files are currently FLACs, and I was intending to convert them to Apple Lossless so that they could be managed by iTunes (to create playlists etc). If I use your app, is this actually necessary? Any disadvantages to having FLAC and mp3 instead of ALAC and mp3 (for Sonos and iPod respectively)?
Hi Darren

Yes I knew about the up arrow feature of the system tray, but I found that it kept disappearing from there as well. I have now changed the icon to always show on the system tray rather than only show notifications (which is when you have to click the up arrow). I ran the program and exited and it disappeared from the system tray.



I am finding it disappears from the Task Manager application and the running processes tab though!




Gordon,



If you use the File->Exit menu the application will completely end. If the application is ending as soon as you click on the close icon I suspect you do not have "Minimize to system tray on close" ticked under Edit->Settings. I recommend having all of the following ticked:



Minimize to system tray

Minimize to system tray on startup

Minimize to system tray on close



If you do not have the third option ticked it will only minimize to the system tray when you click on the minimize icon. If you click on the close icon the application will exit. With the third option ticked the close icon has the same affect as minimize.



I hope the above solves your issue but if it doesn't let me know and I will continue to help.



Regards



Darren
Darren, Your application sounds like the missing link I need! And it is a shame that you have had so little feedback from users.



As a recent convert to Sonos, I have to say I was disappointed by the total absence of library management features and was surprised that I would need to rely on another program like iTunes for user-friendly creation ofplaylists. (I suppose I didn't read enough of the technical blurb beforehand!) Having found that out, my next sharp intake of breath was when I realised the complications of managing lossless and lossy libraries simultaneously, for Sonos and iPod use. Looks like your Library Manager should sort this out for me.



One question: my lossless files are currently FLACs, and I was intending to convert them to Apple Lossless so that they could be managed by iTunes (to create playlists etc). If I use your app, is this actually necessary? Any disadvantages to having FLAC and mp3 instead of ALAC and mp3 (for Sonos and iPod respectively)?




Hi withannee67,



Thanks for your comments. If you already have an iTunes library consisting of mp3's the iTunes xml file can be modified by my application to point at your FLAC files. FLAC files cannot be added to your iTunes library but the modified xml can quite happily point at your FLAC files and Sonos will correctly import it and all of your playlists. One advantage of using Apple Lossless files instead of FLAC is that the modified XML file pointing to the Apple Lossless files can actually be imported into a second blank iTunes library to create a normal iTunes library that you can browse in iTunes. I don't actually do this (as it takes time to import into iTunes) but if you ever want to generate a fully browsable Lossless library from your Lossey library my application will allow you to do this. All your playlists within your lossey library will then be in your second Lossless library. The other advantage of using Apple Lossless is that you can do all of your ripping within iTunes to create both the Lossey and Lossless copies of each track. I find the easiest way of ripping is to simply import using Apple Lossless into my MP3 library, do all of my tagging and attaching of cover art and then to convert those tracks to MP3 using iTunes. The MP3's that are generated from the Apple Lossless tracks are then guaranteed to have the identical tagging and cover art as the original files. Once you have both versions of each track in your library you can then delete the Apple Lossless tracks without physically deleting the files. The Apple Lossless files can then be moved to your NAS for indexing.



The lack of feedback about my application, may be because it cannot be simply downloaded and used out of the box. Users need to understand how it works and structure their music files in a way that allows the application to function as intended. This is not something that is particularly easy to do in some circumstances. A lot of potential users are probably very wary of changing the setup they are familiar with. Also when I started this thread the main purpose of the application was to do the redirecting from lossey to lossless tracks and this was the main advertised feature. This however is now advanced and optional functionality and a simpler setup can be used to simply choose which playlists are imported into Sonos. For users who only have each track in one format they can simply use the playlist selection functionality.



If you have enough patience and are serious about using my application for a multi bitrate setup I can guide you through the setup. Firstly if you already have all of your tracks in FLAC and MP3 format I personally would stick with the FLAC's and not worry about converting them to Apple Lossless. If you are happy with the way you generate both your FLAC and MP3 copies then stick with the method that you are happy with.



Before I can help you any further I will need to understand how you currently have your FLAC and MP3 files stored and the state of your iTunes library. Do you have your FLAC files on a NAS and your MP3's stored on your local PC? This is my recommended approach. I also recommend having your iTunes library files stored on your local PC pointing to your local MP3's. (This is good for ipod synching and portability of your music if you have a laptop) It may not be easy for you to get to this starting point so be cautious and ask as many questions as necessary before doing anything. I also recommend backing up your current setup if you haven't already done so. My application can take the locally stored XML file pointing to the locally stored MP3's, redirect all of the track paths to the FLAC's on your NAS and then save the modified XML file onto your NAS for indexing.



Many apologies for such a long reply. It's a complicated subject that requires a lot of explanation and patience. My application is far from being easy to support because there are so many different starting setups!!! If I haven't put you off, describe your current setup in detail and we can take it from there.



I hope that all made sense, but any questions just ask.



Regards



Darren
Hi Darren,



Many thanks for the thoughtful and helpful reply. I appreciate your advice, but don't want to take too much of your time - so please don't feel that you need to guide me all the way through the setup process in detail.



But your initial guidance is helpful, as I want to avoid eg. wasting my time making unnecessary file conversions. So here is my current setup:



Lossless: I ripped my all CD's to FLAC with dbPoweramp, and saved them on my NAS, current path is:

\\NAS\Media\Music\FLACs\[Artist]\[AlbumTitle]. This is my master library.



Lossy: this is a bit of a mess currently. I haven't yet converted any of the FLACs to lossy format. So, what I have is a historical, partial collection of tracks ripped with iTunes into AAC (.m4a) format. These used to be on the PC, but I moved them to my NAS before buying Sonos. Their path is:

\\NAS\Media\Music\iTunes\iTunes Music\[Artist]\[Album Title].



Sonos is currently pointed to the \\NAS\Media folder, so it picks up the lot.



Before stumbling across your application, I was planning to do the following:

- convert all the FLACs to ALAC with dbPoweramp (I can't remember why I originally chose to rip into FLAC - I started ripping while I was deciding between Sonos and Logitech systems, and I think I had duff info thatone or other of them does not support Apple Lossless)



- convert the FLACs or ALACs to AAC with dbPoweramp for iTunes/iPod use. I planned to ditch the entire current iTunes library and start again - the lossy library is small and it would take longer to figure out which tracks I already have than to simply batch convert everything.



Based on what I have read about your app, I would now plan to:



- move FLACs to \\NAS\Sonos\Music\[Artist]\[Album]



- start again with a new library of lossy files on the PC in iTunes (not sure whether to go aac or mp3). File path to match the NAS ...\Music\ etc



Does this sound right?



Two last questions: I assume your application requires the whole path to be identical from \Music\ onwards in both libraries, including the \[Artist]\[Album]\[track] part. I know I can make these paths identical if I use dbPoweramp for converting to lossy. But if I use iTunes for conversion, won't it impose its own different filename convention and artist/album folder structure? Secondly, is it possible for iTunes to mess up the folder structure in the lossy library further down the line even if I made it identical to begin with (I recall some setting in itunes to have it manage the files)? If so, how do I prevent this?



Sorry, I will have already taken more of your time than I intended to! But if you can point in the right direction, I'll give it a whirl and won't blame you if I muck it up!



Thanks,
Hi withanee67,



It sounds like you already have a good handle on how to set things up. Firstly it is important to remember to keep only the highest quality copy of each track within the Sonos share that you are indexing. If you have some tracks that you only have in a lossey format I recommend having one copy on your local PC and one copy within your NAS share. At the moment it sounds like you have both FLAC's and AAC files within the same Sonos share so moving your FLAC's to \\NAS\Sonos\Music and only indexing your \\NAS\Sonos share is a very good starting point. Providing you haven't got any duplicate FLAC files, your indexed library within Sonos shouldn't have any duplicates. Remember to remove your \\NAS\Media share from the shares that are indexed by Sonos.



Once you are happy with the way Sonos is indexing your FLAC files within \\NAS\Sonos I recommend mapping that share as an S network drive on your PC. (S for Sonos). You can do this by right clicking "My Computer" and selecting "Map network drive". Select S for your drive letter and specify \\NAS\Sonos as the folder path. You should then be able to view your FLAC files via S:\Music\[Artist]\[Album]



Now on to the trickier part, setting up your iTunes library on your local PC consisting of the lossey equivalents of each track. Firstly you should aim to keep the structures identical. This will be a lot easier if you are creating your lossey files from scratch one album at a time. Firstly I recommend setting up a brand new iTunes library on your local PC and then configure iTunes to not mange the locations of your tracks. Within iTunes under Edit->Preferences->Advanced tab ensure that "Keep iTunes Media Folder Organised" and "Copy files to iTunes Media folder when adding to library" are both unticked. With these options ticked iTunes will rename track paths if you update any of the tags. (This will lead to issues with my app as the track mapping data will become out of date and the folder paths may not match the structure on your NAS). Now choose where you wish to store the lossey tracks. If you have a data drive or partion such as a D drive I would recommend storing them in D:\Music and setting your iTunes media folder location to D:\Music. After wripping an album to D:\Music\[Artist]\[AlbumTitle] from a standard Windows file explorer window you should be able to change D:\ within the folder path to S:\ to get to the FLAC files for that album on your NAS. With this simple rule you will be able to keep the transformation rules nice and simple within my application, when you get to that point. You will be able to tell the app to find "D:\Music" within each path and replace it with "S:\Music" to get to the FLAC files.



I will now give you another tip that should make things easier. If your track filenames begin with the track number (or in the case of multi-cd albums the disc number and the track number) my application will be able to match up any tracks with slightly different file names easily. I'll give you an example:



If your path in iTunes was:

D:\Music\Beatles\Please Please Me\10 Baby It's You

and the equivalent path to the FLAC was:

S:\Music\Beatles\Please Please Me\10 Baby Its You.flac (note the missing quote)

my program will be able to match up the two tracks and give you the option to rename the FLAC file so that it's filename is identical to the lossy file (but without changing the flac extension). This works if you track filenames are numbered in the format "01", "02", "03" etc or "1-01", "1-02", "1-03" etc. Your flac files could simply be called "01.flac", "02.flac" and my program will suggest renaming them to match the same filenames as the lossey tracks in iTunes. This eliminates the headache of ensuring that your ripped tracks in both formats have the same filename. I hope you find this feature helpful. If you do not choose to include track numbers within filenames you will need to ensure that each version of a track has the same filename manually (excluding the extension).



If you use iTunes to rip your MP3's iTunes will name the tracks automatically. You will find tracks with extra long names are shortened or symbols replaced with underscores. You can manually alter the filenames to your desire and then tell iTunes to find the newly named file by double clicking on the track within iTunes. My program will give you the option to rename the flac equivalent to the same filename as in iTunes, regardless of whether you have stuck to the default iTunes filename or changed it to suit your preference.



I must say, you will be given the option to rename your flacs to the same filenames as your lossey files and that this is not a necessity for correct opertion of the application. I just like to be organised and to ensure all my track files have the same filename but with different extensions.



How you rip your FLAC files and the lossey equivalents is entirely up to you but just remember to keep the structures identical. It is helpful if you can rip in the lossless format, do all your tagging and attaching of cover art and then use the same application to convert those lossless files to you chosen lossey format. If you do this your lossey tracks should have identical cover art and tags as the lossless tracks. Try to get your tagging perfect before you generate the lossey file from the lossless file. Once you have two copies of each track it is very hard to update tags as you will need to make the same changes to both files. Unfortunately this is one of the headaches of maintaining two copies of each track. At least with my application you will not need to create the same playlists for your lossless files as for your lossey files. You can simply have one iTunes library pointing to your lossey tracks and you will be able to create playlists for both your iPod and Sonos all in one place. You can also easily create playlists on your iPod and transfer them to your Sonos system.



Hopefully that has answered all of your questions but if I've missed anything or you have any more, fire away.



I hope that all made sense and best of luck with the setup. Take it in stages and get your FLAC files sorted first. You could then create your brand new lossey iTunes library with a single album and then try my app. Create a single playlist within iTunes that includes you favourite tracks from your test album and use my app to transfer that playlist to your Sonos system. I can give you assistance on how to configure my app once you get to that stage.



Sorry for such a long post. I hope it helps yourself and other users getting started with my app.



Regards



Darren
withanee67,

Please see my previous post for a response to your questsions.



All,

Last night I had a thought. For those of us who like to have lossless on their Sonos system but lossey on their ipods wouldn't it be great if the industry could develop a special container file format (almost like a zip say) that could hold both the lossey and lossless data along with all the meta data and cover art. Perhaps this has been considered as part of the specification for the MusicDNA file format (http://www.ubergizmo.com/15/archives/2010/01/musicdna_music_file_format_unveiled.html) The biggest problem with having the lossey and lossless data in separate files (and locations) is that it makes tagging difficult. If you apply a tagging change to one of the files, you need to apply the same tagging change to the other file also to keep them in sync with each other.



The file format would need to be built in a way where systems like Sonos can easily and efficiently just play the Lossless data but applications like iTunes could efficiently just copy the lossey data and it's meta data over to the portable music player (with little or no performance hit). When listening within iTunes itself the application could simply play the lossless data.



I would love to have an all in one file format that is suitable for both home and portable use and at the same time makes the task of tagging a lot simpler. When ripping to this format, the ripping software would create both the lossless and lossey data in one ripping operation. Perhaps when downloading a MusicDNA file you would get just the lossey data by default but you could pay extra to download the lossless data into your MusicDNA file?



Maybe Sonos could push the industry or the makers of MusicDNA for something along these lines? (Perhaps this should go under the Sound Ideas section of the forum) but I'd like it to stay here also. Will iTunes and Sonos be supporting the MusicDNA format?



Any thoughts?



Regards



Darren
DarrenLink,



With respect to the new format, I disagree. I would rather have the portable device loaders down convert the files on the fly. Overall, I think that this is a better solution because a new format would imply that all of the rippers and taggers would need to be updated -- again. True, there are probably as many rippers and taggers as there are downloaders, but the optimum download format for the portable is a moving target.



If there are multiple portable units in a household, possibly spanning multiple generations, a single embedded low resolution format is not appropriate either. New devices are sporting more memory and at some point I suspect that lossless downloads will be practical. If the device loader transcodes on the fly, the optimum format can be used for each device. True, the transcoding will require more processor power, but modern computers are so fast that this is not much of an issue.



Another aspect of embedded data is that anything touching the file will have to slog through at least one irrelevant copy of the music data. This will tend to clog the network FOR EVERY TRACK. Even simple tag editing will slow down. I would rather do some special handling every once in a while. I don't mind launching a process that might run for days.