• 1
  • 51
  • 52
  • 53(current)
  • 54
  • 55
Win Yatse 2 : Open Source Media Center Remote Control App for Touch Screen
Build 149 does just that - try it
Glenn
Reply
I had mistakenly installed the 148 build. 149 now displays newly downloaded fanart within a second or so after playback starts! Actually works surprisingly well on new artists. I really appreciate this.
Reply
There's a small issue with the way new fanart is detected in extrafanart folders. For example:

If Yatse cant find fanart in an Artist folder, if the next song that's played back get's new fanart downloaded, the new fanart isn't detected by Yatse for the subsequent song.

In my attached log, Song #1 with the artist Sugar Ray didn't get fanart... so the subsequent song that DID get fanart downloaded, Yatse didn't detect... even half way through the song. The fanart files are definitely in the correct path during song playback. After that, Yatse seems to recover from this issue; and, starts detecting extrafanart jpg's again. Hopefully, the log will reveal why this is happening.

yatse.log
Reply
Hi
The log shows no files for first song and presumably none downloaded.
For second song (forget artist) no artwork, then does find fanart1.jpg and swaps to that. Never checks again, as the condition is default artwork in use.

I presume the fanart1.jpg probably is still in use/downloading and even though it has swapped to that it can't access and it fails and then does not check again.

Have modified code
- Now checks to see if file is accessible (as much as one can) before stopping the check.
Actually quite hard for me to test - (local copies so quick hard to capture)

But try Build 150 - uploading now...

Glenn
Reply
any way to install Yatse in openelec system ?

how convert source as add-on ?
Reply
Hi Glenn,

I tried build 150. It still "almost" has the same behavior under the same test.

Previously, the second song that's played, would trigger Yatse to switch from Default_Diaporama.png background to Background.png (instead of using the newly downloaded extrafanart folder fanart images).

Now, the second song that's played, triggers Yatse to switch from Default_Diaporama.png (from first song) to another Default_Diaporama.png (instead of using the newly downloaded extrafanart folder fanart images). Or, switches the background to a full Yellow background with the Google Music logo (from Yatse local music Fanart cache folder)... instead of the newly downloaded fanart images.

I really appreciate your help.

yatse.log (build 150)
Reply
Still looking at the log.

But you have musicfanartrotation now set to true!!
As mentioned before that will stop extrafanart from working. Need to turn off (and I probably should disable it in the code in a future build)

Try it with that off/set to false.

Welcome to post script so I can better test, someone else might wise to use.

Glenn
Reply
(2015-07-25, 20:10)nayef Wrote: any way to install Yatse in openelec system ?

how convert source as add-on ?
No, it's a windows application running under wpf and .net.
No way to convert to another platform.
Glenn
Reply
Glenn, I'm not sure how/why the fanart rotation setting was changed. I think this happens automatically when I double-click on the Yatse Windows system tray icon (to get it out of alwaysMinimize mode temporarily). I think that's what was happening the last couple of times too inadvertently Now sure if you intended it that way.

Fanarts now works perfect with Google music playback in Yatse.. even with new songs. The only thing missing are the Album thumbs/cdart png's not showing up (even when, they're physically there); but, that not near as bad as not having fanart backgrounds showing up.
Reply
Thanks
Nope - no changes to fanartrotation with doubleclick or otherwise. Does default to on when installed if no previous config file. (have changed to off)

Do post your script as others may like to use, and will have a look at it and see whether can easily incorporate the logic into Yatse2 c# code. (with a config on/off setting)

Glenn
Reply
I intend to post the working script as soon as I clean it up a little for the logic to be easier to read.

On a completely unrelated note... I finally added Emby to Kodi.. it integrates surprisingly well. I thought you might like it since we seem to have similar tastes. I had to change DSPlayer to use http for it to work though (which I finally figured out). Now, DSPlayer can handle all my Internet media streaming addons YouTube and Amazon Prime Video too.
Reply
I haven't had much time to cleanup my script. But, I did want to post what I do have. It was quick and dirty; not, intended for public (so sorry for it's current condition). As soon as I get a chance, I'll update this post again with less overly-complex code. My script wouldn't even be useable if it wasn't for Glenn. As always, thanks Glenn.

Code:
set-executionpolicy bypass
$currentlyPlayingArtist = $NULL
$logfile = "C:\Users\MKANET\Desktop\invalid-urls.log"
if ($logfile){del $logfile -ErrorAction SilentlyContinue}

$artistFolders = dir ([environment]::getfolderpath("MyMusic")) -Attributes Directory -Exclude "*My Music*"
$MusicDirPath = ([environment]::getfolderpath("MyMusic"))

