So, I know this thread is old, but I just found Modern8 and really like it. I also really liked the idea of random backgrounds so here goes:
I installed a Chrome plugin called Multi Link Opener and set my browser to automatically download. You also want to remove the "Lazy Load" option from the plugin.
Next, I went to the following page and downloaded just about every theme there was using the multi link opener plugin.
From there, after they were all downloaded, I used 7-zip to extract to *\ This caused all the themes to be extracted into their own folders.
After that, I used Agent Ransack to search the theme folder for all JPGs. I use agent ransack because I like it better than the Windows Search. In the Agent Ransack window, I moved all JPGs to a new folder
After installing Modern8, I copied the directory twice and renamed them to "Modern8-Light" and "Modern8-Dark" and renamed the original to "Modern8-Original" From there I configured the light folder the way I wanted it and did the same to the dark folder (ie, changing the logo to the 8 version).
Last, I wrote this script. It's a VBScript that looks at your new pool of wallpaper, picks a random one, possibly darkens it up (using imagemagick / link below), and then gets the greyscale percentage and compares it to a threshold that you set. Based on the threshold, it picks whether to use the light or dark theme you setup.
You could set this as a scheduled task in Windows to run every hour to get a fresh backdrop every so often.
'Change this stuff
Const ImageMagick = "C:\Program Files\ImageMagick-7.0.2-2\" 'Path to the ImageMagick binaries
Const ThemeDir = "C:\ProgramData\Media Center Themer\" 'Path to the Media Center Themer directory
Const Wallpaper = "\\server\wallpaper\" 'Path to directory of wallpapers
'Whether to darken the new background or not. Range is -100 to 100 with 0 being no adjustment. Negative numbers darken the picture
Const AdjustImageBy = 0'-20
'Should not have to change this
Const DefaultTheme = "Modern8"
Const BackgroundName = "ALLBACKGROUNDS.jpg"
Const GoLightThresh = 70 'The range is 1 to 100
Const ActualThres = 65535
'Do not change below this point
Dim oFile, lRnd, i, sTheme
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
i = 0
lRnd = CLng(Fix(Rnd * oFSO.GetFolder(Wallpaper).Files.Count)) + 1
For Each oFile In oFSO.GetFolder(Wallpaper).Files
i = i + 1
If i = lRnd Then Exit For
i = ImageMath(oFile)
If oFSO.FolderExists(ThemeDir & DefaultTheme) = True Then oFSO.DeleteFolder ThemeDir & DefaultTheme
If i >= ((GoLightThresh / 100) * ActualThres) Then
sTheme = "Light"
sTheme = "Dark"
oFSO.GetFolder(ThemeDir & DefaultTheme & "-" & sTheme).Copy ThemeDir & DefaultTheme
If oFSO.FileExists(ThemeDir & DefaultTheme & "\Images\" & BackgroundName) = True Then oFSO.DeleteFile ThemeDir & DefaultTheme & "\Images\" & BackgroundName
oFSO.GetFile(ThemeDir & BackgroundName).Move ThemeDir & DefaultTheme & "\Images\" & BackgroundName
Set oFSO = Nothing
WScript.Echo "The picture was considered """ & sTheme & """ based on a threshold of " & CStr(GoLightThresh) & "%"
WScript.Echo "This pictures scored a " & CStr(Round((i / ActualThres) * 100, 2)) & "% (" & CStr(i) & ")"
Dim oShell, oExec, sInput
ImageMath = -1
Set oShell = WScript.CreateObject("WScript.Shell")
If AdjustImageBy = 0 Then
oFile.Copy ThemeDir & BackgroundName
oShell.Exec("""" & ImageMagick & "convert.exe"" -brightness-contrast " & CStr(AdjustImageBy) & "x" & CStr(AdjustImageBy) & " """ & oFile.Path & """ """ & ThemeDir & BackgroundName & """")
Set oExec = oShell.Exec("""" & ImageMagick & "convert.exe"" """ & ThemeDir & BackgroundName & """ -format ""%[mean]"" info:")
Do While oExec.Status = 0
Do While Not oExec.Stdout.atEndOfStream
sInput = oExec.StdOut.ReadLine()
If IsNumeric(sInput) = True Then
ImageMath = CLng(sInput)
Set oExec = Nothing
Set oShell = Nothing
'Loop to make sure file exists
Loop Until oFSO.FileExists(ThemeDir & BackgroundName) = True