PDA

View Full Version : Need help to setup Trackstat with itunes



Finchy
2012-02-09, 06:47
Hi all

I have Logitech Media Server installed on my Windows Home Server 2011. I had initially installed iTunes on there with a copy of my iTunes files and DB from my laptop, but decided it was easier to just keep a copy of the files on there and use a syncing application to update the new music and changed DB files between the two.

My Squeezebox Touch connects to LMS and is picking up all my music and playlists from the iTunes files (despite iTunes not being installed on it). However, I can't get Trackstat to sync back with playcounts. I have a trial license activated on it (which expires tomorrow!) but I don't want to pay for it until I know it works. Is there anything I am doing wrong?

I also want to be able to update ratings in the Touch if possible and have it sync those back to iTunes - does Trackstat allow you to do that?

Thanks

erland
2012-02-09, 11:58
Hi all

I have Logitech Media Server installed on my Windows Home Server 2011. I had initially installed iTunes on there with a copy of my iTunes files and DB from my laptop, but decided it was easier to just keep a copy of the files on there and use a syncing application to update the new music and changed DB files between the two.

My Squeezebox Touch connects to LMS and is picking up all my music and playlists from the iTunes files (despite iTunes not being installed on it). However, I can't get Trackstat to sync back with playcounts.

I also want to be able to update ratings in the Touch if possible and have it sync those back to iTunes - does Trackstat allow you to do that?

See here:
http://wiki.slimdevices.com/index.php/Setup_support_for_ratings



I have a trial license activated on it (which expires tomorrow!) but I don't want to pay for it until I know it works. Is there anything I am doing wrong?

If you don't get it to work before the evaluation license expires, just let me know your License Manager account identity via mail/PM and we can arrange something.

Finchy
2012-02-09, 13:02
That's great, thanks Erland! I've got a busy couple of days so if I don't get to have a go before tomorrow I'll PM you if that's ok! :)

Finchy
2012-02-18, 10:07
Now then, I'm having a go at getting this set up, but I'm stuck.

I've done the "Web interface" part and the "Browse menus on SqueezeBox/Transporter" part of http://wiki.slimdevices.com/index.php/Setup_support_for_ratings - they look to be the same thing. Are they two different options?

"Now Playing" is the next step, which says;

"The next step is to configure the contents of the Now Playing screen.

1 Goto Player Settings in the web interface for a specific SqueezeBox/Transporter
2 Step down to the screen saver parameters and change Choose a screensaver to use when playing to Music Information Screen
3 Click Apply to store the changes
4 Goto the Music Information Screen section at the top of the page
5 Step down to the "Screensaver" section"

Where is the screen saver option? I can't see it at all. I'm in the web browser looking under Interface but can't see it anywhere, or under any other tabs. I'm sure it's installed as I can see Music Information Screen v4.4.7 in the installed plugins.

Any ideas?

erland
2012-02-18, 15:14
Are you using a Touch/Radio/Controller or a Boom/Classic/Transporter ?

I'm afraid the browse menu setup doesn't work anymore due to the following bug in the Logitech code:
http://bugs.slimdevices.com/show_bug.cgi?id=17732
(You can vote on it if you want it to be corrected)

The setup in the wiki for the Now Playing screen, describes how to do it on a Boom/Classic/Transporter. On a Touch/Radio/Controller I think you need to install the third party Custom Clock applet to be able to display ratings directly on the Now Playing screen and then you can to change the configuration in the Custom Clock screen so it replaces the standard Now Playing screen. Please note that this works on a Controller and Radio, on a Touch it works as long as you don't control it using the touch screen. If you have a Touch and control it via a Touch screen, I would advice you to skip this step and accept that the ratings aren't shown directly on the Now Playing screen. However, you can still configure Custom Clock as a playing screen saver on a Touch, that way it will be displayed while something is playing but will disappear when you touch the touch screen.

Unfortunately, even with Custom Clock, I don't think there is a pre-defined style that shows rating information, so you probably need to configure one yourself with Custom Clock Helper plugin in Squeezebox Server.

To sum it up, if you have a Touch/Radio/Controller, I think I would skip the chapter regarding "Now Playing" screen for now and focus on the rest of the tutorial that makes sure you can transfer the rating information from iTunes.

You can always access the rating information by holding the touch screen on a track for a while or hitting the +(more) button on a Radio/Controller, which opens a context menu which have a "Rating" sub menu.

As a side note, if you want rating support in Squeezebox Server, don't forget to vote on the following enhancement request:
http://bugs.slimdevices.com/show_bug.cgi?id=142

