!7 sclass Katze extends DynModule { transient O recognizer; JComponent visualize() { ret centerAndSouth( jimage(#1101205), vstack2( withMargin(jcenteredbutton("Start Listening", rThread startListening)), jcenteredbutton("Stop Listening", rThread stopListening) )); } void listenJustOnce { print('listenJustOnce); temp enter(); if (recognizer == null && !hasBot("Chrome Speech.")) recognizer = runDependent(#1013936); waitForBot("Chrome Speech."); send("Chrome Speech.", "just once"); } void startListening { print('startListening); temp enter(); if (recognizer == null && !hasBot("Chrome Speech.")) recognizer = runDependent(#1013936); else send("Chrome Speech.", "start recognition"); } void stopListening { temp enter(); sendOpt("Chrome Speech.", "stop recognition"); } void start { onSpeechRecognized(voidfunc(S s) { temp enter(); //callOpt(dm_moduleOfType('Hello), 'setText, s); if (!match("stop listening", s)) setText((JTextComponent) getCreator('tfTopInput), s); }); } void cleanMeUp_katze { cleanUp(recognizer); } }