!7 cmodule WitAILastRecording > DynPrintLogAndEnabled { transient StreamingWitAIUploader uploader; start { dm_requireQuickAudioRecord(); dm_require("#1026970/ConcurrentMP3"); dm_vmBus_onMessage startedRecordingMP3(voidfunc(File f) enter { if (!enabled) ret; q.add(r { uploader = new StreamingWitAIUploader; }); }); dm_vmBus_onMessage wroteMP3Chunk(voidfunc(byte[] array, int i, int j) enter { if (!enabled) ret; byte[] data = cloneSubByteArray(array, i, j); q.add(r { uploader.sendData(data); }); }); dm_vmBus_onMessage_q newMP3Recording(voidfunc(File f) enter { S text = uploader.done(); dispose uploader; flatInfoBox(text); swing { S info = "wit.ai english"; if (empty(text)) katze_userSaid(info, "?"); else { temp dm_generalMap_tempPut('topInputInfo, info); dm_setAIBarTextAndFire(text); } } }); } void cleanMeUp { dispose uploader; } }