Hi Marko,
Thanks for the tip on the setfield function!
You're most welcome
I've wanted a playback history for so long, and now it's possible
Many of us have. Exciting times.
Initially, this does have potential, though I do have concerns regarding some things that will hopefully not become a problem in the future.
Concerns are, once we have built up enough data to work with, turning that data into useful and interesting 'Greatest Hits' kind of lists may become overly cumbersome.
The field will keep on growing, and growing, and growing... My experimentation so far goes along these lines:
To get data out of it, I have created a search list pane containing a separate search for each year from 2003 to 2022.
To sort that data so that the most played is listed first for each year, I have created separate custom fields to count the history... yup, a field for every year
This system has an MC benchmark score between 5 and 6000, and with around 40k play history entries so far, it's getting noticeably laggy... I will keep plugging away as, at the moment at least, I'm confident we can work out ways to keep it quick.
Not looked at it yet, but also praying these port across to theater view nicely...
Quick question: Can MC converts dates in a list field, such as [Play History], to readable dates?
For now, I use FormatDate([Play History], ...), but it only converts the first date in the list (see image).
The quick answer is "Yes". Some more thoughts first...
I elected to save the raw date data thinking that from there, I could do pretty much as I pleased with it, without too much hassle. You could, of course, save formatted data directly into the history field, like so:
setfield(Play History,[play history];formatdate(now(),datetime))
As gappie mentioned before, we have a new
ListFilter() function (thanks zybex/Matt) that really helps with extracting the data, along with the already existing
ListMix() function, which is the answer to your question, if you are like me and prefer to keep saving unformatted data. Here's where I'm at so far...
At this time, there is a little problem with the listmix() function and forward slashes that is getting ironed out, so until then, they're best avoided.
How about an expression based pane using this expression:
listmix(formatdate([L1],yyyy\MM\dd HH:mm:ss),0,[Play History])&datatype=[list]
It creates a calendar tree out of all the unfiltered, unformatted data.
Using this as an expression based list column will show you the number of times each file was played in 2021:
listcount(listfilter([Play History],0,convertdate(2021),convertdate(2022)))
This search:
[=listcount(listfilter([Play History],0,math(now()-180),now()))]=>=1
will
always return files played in the past six months. This is made a lot simpler by having the raw history data.
This search:
[=listcount(listfilter([Play History],0,convertdate(2021),convertdate(2022)))]=>=1 ~sort=[Chart 2021]-d
will return all files played in 2021, and sort them in descending order on the "Chart 2021" library field, which is an expression based field, created using:
listcount(listfilter([Play History],0,convertdate(2021),convertdate(2022)))
So, you can probably see that there is much potential in both directions...
The positive: It's great to finally have the data, and potentially exciting to see what ideas we can collectively come up with to make good use of it.
The negative: As the years roll by, could this slowly bring our MCs to a grinding halt? Extracting, and then dealing with the data is cumbersome.
Will update here with any progress I make on this project....
-marko