function musicInfo(info) {
  scrollStop();
  layout.title.label = info.track || "";
  layout.album.label = info.album || "";
  layout.artist.label = info.artist || "";
  // color depends on all labels
  layout.title.col = infoColor("title");
  layout.album.col = infoColor("album");
  layout.artist.col = infoColor("artist");
  layout.num.label = formatNum(info);
  layout.render();
  rTitle(layout.title); // force redraw of title, or scroller might break
  // reset auto exit interval
  if (tIxt) {
    clearTimeout(tIxt);
    tIxt = null;
  }
  if (auto && stat==="play") {
    // if inactive for double song duration (or an hour if unknown), load the clock
    // i.e. phone finished playing without bothering to notify the watch
    tIxt = setTimeout(load, (info.dur*2000) || IOUT);
  }
}
/**
 * Update music info
 * @param {Object} info - Gadgetbridge musicinfo event
 */
Update music info
@param {Object} info - Gadgetbridge musicinfo event
Update music info @param { Object } info - Gadgetbridge musicinfo event
function musicInfo(info) {
  scrollStop();
  layout.title.label = info.track || "";
  layout.album.label = info.album || "";
  layout.artist.label = info.artist || "";
  layout.title.col = infoColor("title");
  layout.album.col = infoColor("album");
  layout.artist.col = infoColor("artist");
  layout.num.label = formatNum(info);
  layout.render();
  rTitle(layout.title); 
  if (tIxt) {
    clearTimeout(tIxt);
    tIxt = null;
  }
  if (auto && stat==="play") {
    tIxt = setTimeout(load, (info.dur*2000) || IOUT);
  }
}
function musicInfo ( info ) { scrollStop ( ) ; layout . title . label = info . track || "" ; layout . album . label = info . album || "" ; layout . artist . label = info . artist || "" ; layout . title . col = infoColor ( "title" ) ; layout . album . col = infoColor ( "album" ) ; layout . artist . col = infoColor ( "artist" ) ; layout . num . label = formatNum ( info ) ; layout . render ( ) ; rTitle ( layout . title ) ; if ( tIxt ) { clearTimeout ( tIxt ) ; tIxt = null ; } if ( auto && stat === "play" ) { tIxt = setTimeout ( load , ( info . dur * 2000 ) || IOUT ) ; } }
Update music info
 @param {Object} info - Gadgetbridge musicinfo event
Update music info @param { Object } info - Gadgetbridge musicinfo event
// color depends on all labels // force redraw of title, or scroller might break // reset auto exit interval // if inactive for double song duration (or an hour if unknown), load the clock // i.e. phone finished playing without bothering to notify the watch