!7 static JLabel l; static Map consequentsMap = synchroCIMap(), precedentsMap = synchroCIMap(); p-noconsole { autoUpdate(); final JFrame frame = showMaximizedFrame(jscroll_verticalExtend_trackWidth(jTiledBackground(#1007195, setForeground(Color.white, setFontSize(120, l = jcenteredlabel()))))); final L> receivers = ll( consequentsMap_receiver(consequentsMap), precedentsMap_receiver(precedentsMap)); time "Loading" { loading { mapVoidMulti(receivers, map unquoteAndDropAngleBracketStuff(dropLast(linesOfFile(speechRecognitionLog())))); } } tailFileLinewisePlusLastLine(speechRecognitionLog(), 100, voidfunc(S utterance) { utterance = trimLastLine(utterance); utterance = unquoteAndDropAngleBracketStuff(utterance); if (empty(utterance)) ret; print(">> " + utterance); mapVoidMulti(receivers, ll(utterance)); S answer = consequentsMap.get(utterance); if (empty(answer)) answer = precedentsMap.get(utterance); if (nempty(answer)) utterance += "\n\n" + answer; setTitle(frame, utterance); setText(l, jlabel_textAsHTML_center(utterance)) }); }