Ah yeah. That’s correct. The iTunes xml file has two pieces of information for smart playlists.. One is the actual smart playlist criteria, and the other are the files that it has determined are in the smart playlist.
The problem is that the playlist criteria are in a binary format — so I can’t convert it to a format the mt-daapd understands, so instead, I just read the files that iTunes has decided is on the playlist, and make a static out of that.
If the xml file were to change, the static playlist would change. You could semi-automate that by setting up a batch file to copy your itunes xml into the mp3_dir somewhere whenever you log into the machine (startup item, or as a scheduled task inside windows)