I hope I can explain this clearly...
Many library fields update between track plays, eg the last played data, number of plays, etc and when the Playing Now info is updated between tracks the new data is available to the next drawing of the Playing Now view. With the addition of variables, we can now calculate lots of data on the fly, eg album ratings. But because the Playing Now view doesn't trigger any smartlists the variable data cannot be updated between tracks. So for example, I calculate an album rating using variables and display that data in my Track Info view. But when I update a track rating directly while playing an album the view doesn't update the value because the 'album calculate' smartlist is never called by Playing Now.
I am wondering whether it would be possible to implement a way to trigger a smartlist before a track is played.
I can see two obvious ways to do this: add a special smartlist to all Playing Now/Zones that is evaluated before each track is played. This would enable us to dynamically recalculate data for the next track to be displayed in the new update of the Playing Now view. But it would mean potentially all variable data would have to be recalculated in one go to ensure all data is available for views.
Or, slightly more radical (and exciting!), allow library fields to be assigned smartlists that are called prior to a track being played. So, under Manage Library Fields, I would select a field, eg Album Rating, and there would be a new "smartlist" option that I could point to my album rating smartlist and it would get evaluated before the track is played. This would allow data to be created on the fly and could be better targeted at which data to regenerate.
The downside is clearly the impact of processing could add significant delays during track steps. But that's down to the user to create efficient smartlists. For instance, using IsPlayingNow() to only process files in the current playlist which should be very fast...
The above issue can be a particular problem when MC is used to play music in a way that never causes the variable smartlists to be called - all data fields are then empty. Triggering smartlists during play would help resolve this.
There would be ZERO impact for those that choose not to use this method as no smartlists would ever be called, but for those that want to dynamically update the data being used in their views it would be very useful...