#!/usr/bin/perl
use LWP::Simple;

my $script_name = "kodinp";
my $author = "multiple";
my $version = "0.1";
my $license = "Public domain";
my $description = "Get current song from kodi";


weechat::register($script_name, $author, $version, $license, $description, "", "");
weechat::hook_command("kodi", "Get current song from kodi", "", "", "", "kodi", "");

# Config
my $ip = "192.168.1.130";
my $port = "8080";

# Declare vars
my $artist;
my $title;
my $album;
my $np;

# Get NP data method
sub kodi {
        # Get now playing from xbmc
        my $content = get("http://$ip:$port/jsonrpc?request={%22jsonrpc%22:%20%222.0%22,%20%22method%22:%20%22Player.GetItem%22,%20%22params%22:%20{%20%22properties%22:%20[%22artist%22,%20%22title%22,%20%22album%22],%20%22playerid%22:%200%20},%22id%22:%20%22AudioGetItem%22}");
        die "get failed" if (!defined $content);

        # Get now playing
        if($content =~ m/"artist":\[(.*?)\]/i) {
                $artist = $1;
                $artist =~ s/"//g;
        }
        if($content =~ m/"title":"(.*?)"/i) {
                $title = $1;
        }
        if($content =~ m/"album":"(.*?)"/i) {
                $album = $1;
    }

        # Set NP var
        if (!defined $artist){
                $np = $title;
        } else {
                $np = $artist . " - " . $title . " (" . $album . ")";
        }

        # Unset vars
        undef $title;
        undef $artist;
    undef $album;

        # Output to active window in weechat
        if (defined $np){              
                weechat::command("", "/me np: $np");
        }
        return 1;
}
