Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partial Aenea + Caster support #312

Closed
drmfinlay opened this issue Oct 29, 2018 · 7 comments
Closed

Partial Aenea + Caster support #312

drmfinlay opened this issue Oct 29, 2018 · 7 comments
Assignees
Labels
Aenea Issue related to Aenea caster code or project. Caster Issues pertaining to primarily the Caster project. New Feature A new feature that is not currently implemented.

Comments

@drmfinlay
Copy link
Member

Aenea is a client-server library for using voice macros from Dragon NaturallySpeaking and Dragonfly on remote/non-windows hosts (Linux X11 or MacOS).

I noticed that allowing Aenea's Key, Text and Mouse proxy action classes to be used instead of the classes from dragonfly has been mentioned before on the Caster Gitter channel by @tbenst.

I think a good approach would be to have a Caster setting in the miscellaneous section for conditional importing of those classes from dragonfly or aenea and replacing relevant import statements in caster with something like from caster import Key to keep things clean. Perhaps aenea.ProxyAppContext could be imported as AppContext too? I'm not sure.

I use Aenea extensively with my own grammars, so I'm happy to implement this and test it. Of course, Caster features such as the mouse grids would not work server-side.

@tbenst
Copy link

tbenst commented Oct 29, 2018

Hey, happy to help with this. I still use this setup pretty frequently but have fallen off of master on aenea and caster. The main approach I took was to take caster files and then call the comparable aenea functions instead. Take a look at ccrmerger, mergerule, filter and nexus in the link below:

https://github.com/tbenst/magneto-client/tree/master/magneto

Edit: on the host side I think everything was basically the same as aenea. Although I did make a fun little app indicator for showing microphone status: tbenst/magneto-host@1fbfbc4

Edit2: the entry had to be changed too: https://github.com/tbenst/magneto-client/blob/master/_magneto.py

@drmfinlay
Copy link
Member Author

Hey, thanks for the links! I will try using your approach. That app indicator sounds like a good idea 👍

@LexiconCode LexiconCode added the New Feature A new feature that is not currently implemented. label Oct 29, 2018
@LexiconCode LexiconCode added Caster Issues pertaining to primarily the Caster project. Aenea Issue related to Aenea caster code or project. labels Oct 29, 2018
@esc123
Copy link

esc123 commented Oct 31, 2018

Sorry, don't have anything of much use to add but just want to give a +1 for this idea. It would make life for me so much easier if it were possible to use Casters functionality in a Linux environment. If making the adjustments to Caster that you suggest @Danesprite would make that possible I for one would be extremely happy. Windows is the devil! :)

@drmfinlay
Copy link
Member Author

I have this implemented in my fork now (drmfinlay@9685f0b). It seems to work nicely with Caster's Emacs and Firefox grammars at least. Will make a pull request tomorrow.

Let me know if I've messed up somewhere; there are quite a few similar changes.

@esc123
Copy link

esc123 commented Nov 1, 2018

Awesome news. I haven't attempted to install Aenea yet because of its non-compatibility with caster so I will attempt to install that first. I hear it's rather tricky so may take a while. But when I do Ill let you know if your changes have been successful. Thanks!

@tbenst
Copy link

tbenst commented Nov 2, 2018

Nice work! One other piece of integration between Caster and aenea that’s been critical to my workflow is on-the-fly addition of commands. An example of this is in https://github.com/tbenst/magneto-client/blob/master/magneto/modules/core/copypaste.py, which shows a simple method for creating a copy-paste dictionary. Eg if I say right now “con arch copy comment” that would execute control-a, control-c on host, and send the contents of the clipboard back to caster on guest. Caster would then save the string under the key “comment” in a dictionary (And save to disk) so that later I could say “paste comment” and the keystrokes would be executed. This technique is also potentially applicable for creating macros on the fly without restarting dragon. My copy paste dictionary has a couple hundred entries in it, and way easier than a keyboard ;)

Edit: this approach requires an aenea plugin, which is pretty straightforward: https://github.com/tbenst/magneto-host/blob/master/server/linux_x11/plugins/copypaste.py

@drmfinlay
Copy link
Member Author

@tbenst Thanks! That's a clever way of using the clipboard! I'll try that out and see if I can add it in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Aenea Issue related to Aenea caster code or project. Caster Issues pertaining to primarily the Caster project. New Feature A new feature that is not currently implemented.
Projects
None yet
Development

No branches or pull requests

4 participants