Finchy
2012-02-18, 18:51
Ah, ok.... I'm not going mad then! lol

The main thing for me is playcounts going back to iTunes, as that's what updates the iTunes smartplaylists. Is that still working? Edit: Ah, read the rest of your post.... had too much wine tonight, will continue tomorrow! ;)

Oh yes, and it's a Touch I have. Very nice indeed.... just won't be able to convince my girlfriend of how good it is until I get it set up so it's working smoothly with everything else!

(And voted for both)

erland
2012-02-18, 23:19
The main thing for me is playcounts going back to iTunes, as that's what updates the iTunes smartplaylists. Is that still working? Edit: Ah, read the rest of your post.... had too much wine tonight, will continue tomorrow! ;)

Yes, both play counts and also ratings should be transferred, the limitation is only what's possible to see in the Squeezebox interfaces, they still exist and is transferred correctly in the background.

Also note that if you are only interested in transferring them from Squeezebox Server to iTunes and don't plan to use them for smart playlists in Squeezebox Server (through Dynamic Playlist/SQL Playlist plugins), it might be easier to just setup iTunes Update plugin instead of using TrackStat. It's described on the same wiki page in a separate section.

Finchy
2012-02-19, 07:10
Ah, ok. How I'd like to set it up is like this;

iTunes is on my laptop, with all the audio files on (in a folder on the F partition) but the iTunes database files directed by symbolic link to a network folder on my WHS 2011. I want to keep this as I have an ipod and iphone, plus my Android phone syncs ratings and playcounts (via iSyncr).

I have a copy of all the iTunes music on the WHS, in the same file structure as the laptop and also on the F partition.

Logitech Media Server is on the WHS, with the iTunes folder pointing to the one on the network drive that the laptop uses.

The Touch then accesses the music on the WHS.

With my iTunes, I have been rating songs for years and add the ratings to the comments (ie Rated 1, Rated 2, etc, as iTunes doesn't store the ratings in the ID Tags), and have a couple of smart playlists in there that show me songs I have rated but not updated the comment on. I regularly backup all the iTunes music and database, and also run the same backup from the iTunes music on the laptop to on the WHS (so they have the same songs, etc when I've added new ones).

Am I correct in assuming that iTunes doesn't actually need to be installed on the WHS and that the iTunes Update plugin will add playcounts into the iTunes database files on the network folder LMS is pointing to? So far I haven't seen it updating, but then I've probably not set iTunes Update properly.

I'm not bothered about having dynamic ratings in LMS/the Touch as I have loads of smart playlists in iTunes already (I am very organised! :D ) so if the playcounts are updating the smart playlists should also update whenever I run iTunes?

Am I on the right track here, or misunderstanding stuff?

Thanks for the help, btw!

erland
2012-02-19, 12:11
If you don't have iTunes installed on the same computer as LMS is running, iTunes Update and TrackStat will work the same way. Both will generate a text file with changed ratings and play counts and you need to manually run a perl script on the computer using iTunes to actually write the ratings and play counts to iTunes.

If the paths to the music files in LMS differs from the paths to the music files in iTunes, I think you need to use TrackStat because I think iTunes Update requires the paths to be the same, while TrackStat have a configuration parameter where you can remap them before they are written to the text file the perl script uses as input.

The principle is that with TrackStat, you configure in "Custom Scan/TrackStat Statistics Export" module, where the iTunes music directory is from iTunes perspective and that will make sure that the paths written to the text file will be the one iTunes is familiar with. So later when you run the perl script (TrackStatiTunesUpdate.pl) and feed the text file as input, iTunes will be able to adjust the ratings and play counts appropriately.

Finchy
2012-02-20, 00:40
Yes the paths are the same, so I guess I can just run the script every few days to update the playcounts into iTunes?

I know nothing about writing or running a perl script - is it a standard script, where can I get it, and do I need to install anything for perl?!

erland
2012-02-20, 05:11
Yes the paths are the same, so I guess I can just run the script every few days to update the playcounts into iTunes?

Yes



I know nothing about writing or running a perl script - is it a standard script, where can I get it, and do I need to install anything for perl?!
The TrackStatiTunesUpdate.pl script can be found in Cache/InstalledPlugins/TrackStat.

You can find the location of the Cache directory in SBS Settings/Information.

To run it you need perl to be installed, on Windows this means that you need to install Community Edition of ActiveState perl:
http://www.activestate.com/activeperl/downloads