#Music Directory Path Override:
#$MusicDirPath = "$($PSScriptRoot)\Fanart"

$url = "http://127.0.0.1:8091/jsonrpc?request={`"jsonrpc`": `"2.0`", `"method`": `"Player.GetItem`", `"params`": { `"properties`": [`"artist`"], `"playerid`": 0 }, `"id`": `"AudioGetItem`"}"

$wc = New-Object System.Net.WebClient
$wc.Headers.Add("Content-Type", "application/json")
$wc.Encoding = [System.Text.Encoding]::UTF8
try {$json = $wc.DownloadString($url)} catch {}
$wc.dispose();

$currentlyPlayingArtist = $json | ConvertFrom-Json -ErrorAction SilentlyContinue | select -ExpandProperty result -ErrorAction SilentlyContinue | select -ExpandProperty item -ErrorAction SilentlyContinue | select -ExpandProperty artist -ErrorAction SilentlyContinue

if ($currentlyPlayingArtist)    {
    mkdir "$($MusicDirPath)\$($currentlyPlayingArtist)\extrafanart" -force | out-null
    $processArtistFolder = "$($MusicDirPath)\$($currentlyPlayingArtist)"

    if (!(test-path "$($processArtistFolder)\extrafanart\fanart*.jpg")) {

    write-host "Downloading fanart for: $($currentlyPlayingArtist)"
    #if(!(gi $MusicDirPath)) {write-host "No songs to process"; exit}
    $artistFolder = gi "$($MusicDirPath)\$($currentlyPlayingArtist)"


    $wc = New-Object System.Net.WebClient
    $wc.Headers.Add("api-key","d5d51752e041d15ed2277084f47e6252")
    [System.Reflection.Assembly]::LoadWithPartialName("System.web") | out-null

    $artist = $currentlyPlayingArtist
    $artist = [System.Web.HttpUtility]::UrlEncode($artist);
    $url = "https://fanart.tv/?s=$artist&sect=2"
    $result = $wc.DownloadString($url)
    $artist = $currentlyPlayingArtist.replace(" ","-")
    $result -match "(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}(?=/$artist|)" | out-null
    $artistID = $matches | select -ExpandProperty Values
    #$artistID = "6e650a01-6489-4dc8-85e1-8ec809dd72a2"


    $url = "http://private-anon-55574de17-fanarttv.apiary-proxy.com/v3/music/$artistID"

    $wc.Headers.Add("Content-Type", "application/json")


        $json = $wc.DownloadString($url)
        $jsonArtist = $NULL
        $artistbackgroundURLS = $NULL
        $jsonArtist = $json | ConvertFrom-Json
        $artistbackgroundURLS = $jsonArtist | select -ExpandProperty artistbackground -ErrorAction SilentlyContinue | select -ExpandProperty url -ErrorAction SilentlyContinue
        if ($artistbackgroundURLS.count -gt 8) {$MaxArtistBackgrounds = 8} else {$MaxArtistBackgrounds = $artistbackgroundURLS.count}


        try {

        if ($MaxArtistBackgrounds -gt 1) {
            $wc.Headers.Set("Content-Type", "image/jpeg")
            for ($i=0;$i -lt $MaxArtistBackgrounds; $i++) {
                $wc.DownloadFile($artistbackgroundURLS[$i], "$($MusicDirPath)\$($artistFolder.Name)\extrafanart\fanart$($i+1).jpg")
                }
        } else {
                $wc.DownloadFile($artistbackgroundURLS, "$($MusicDirPath)\$($artistFolder.Name)\extrafanart\fanart1.jpg")
                }

        } catch {

                    $wc.dispose();
                    $wc = New-Object System.Net.WebClient
                    #Insert your FanArt.TV Project api-key below:
                    $wc.Headers.Set("api-key","dsdaasd5d51752e041d15ed22770dsdwsd252")
                    $artist = $currentlyPlayingArtist
                    $artist = [System.Web.HttpUtility]::UrlEncode($artist);
                    $url = "https://musicbrainz.org/search?query=$($artist)&type=artist&limit=1&method=indexed"

                    $result = $wc.DownloadString($url)
                    $result -match "(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}" | out-null
                    $artistID = $Matches[0]

                    $url = "http://private-anon-55574de17-fanarttv.apiary-proxy.com/v3/music/$artistID"

                    $wc.Headers.Add("Content-Type", "application/json")

                    $json = $wc.DownloadString($url)
                    $jsonArtist = $NULL
                    $artistbackgroundURLS = $NULL
                    $jsonArtist = $json | ConvertFrom-Json
                    $artistbackgroundURLS = $jsonArtist | select -ExpandProperty artistbackground -ErrorAction SilentlyContinue | select -ExpandProperty url -ErrorAction SilentlyContinue
                    if ($artistbackgroundURLS.count -gt 8) {$MaxArtistBackgrounds = 8} else {$MaxArtistBackgrounds = $artistbackgroundURLS.count}
                    if ($MaxArtistBackgrounds -gt 1) {
                        $wc.Headers.Set("Content-Type", "image/jpeg")
                        for ($i=0;$i -lt $MaxArtistBackgrounds; $i++) {
                            $wc.DownloadFile($artistbackgroundURLS[$i], "$($MusicDirPath)\$($artistFolder.Name)\extrafanart\fanart$($i+1).jpg")
                            }
                    } else {
                            $wc.DownloadFile($artistbackgroundURLS, "$($MusicDirPath)\$($artistFolder.Name)\extrafanart\fanart1.jpg")
                            }
                }


    #$errURLs = (gc $logfile).Replace("http://private-anon-55574de17-fanarttv.apiary-proxy.com/v3/music/","https://musicbrainz.org/artist/")

    } else  {

            "Fanart already exists for: $currentlyPlayingArtist"
            if (!(Get-Process Yatse2)) {invoke-item  "C:\Program Files (x86)\Yatse Socket\Yatse2.exe"}
            $FanartExists = $True
            }

<#    if ($artistbackgroundURLS) {
        Get-Process Yatse2 -ErrorAction SilentlyContinue | Stop-Process
        invoke-item  "C:\Program Files (x86)\Yatse Socket\Yatse2.exe"
    }#>
} else {
    write-host "No songs playing"
    }

if (!(Get-Process Yatse2)) {invoke-item  "C:\Program Files (x86)\Yatse Socket\Yatse2.exe"}

Get-ChildItem $MusicDirPath -recurse | Where {$_.PSIsContainer -and @(Get-ChildItem -Lit $_.Fullname -r | Where {!$_.PSIsContainer}).Length -eq 0} | Remove-Item -recurse
Reply
Good Morning, I'm hoping to find an answer...
Attempting to install the Yatse plugin for kodi, however I'm getting an appcrash error:
Fault bucket 207215247, type 25
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Yatse2.service.Setup.exe
P2: 0.0.0.0
P3: 558d6dc0
P4: Yatse2.service.Setup.exe
P5: 0.0.0.0
P6: 558d6dc0
P7: c0000005
P8: 00005f39
P9:
P10:

Attached files:
C:\Users\htpc\AppData\Local\Temp\WER7AAC.tmp.WERInternalMetadata.xml

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Yatse2.service.S_d84c6f1a5f4798ea48a6a2b87310e2ead54d56_23399af8

Analysis symbol:
Rechecking for solution: 0
Report Id: 5591705c-56f3-11e5-a24d-e03f49af186d
Report Status: 0

Thank you for your time.
Reply
Any possibility of having the TV guide displaying with YATSE2?
Reply
(2015-09-09, 15:07)dougfoot Wrote: Good Morning, I'm hoping to find an answer...
Attempting to install the Yatse plugin for kodi, however I'm getting an appcrash error:
Fault bucket 207215247, type 25
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Yatse2.service.Setup.exe
P2: 0.0.0.0
P3: 558d6dc0
P4: Yatse2.service.Setup.exe
P5: 0.0.0.0
P6: 558d6dc0
P7: c0000005
P8: 00005f39
P9:
P10:

Attached files:
C:\Users\htpc\AppData\Local\Temp\WER7AAC.tmp.WERInternalMetadata.xml

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Yatse2.service.S_d84c6f1a5f4798ea48a6a2b87310e2ead54d56_23399af8

Analysis symbol:
Rechecking for solution: 0
Report Id: 5591705c-56f3-11e5-a24d-e03f49af186d
Report Status: 0

Thank you for your time.

Thats interesting - was just a installer package to install the files into the correct kodi directory. Seems to run on my end.

Anyhow - have attached to Github below zip with the files and instructions on where to drop them

https://github.com/Ghawken/Yatse2-1/rele...ervice.zip

As for TV guide within Yatse2 - probably not I would have thought but will think about it.

Glenn
Reply
  • 1
  • 51
  • 52
  • 53(current)
  • 54
  • 55

Logout Mark Read Team Forum Stats Members Help
Yatse 2 : Open Source Media Center Remote Control App for Touch Screen5