Всем привет! Я ньюфаг, и понемногу пытаюсь изучать JS на примере чужого кода. У меня есть рабочий код для вывода названия трека на jQuery, но теперь я хочу обойтись без jQuery. В поисках наткнулся на этот код:
function getTitle(){
    if(typeof meta.title != "undefined"){
        return meta.title;
    } else {
        return defaultSongTitle
    }
}
var radioMetaUpdated = new Event('radioMetaUpdated');
audio.addEventListener('playing', function () {
    console.log('plays');
    chrome.browserAction.setIcon({
        path: {"38": 'pause.png'}
    });
    if (metaRefreshTimer !== null) {
        clearInterval(metaRefreshTimer);
        console.log('clearInterval');
    }
    function refreshMeta() {
        function reqListener() {
            var new_meta = JSON.parse(this.responseText);
            new_meta.title = new_meta.artist + ' - ' + new_meta.track;
            if (new_meta.title != getTitle()){
                meta = new_meta;
                audio.dispatchEvent(radioMetaUpdated);
                chrome.browserAction.setTitle({"title": new_meta.title});
                gaSendEvent('User', 'listening', new_meta.title);
            }
        }
        var oReq = new XMLHttpRequest();
        oReq.addEventListener("load", reqListener);
        oReq.open("GET", "http://api.radioskovoroda.com:3000/api/stream/current/radio");
        oReq.send();
    }
    refreshMeta();
    metaRefreshTimer = setInterval(refreshMeta, 5000);
});
Проблема в том, что этот код отлично работает для "своего" аудиопотока, ведь у него данные о композиции хранятся в переменных "artist" и "track", но когда я его пытаюсь приладить под нужды моего (в котором данные о композиции хранятся в одной переменной "title"), то все ломается и не работает:
function getTitle(){
    if(typeof meta.title != "undefined"){
        return meta.title;
    } else {
        return defaultSongTitle
    }
}
var radioMetaUpdated = new Event('radioMetaUpdated');
audio.addEventListener('playing', function () {
    console.log('plays');
    chrome.browserAction.setIcon({
        path: {"38": 'pause.png'}
    });
    if (metaRefreshTimer !== null) {
        clearInterval(metaRefreshTimer);
        console.log('clearInterval');
    }
    function refreshMeta() {
        function reqListener() {
            var new_meta = JSON.parse(this.responseText);
            new_meta.title = new_meta[0].title;
            if (new_meta.title != getTitle()){
                meta = new_meta;
                audio.dispatchEvent(radioMetaUpdated);
                chrome.browserAction.setTitle({"title": new_meta.title});
                gaSendEvent('User', 'listening', new_meta.title);
            }
        }
        var oReq = new XMLHttpRequest();
        oReq.addEventListener("load", reqListener);
        oReq.open("GET", "http://live.sovaradio.ru:8000/stream");
        oReq.send();
    }
    refreshMeta();
    metaRefreshTimer = setInterval(refreshMeta, 5000);
});
Неделю уже бьюсь 
 
  
  
 
Заранее большое спасибо!