!7 static JLabel l; static Map consequentsMap = synchroCIMap(); p-noconsole { autoUpdate(); final JFrame frame = showMaximizedFrame(jscroll_verticalExtend_trackWidth(jTiledBackground(#1007195, setForeground(Color.white, setFontSize(120, l = jcenteredlabel()))))); final VF1 toConsequentsMap = consequentsMap_receiver(consequentsMap); time "Loading" { loading { mapVoid(toConsequentsMap, dropLast(linesOfFile(speechRecognitionLog()))); } } tailFileLinewisePlusLastLine(speechRecognitionLog(), 100, voidfunc(S utterance) { utterance = trimLastLine(utterance); if (!isProperlyQuoted(utterance)) ret; utterance = unquote(utterance); if (empty(utterance)) ret; print(">> " + utterance); utterance = trimSubstring(utterance, indexOf(utterance, ']')+1); toConsequentsMap.get(utterance); S answer = consequentsMap.get(utterance); if (nempty(answer)) utterance += "\n\n" + answer; setTitle(frame, utterance); setText(l, jlabel_textAsHTML_center(utterance)) }); }