Re: discoveries! gtk DOES dim... how can i infinite-loop?



Gary, based on conversations in the past about what you are trying to
do, I whipped up a little program that just might approach what you are
trying to do.  If I understand you correctly, you wish to do the following:

- type text in an editor where abbreviations are expanded (by macros in
gvim or some other mechanism in another editor) to full words or
phrases, so that you can compose text faster, even with disabilities.
- speak the written text with espeak the text
- save what was spoken so you can load it back up and re-speak it, or
edit it and speak it again.

Seems like the big requirement is the ability to use abbreviations.  I'm
not clear on how gvim does it for you, but the GtkSourceView2 widget
(not part of GTK, but all distros have it and it's fully integrated with
GTK) supports what are called "Completions."  They are intended for use
with programming, but they also can function as an abbreviation
mechanism.  As you type, when an abbreviation is detected it can pop up
a suggestion that pressing enter will accept, or keep typing and the
suggestion will change or go away.  Multiple suggestions can be made as
well.

So, here's my program.  It's written in Python, since python is one of
the absolute best languages for rapid prototyping.  This app did not
take much time to write, and it gave me a chance to refresh my skills
and learn how to use some more advanced GTK widgets like the TreeView.
Anyway, my program does not save what was spoken to disk, though that
can be added very easily.  It does save what was spoken during one
session of running the program.  As well, currently abbreviations are
hard-coded in completion.py, but again that could be saved to disk
easily.  There's already a dialog for editing the abbreviations within
the program.

I believe it does most of what you require, and could be expanded very
rapidly.  It is written in Python, but now that the prototype is made,
it could be converted to C easily, though there is no advantage in doing
that really.  The GUI itself was made in Glade-3, so the actual widgets
and the magic behind the TreeView is hidden somewhat.  Glade has the
advantage of making it very easy to rapidly develop the GUI.

Anyway, the source code is here:
git repo: http://www.torriefamily.org/~torriem/tts_assist.git
tarball:  http://www.torriefamily.org/~torriem/tts_assist.tar.gz

You will need to install pygtk2 and gtksourceview2.  On Fedora those are
the exact package names.

I think it would be fun to develop this further (perhaps porting to
GTK3), but I thought I'd post what I had.  If it's not useful, that's
fine.  Python makes coding fun and very fast!

Michael




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]