Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: "hotness" (Read 201620 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

"hotness"

Reply #350
You can try assigning another global variable with $set_global(). Could be that ELPlaylist is unable to access Coulmns' values correctly?. Try using Columns Playlist and see if the algorithm works as intended there. The algoritm shouldn't return values above 100 because of $max().

"hotness"

Reply #351
Surprisingly, changing the variable name revealed that those set with %set_global are not readable at tall. So $get(hotness) used the value assigned with $puts(hotness, ...). Nonetheless, it is that value which inexplainably exceeds 100.

"hotness"

Reply #352
Anybody know of a plugin or something similar to hotness as this code doesn't seem to be working?

"hotness"

Reply #353
I've translated that code, with one consideration: You'll need foo_customdb v0.8 or earlier, because newer versions doesn't allow using %now% which is safe in this case I think

[font= "Lucida Console"]$puts(baselinefrequency,90)

$puts(baselinedecay,28)

$puts(lp,[%last_played%])
$puts(fp,[%first_played%])
$puts(pc,[%play_count%])
$puts(rating,[%rating%])
$puts(avgrating,3)

$puts(baselinefrequency,$mul($get(baselinefrequency),24))
$puts(baselinedecay,$mul($get(baselinedecay),24))
$puts(lp_age,$add($substr($get(lp),12,13),$mul(24,$add($mul($sub($year($get(lp)),2000),365),$mul($month($get(lp)),30),$day_of_month($get(lp))))))
$puts(fp_age,$add($substr($get(fp),12,13),$mul(24,$add($mul($sub($year($get(fp)),2000),365),$mul($month($get(fp)),30),$day_of_month($get(fp))))))
$puts(age,$sub($get(lp_age),$get(fp_age)))
$puts(now_age,$add($substr(%now%,12,13),$mul(24,$add($mul($sub($year(%now%),2000),365),$mul($month(%now%),30),$day_of_month(%now%)))))
$puts(recentness,$sub($get(now_age),$get(lp_age)))
$puts(decay,$div($div($mul($get(pc),$get(baselinefrequency),$get(baselinedecay),$if2($get(rating),$get(avgrating)),100),$mul($max($get(age),$get(baselinefrequency)),$get(avgrating))),100))
$puts(rawhotness,$div($mul($max($sub($get(decay),$get(recentness)),0),100),$get(decay)))
$puts(forecast,$div($mul($max($sub($get(decay),$add($div($max(0,$sub($get(baselinedecay),$get(recentness))),2),$get(recentness))),0),100),$get(decay)))
$puts(hotness,$div($add($get(rawhotness),$get(forecast)),2))
$get(hotness)[/font]
[/size]

"hotness"

Reply #354
Hi, i'm used this in my foobar and get such large values. For example "1916286". Is it normal?

Moderation: Removed useless full quote of the preceding post.

"hotness"

Reply #355
No, it's not normal, at least by my foobar.
The values I get are from 0 to 100, and if play_count is 0 the value returned is always 0
I'll maybe see the code later but it should work, I don't know why you have problems

Do you have foo_customdb v0.8 or earlier?

"hotness"

Reply #356
I have v0.0.8c ? Need 0.0.8 ?

"hotness"

Reply #357
No you must use earlier version.
0.8a, 0.8b, 0.8c... are of no use

Googling it, it will show, but if you really can not find try extracting the component from r a p i d s h a r e.com/files/219136553/Foobar2000_0.9.6.4_RialtoPack.exe (erase the spaces from r a p i d s h a r e)

[edit] I hope that I will not get banned showing this

"hotness"

Reply #358
Works fine. I get 0.0.8 on the component offcial page. Tnanks for you help!

"hotness"

Reply #359
Thanks 2E7AH, your script is working fine.

"hotness"

Reply #360
Any chance of an official playstats version?

"hotness"

Reply #361
Don't you think this is from offical playback statistics:

[font= "Lucida Console"]$puts(lp,[%last_played%])
$puts(fp,[%first_played%])
$puts(pc,[%play_count%])
$puts(rating,[%rating%])
...[/font]

"hotness"

Reply #362
I've noticed that foo_customdb v0.8 is trashing console with "out of memory" string on start-up, and then I just saw this post and it works as it should

So, if you are CUI user and interested in using this "hotness" algorithm, better use that code instead of what I posted above
  • tics on "make date info available" in Globals tab in CUI playlist view preferences, as the poster said
  • paste the code at the end in "Globals > Variables tab"
  • use it with $get_global(hotness)

"hotness"

Reply #363
How can i make autoplaylist with all files with "hotness">0? and sort by hotness too

"hotness"

Reply #364
You can't, but of course you can sort by that field in playlist view

Another way by PM

"hotness"

Reply #365
Hi, just tried to get the hotness code work in ELP playlist. So far I used the code from chiwou
(that works without cwb_hooks) in the playlist view ( activated Date option), and simply tried in elp settings to use the $get_global(hotness) command to retrieve info - but I get "unknown function" as a result. Someone got this to work in ELPlist? 

"hotness"

Reply #366
@ El noire
These were the steps i followed
chiwou's code (without cwb) @ globals - variables
setting ''Use Global Variables for Display'' on @ the globals tab.
Make new column with ''$get_global(hotness)'' (without quotes)

And then it should work, works for me anyway.

"hotness"

Reply #367
foo_customdb can be used to implement a global timestamp set by the last playing track. This is how you should set it up:

1. Define a new field (call it "Now" or something sane) with a fieldname "NOW_CD". The custom key should match any track in the media library - To do this, just define a static number (not a variable, as you normally would) - I just used 0.
2. Define an Action pointing to the NOW_CD field and set it to update on "Playback" with the value %now%. You could set the slider to update on 0% Playback percentage, to make it update instantly.

Voila, you have a %now_cd% that contains the timestamp for the last played file. Better than nothing

2E7AH: Will you test if you can make this work with the hotness script?
Can't wait for a HD-AAC encoder :P

"hotness"

Reply #368
Yeah, I will
First I need to finish tagging my library, then some sleep, and after that I'll post the script which will work of course, and percentage should be set to more then 1min if using official playback statistics, so that hotness will update correctly

"hotness"

Reply #369
Hi, just wondering if anyone has been able to implement this into elplaylist, i see the question was asked further up and i have the exact same results as El Noire.
Ive followed what hxkclan but i think thats to get it to work using the playlist with CUI. (perhaps not)

Am i right in thinking the problem lies in elplaylist not being able to retrieve globals set by hotness (CUI).
Ive had a goosey around the forums but not been able to find anything relating to this, can anyone shine any light on this? and if not possible a work around (such as implementing this code into elplaylist?)

Thanks, Anomaly.

"hotness"

Reply #370
Maybe I missed it, but how do I actually implement this into foo_customdb ?  Where do I put the code posted by 2E7AH above (with possible mods being required)?

Thanks,

Mike


"hotness"

Reply #372
Any other components or settings required?  I just get a question mark "?" when I put display the %HOT% tag in a column.

Mike

"hotness"

Reply #373
restart foobar and add hot in square brackets: [%hot%]

"hotness"

Reply #374
Hmm, I'm just getting "0" against certain tracks.  Either nothing is very hot in my collection, or this isn't working.  Ah well.