Thanks, but I am not sure what you mean. CustomData(#) returns 0 for every track for me.
Sorry, I don't know why it won't work for you. Occassionally global variables produce a result I don't understand. Sometimes that situation is 'fixed' by restarting MC. In this case, after restarting, repeat the steps to ensure the variables are properly set: Start a playlist. Check your PN column in the Playing Now list. Switch to your library view and refresh. Does that help?
What I meant was a way to determine to which player's playing now playlist a track belongs.
I don't know of any way to do that. IsPlaying() and IsInPlayingNow() return all tracks in any zone. So this technique is going to produce confusing results if there are multiple zones in use, even if dormant but not cleared. Furthermore, although zones are shown separately, Playing Now behaves like one view. It's not possible to use different expression columns for each zone to set global variables per zone.
According to the description the function is supposed to determine if a file is currently playing in any zone. Is it working for you?
Yes, but I don't use DLNA. Maybe this is better for you. You can still use PN to show what's playing in your Sqeezebox zones, while using this technique to show what's playing on the PC in your library view. If there's no way to determine what's playing by zone, this is the best you're going to get.