Finchy
2012-02-22, 11:57
The TrackStatiTunesUpdate.pl in mine is really old, last modified 10/7/2009, so I presume it's not writing to it. Also, the iTunesUpdate.pl file in the folder C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\iTunesUpdate has not been modified since 2010.

The only thing that I can find that's recording the songs played is the playlist generated in the designated 'Playlists' folder.

If I want to just use iTunesUpdate where do I find the equivalent file for that and what is it called?

Also, how do I use perl? Do I just create a text file to run PERL with the relevant paths and just run the script (or set it to be scheduled?)

erland
2012-02-22, 22:52
The TrackStatiTunesUpdate.pl in mine is really old, last modified 10/7/2009, so I presume it's not writing to it. Also, the iTunesUpdate.pl file in the folder C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\iTunesUpdate has not been modified since 2010.

Those are the correct ones, if you use TrackStat you use:
C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\TrackStat\TrackStatiTunesUpdate.plp
And if you use iTunes Update, you use:
C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\iTunesUpdate\iTunesUpdate.pl



The only thing that I can find that's recording the songs played is the playlist generated in the designated 'Playlists' folder.

With TrackStat, you have to also have Custom Scan plugin installed, and you will then find a "Output directory" setting in Custom Scan Settings page under the TrackStat Statistics Export module.

I don't remember exactly how it looks like in iTunes Update, but I know there is a "Direct Update" option in its settings page which needs to be turned off if you don't have iTunes on the same machine. Turning this option off will make iTunes Update producing a text file instead of calling iTunes directly. Based on the source code which I just took a look at, I think it produce a iTunes_Hist.txt file in the Playlist Folder. Maybe that's the one you are seeing ?



If I want to just use iTunesUpdate where do I find the equivalent file for that and what is it called?

For iTunes Update you would use:
C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\iTunesUpdate\iTunesUpdate.pl
and specify the iTunes_Hist.txt file it generates as input



Also, how do I use perl? Do I just create a text file to run PERL with the relevant paths and just run the script (or set it to be scheduled?)

You run perl from a command prompt something like this:
perl.exe C:\ProgramData\Squeezebox\Cache\InstalledPlugins\P lugins\iTunesUpdate\iTunesUpdate.pl iTunes_Hist.txt
(Assuming you stand in the directory where the iTunes_Hist.txt file is)

If you use TrackStat, you would use the same principle, just use the TrackStat provided TrackStatiTunesUpdate.pl file and the txt file generated by TrackStat.

Finchy
2012-02-24, 12:17
OK, so I have copied the iTunesUpdate.pl file from the LMS cache folder onto my laptop into the iTunes folder, and copied the iTunes_Hist.txt file from the playlists folder there as well.

I have created a .bat file with the following;

C:\Perl\bin\perl.exe "C:\Users\Matthew\My Music\iTunes\iTunesUpdate.pl" iTunes_Hist.txt

(C:\Music\iTunes\ being the path of the Windows data files and C:\Perl\bin\perl.exe being the path of the perl installation, but it's not updating. I get the CMD window pop up but quickly close. What am I doing wrong? Have I got the right idea and just using the wrong script?

Presumably the iTunesUpdate.pl won't change, so what I'd like to do is be able to set up a script on the laptop to point to the iTunes_Hist.txt on the LMS but update on the laptop, and set it to schedule so it runs periodically.

Should the iTunes_Hist.txt be purged when it does update?

erland
2012-02-24, 16:16
OK, so I have copied the iTunesUpdate.pl file from the LMS cache folder onto my laptop into the iTunes folder, and copied the iTunes_Hist.txt file from the playlists folder there as well.

I have created a .bat file with the following;

C:\Perl\bin\perl.exe "C:\Users\Matthew\My Music\iTunes\iTunesUpdate.pl" iTunes_Hist.txt

(C:\Music\iTunes\ being the path of the Windows data files and C:\Perl\bin\perl.exe being the path of the perl installation, but it's not updating. I get the CMD window pop up but quickly close. What am I doing wrong? Have I got the right idea and just using the wrong script?

What you have done sounds correctly, but maybe you could try to open a command prompt and run the bat file from the command prompt so you can see what it says ?
At the moment it sounds like just closes the window so you have no idea what the error is.



Presumably the iTunesUpdate.pl won't change, so what I'd like to do is be able to set up a script on the laptop to point to the iTunes_Hist.txt on the LMS but update on the laptop, and set it to schedule so it runs periodically.

Should the iTunes_Hist.txt be purged when it does update?

If I remember correctly, the iTunes_Hist.txt file is renamed at the end of the execution so the next time you run the script it will be a new file which only contains the changes since last time the script was run.