[!--sizeo:3--][span style=\"font-size:12pt;line-height:100%\"][!--/sizeo--]foo_DAR Setup & Other Useful Info[/size]
[!--sizeo:2--][span style=\"font-size:10pt;line-height:100%\"][!--/sizeo--]UPDATED: 04.05.08[/size]
There are 2 versions of foo_DAR:
1) foo_DAR_full: for foo_playback_custom (this is the official release and has full functionality)
2) foo_DAR_noskip: for foo_playcount (thanks to Bollerkopp for raising this issue - this has been modified for users of the official playback stats plugin and lacks the %skip% function)
foo_DAR_noadded is no longer supported. If you don't have an %added% field, find and replace %added% with %first_played%. However, although you will still get sensible results, this is not an ideal replacement for either foo_DAR_full or foo_DAR_noskip.
Required components and fields for each version:
1) foo_DAR_full for foo_playback_custom
Components required:
foo_custominfo.dll (tested with foo_custominfo 0.1.2)
foo_cwb_hooks.dll (tested with cwbowron's title format hooks 1.2.6 [Jan 2 2008 - 15:50:05])
foo_playback_custom.dll (tested with Playback Statistics Custom 1.4.3)
foo_autoplaylist.dll (optional - to rank according to foo_DAR rating)
foo_ui_columns.dll (optional - but recommended -- has also been tested with 9.5.2 default ui)
Fields used in the ratings formula:
%length_seconds%
%play_counter%
%skip% (skip count)
%added% (this is the date the file was added to the library)
%last_played% (date last played)
%first_played% (date first played)
%cwb_systemdatetime% (time now)
Download the LATEST SETUP INSTRUCTIONS for foo_DAR_full
----------------------------------
2) foo_DAR_noskip for foo_playcount
Components required:
foo_playcount.dll (tested with Playback Statistics v.2)
foo_cwb_hooks.dll (tested with cwbowron's title format hooks 1.2.6 [Jan 2 2008 - 15:50:05])
foo_autoplaylist.dll (optional - to rank according to foo_DAR rating)
foo_ui_columns.dll (optional - but recommended -- has also been tested with 9.5.2 default ui)
Fields used in the ratings formula:
%length_seconds%
%play_count%
%skip%
%added%
%last_played% (date last played)
%first_played% (date first played)
%cwb_systemdatetime% (time now)
(see setup section below for code and info)
----------------------------------
If you enter any of the above fields (or their alternatives i.e. instead of using %play_counter% you use %play_count%) into a column and you get a sensible result then the formula will work, if you do not, then you are missing a required component. A quick search will tell you which one you require.
If you do use an alternative field to those listed above just do a find and replace on the formula and it will work.
************
SETUP
FORMULA: (1) foo_DAR_full for foo_playback_custom
$puts(ra,$mul($add(1000,$div($mul(%length_seconds%,$sub(%play_counter%,$div(%skip%,2))),100)),10))$puts(dd,$div($add($cwb_datediff(%added%,%last_played%),50),10))$puts(pp,$div($mul(%play_counter%,10000),$cwb_datediff(%added%,%cwb_systemdatetime%)))$puts(pd,$mul($get(dd),$get(pp)))$puts(pd2,$div($get(pd),100))$puts(pd3,$div($mul($cwb_datediff(%added%,%cwb_systemdatetime%),125),100))$puts(pd4,$div($get(pp),40))$puts(pd5,$div($mul($cwb_datediff(%added%,%first_played%),5),%play_counter%))$puts(pd6,$add($get(pd3),$get(pd5)))$puts(r1,$add($get(pd2),$get(ra)))$puts(r2,$add($get(pd4),$sub($get(r1),$get(pd6))))$puts(r3,$ifgreater($get(r2),0,$get(r2),1))$puts(r4,$ifgreater($cwb_datediff(%added%,%cwb_systemdatetime%),7,$get(r3),10000))$ifgreater(%play_counter%,0,$num($get(r4),5),-----)
Paste as below (or default ui alternative):
FORMULA: (1) foo_DAR_full for Autoplaylist
Query field:
%play_counter% GREATER 0
Sort field:
$sub($puts(ra,$mul($add(1000,$div($mul(%length_seconds%,$sub(%play_counter%,$div(%skip%,2))),100)),10))$puts(dd,$div($add($cwb_datediff(%added%,%last_played%),50),10))$puts(pp,$div($mul(%play_counter%,10000),$cwb_datediff(%added%,%cwb_systemdatetime%)))$puts(pd,$mul($get(dd),$get(pp)))$puts(pd2,$div($get(pd),100))$puts(pd3,$div($mul($cwb_datediff(%added%,%cwb_systemdatetime%),125),100))$puts(pd4,$div($get(pp),40))$puts(pd5,$div($mul($cwb_datediff(%added%,%first_played%),5),%play_counter%))$puts(pd6,$add($get(pd3),$get(pd5)))$puts(r1,$add($get(pd2),$get(ra)))$puts(r2,$add($get(pd4),$sub($get(r1),$get(pd6))))$puts(r3,$ifgreater($get(r2),0,$get(r2),1))$ifgreater($cwb_datediff(%added%,%cwb_systemdatetime%),7,$num($get(r3),5),10000),100000000)
Paste as below:
----------------------------------
FORMULA: (2) foo_DAR_noskip for foo_playcount
$puts(dur,$div($add(%length_seconds%,180),2))$puts(ra,$mul($add(1000,$div($mul($get(dur),$sub(%play_count%,$div(%skip%,2))),100)),10))$puts(dd,$div($add($cwb_datediff(%added%,%last_played%),50),10))$puts(pp,$div($mul(%play_count%,10000),$cwb_datediff(%added%,%cwb_systemdatetime%)))$puts(pd,$mul($get(dd),$get(pp)))$puts(pd2,$div($get(pd),100))$puts(pd3,$div($mul($cwb_datediff(%added%,%cwb_systemdatetime%),125),100))$puts(pd4,$div($get(pp),40))$puts(r1,$add($get(pd2),$get(ra)))$puts(pd5,$div($mul($cwb_datediff(%added%,%first_played%),5),%play_count%))$puts(pd6,$add($get(pd3),$get(pd5)))$puts(r1,$add($get(pd2),$get(ra)))$puts(r2,$add($get(pd4),$sub($get(r1),$get(pd6))))$puts(r3,$ifgreater($get(r2),0,$get(r2),1))$puts(r4,$ifgreater($cwb_datediff(%added%,%cwb_systemdatetime%),7,$get(r3),10000))$ifgreater(%play_count%,0,$num($get(r4),5),-----)
FORMULA: (2) foo_DAR_noskip for Autoplaylist
Query field:
%play_count% GREATER 0
Sort field:
$sub($puts(dur,$div($add(%length_seconds%,180),2))$puts(ra,$mul($add(1000,$div($mul($get(dur),$sub(%play_count%,$div(%skip%,2))),100)),10))$puts(dd,$div($add($cwb_datediff(%added%,%last_played%),50),10))$puts(pp,$div($mul(%play_count%,10000),$cwb_datediff(%added%,%cwb_systemdatetime%)))$puts(pd,$mul($get(dd),$get(pp)))$puts(pd2,$div($get(pd),100))$puts(pd3,$div($mul($cwb_datediff(%added%,%cwb_systemdatetime%),125),100))$puts(pd4,$div($get(pp),40))$puts(r1,$add($get(pd2),$get(ra)))$puts(pd5,$div($mul($cwb_datediff(%added%,%first_played%),5),%play_count%))$puts(pd6,$add($get(pd3),$get(pd5)))$puts(r1,$add($get(pd2),$get(ra)))$puts(r2,$add($get(pd4),$sub($get(r1),$get(pd6))))$puts(r3,$ifgreater($get(r2),0,$get(r2),1))$ifgreater($cwb_datediff(%added%,%cwb_systemdatetime%),7,$num($get(r3),5),10000),100000000)
----------------------------------
Docs:
Setup Instruction for foo_DAR_full
Step by step formula description
foo_DAR ratings formula test sheet
HOW TO get sensible %added% data when playback stats pre-date the existence of an %added% field
foo_custominfo.dll (as wiki link is down)
C.