A subprocess would be preferred. (Until someone writes a foreign-function
interface so you can call arbitrary C functions from Lisp ...)
"William M. Perry" wrote:
Jan Vroonhof <vroonhof(a)math.ethz.ch> writes:
> Ben Wing <ben(a)666.com> writes:
>
> > So can we agree upon a standard, i.e. all patch attachments are MIME
> > type "text/plain"?
>
> We already agreed on that. However it doesn't really help. A lot of
> patches are submitted by "first time patchers" and those won't know
> that. The problem here is that the TM uses that type as a device for
> patches. So we cannot do much more than repeat this plea every now and
> again.
>
> The best solution would be to migrate you away from such a broken
> platform. IBM has released its viavoice dev kit for linux as beta, have
> you tried using something like kvoice? If it is anything close to
> sufficient would create XEmacs support for this. (Unfortunately it is
> unlikely that we will be able to release it to the general public).
I actually did a bit of hacking with ViaVoice to get XEmacs to recognize
it. It wouldn't be that hard to do. I was debating whether to put it in
as part of the main XEmacs executable, or just write a generic program that
would run in a subprocess and have a process-filter on it that just
inserted the text.
I didn't actually get any of it working before work starting beckoning
again (ah, to have more than a weekend to hack on things).
My goal was going to be something like:
(defun viavoice-mode (&optional arg)
"Toggle ViaVoice mode.
With arg, turn ViaVoice mode on if and only if arg is positive.
When ViaVoice mode is enabled, voice recognition is performed.
All voice data is analyzed and put into the current buffer as
keystrokes."
...)
(defun viavoice-vocabulary-define-word ()
"Define a word in the XEmacs vocabulary for voice recognition.
You will be prompted to say the word clearly, as well as type the
textual equivalent."
...)
(defun viavoice-vocabulary-remove-word ()
"Remove a word from the XEmacs vocabulary for voice recognition."
...)
(defun viavoice-vocabulary-save ()
"Save the currently loaded vocabulary"
...)
ViaVoice mode would basically boil down to turning the mic on and off by
the appropriate ViaVoice SDK functions. If anybody wants to hack on this,
I'd love to help as much as I can.
I need to just take a month off from work. :(
-Bill P.