plissk3n wrote:Does somebody has the sourcecode of the randomiser? I remember AndyP offered it at sometime but I couldn't grab it.
I don't have the source code exactly... but I have something that I can share in a bit. I want to work out all the kinks.
So, when I read your question the other night, I wondered if I could just decompile the binary.
It turns out that .NET code decompiles very easily. I was able to use ILSpy to get the source. I don't know what AndyP originally wrote it in, but I have C# "source" that came out of the decompiler. I was able to get it built and running from there... and then I started making a bunch of changes.
So, I can do it over again, get it running, and then upload that version of the source (as in, a buildable C# clone of the existing randomizer), or I can finish the changes I'm making and upload that version.
I don't care either way, it won't take that long to get the source out of ILSpy again.
Or, if you get VS2015 (the free version is what I'm using), you can download ILSpy and decompile it yourself.
So far as what changes I'm making:
I am changing the XML format (maybe) and adding fields to the rounds so you can provide meaningful feedback. If you're a weird OCD collector like I am... I want to have an organized collection with everything related to CH... even stuff I'm not really into.
So, I wanted to add an option to "bury" a round, or even a whole video, to where it would never show up again unless you went into the menu and un-buried everything...
Then I starting thinking about tagging videos based on genre, presence or absence of a beatmeter, presence or absence of an audio cue. Let people have a configuration menu that says "I really don't ever want to see anything with X, Y or Z in it" or "I loathe audio-only cues, I want only visual/audio beatmeters". Have a user configuration screen that lets you set which types of videos are even able to play.
Then that got me to thinking that I could do some pie-in-the-sky Pandora like tracking/suggestion/algorithm stuff. I think AndyP intended to do SOMETHING with the SkillRating field. I was thinking that I could put upvote/downvote buttons during a break, use that to bias the random function (if that's enabled)... I was thinking of also doing some time tracking trickery. So, for example, if a given round is finished abruptly, maybe bias that same round (or another from that video) to show up again sooner in the random rotation. If it happens again... can the app start to correlate that the round getting cut off is possibly one that pushes you over the edge? In that way, would it be possible to have it "learn" a profile of what sort of stuff you're into (possibly if the genre idea I had is implemented), and maybe as a "session" using the randomizer goes longer, it'll start weighting the bias closer to stuff that will knock you over the edge. Kinda like a "director" mode like they said the first Left4Dead game had.
So, anyway... yeah. I can upload the "source" to what AndyP had. If you're impatient and give ILSpy a shot, I can help you get the VS project set up...
And nearly everything I just described I probably wont' ever have the time to implement! Except probably the "please don't ever show this particular video again' button/XML piece.
Oh, and speaking of XML, I may have the most complete copy (not sure) of the XML file. There was a pornolab torrent that had a VERY completionist set of CH videos (missing mostly newer stuff) and I made an XLST to re-sort the XML file to compare it to mine, and merged everything that was in my XML into it... so I have built on the back of the pornolab torrent (see:
this thread (link is to a milovana post))
Anyway, since the XML file is pretty complete, I can post it in a link below. There's a lot of videos I haven't put in there yet... so it's still missing a lot of newer stuff, but it has 1001 rounds in it. Oh, and I added a DTD to the top of it. You can ignore that or use it if you have use for it. The randomizer doesn't care that it's there.
I put it up on pastebin (a reputable text sharing site), because it is ~180k.
http://pastebin.com/akdUXWUX