!7 sS channel = "UCSvK6EfxnMTajbe-Qpc6NvA"; static YouTubeChannelInfo info; static JLabel lbl, lbl2, lblChannel, lblSeconds; static JSpinner spinner; static int seconds = 1000; p-noconsole { swingFontScale(2); info = youTubeChannelInfo(channel); lbl = jcenteredlabel(); lbl2 = jcenteredlabel(); lblChannel = jcenteredlabel("Channel: " + info.title); spinner = jspinner(10, 1, 60); ImageSurface is = showBigText("Subscribers!", f getSubscribers, 1000).is; addToWindowNorth(is, lblChannel); addToWindowPack(is, vstack(lbl, lbl2, jcenteredline(jsmalllabel("Update every"), spinner, lblSeconds = jsmalllabel("seconds")))); moveToTopRightCorner(is); } sS[] getSubscribers() { int s = intFromSpinner(spinner); setText(lblSeconds, s == 1 ? "second" : "seconds"); if (seconds++ < s) null; seconds = 0; YouTubeStats stats = youTubeStats(channel); setText(lbl, "Views: " + stats.views); setText(lbl2, "Videos: " + stats.videos); ret new S[] { n(stats.subs, "sub"), n(stats.subs, "Sub") }; } static JLabel jsmalllabel(S text) { ret setFontSize(10, jlabel(text)); }