
A bit of an unusual request, but there is reasoning behind what I'm about to ask. So my question is...
Is there a way to display a robots spoken response as text with ARC?
Let me explain. Speech synthesis for a robots response is not an option here. You speak to a robot using speech recognition and the robot responds with text displayed on the computer screen. Now using the Pandorabot control will do this showing the robots response in the debug window, but the text is too small.
If your familiar with Pandorabot, you'll know that when you have a published bot, you get your own page where your Pandorabots response is displayed and you can add HTML code to change the text layout. This is something like what I'm looking to do via ARC. I could use the Pandorabot portal, but I would need control commands which are imbedded in the bots responses to activate when the response is given.
The reasoning behind this, is for someone who is hard of hearing to interact and converse with the robot, so you see why speech synthesis can't really be used in this situation. I might be overlooking something obvious here, or there might be something that I'm unaware of, so ANY input anyone can offer on this really would be gratefully appreciated.
Cheers,
Steve.
Get the latest ARC and install this plugin: https://synthiam.com/redirect/legacy?table=plugin&id=17
That's an example of how easy it is to create a plugin.
@WBS source code is available as well
Okay DJ. I'll check it out. Thanks.
@SteveG Thank you for the kind words and you are more than welcome. Glad to help. Thanks for the video as well. It was great to see it working on the tablet. I was happy to see it automatically change width appropriately when being turned from Landscape to Portrait modes. I wasn't sure about that. Now that you have a Pandorabot variable, (even a response script) the last piece of the puzzle falls into place. That's excellent!
I have gotten the control code for having the window go to stay on top mode (and setting it back to normal) to work ok. Also, it is an option via the options menu. I plan to have similar control codes for the other functions as well. I'll make up a list of variables set to the appropriate values that will be initialized when the SendToDisplay script is first run. You will be able to refer to that script for the names as needed. Also, I'll have an option for placing a blank line between the text lines.
Additionally the color picker for the background is installed. You can choose from a set of predefined colors and create up to 16 custom ones. As with the other options, all that will be saved upon program termination and reloaded upon restarting the program.
Finally I am going to go ahead and enable the hide buttons feature so as to hide the two front buttons and the bar upon which they are mounted. I should be able to initiate that by double tapping in the display area. It would toggle from visible to invisible, giving you only a nice clean display area. That means the Clear button will be gone too, but I can make it clear the screen by a single tap. Unless you can simulate a right mouse click with your fingers somehow.
Once I have those things going well, I'll upload the new updated executable file, as well as, a revised SendToDisplay script so you can use those features soon.
@WBS.
That's great. I posted the video as I guessed that you might like to have seen a quick demo on the tablet. Yes, I'm so happy that DJ added the Pandorabot vairable (and so quickly too), and the added bonus of the script editor as well which comes in useful for the text displays (your's and the plug-in DJ added to ARC too). The other features you mentioned will be a great addition to EZ-Display. I look forward to the update.
There are some files attached which are explained at the end of this post.
I finally have the newer version of the EZdisplay program done. The changes are:
Taking these one at a time:
Debug option. This, when selected, generates a Debug.txt file in the same place as where the EZDisplay.exe file is located. It will allow me to analyze problems should they arise.
An Extra Linefeed option. This is simply for the blank line between text lines from the SendToDisplay script.
The Background Color option for selecting the desired color of the background of the display.
The Show Buttons option. This makes the "Set" and "Clear" buttons, and the strip they are on, visible or invisible. This option can also be set and reset with a mouse doubleclick or touch doubletap.
Usually the clearing of the display can be done manually by clicking/tapping the Clear button on the display. But, since the Set and Clear buttons can now be hidden as desired, a way was needed to bring them back. Usually this would be done by a mouse Right Click. No mouse on a touch screen, so I added a doubletap option to bring the buttons back. The doubletap will toggle the visibility of the buttons as desired. Additionally, the screen can be cleared by a single tap to the display area. When you doubletap to hide the buttons, the display area will also clear, however. I don't think that will be a problem. If it is, there is a way around that but will make the code more complicated (and possibly prone to errors) so I didn't employ it. If there comes a need to keep the text on the screen when doubletapping let me know and I will do that.
The stay on Top function. When selected, the display will stay on top of all other windows regardless of what they do. This function can also be set/reset via sending a remote control sequence. When the $StayOnTopOff is sent via remote control, the Display will probably immediately go behind another window.
Remote Controls These are sent via the SendToDisplay script as desired. Currently, the Remote Controls are:
They are sent either by themselves or in conjunction with a line of text:
More Detail:
These are associated with the usual functions accessed via the negative sign (-), the square, and the X found at the top right of most windows.
$WinNormal: This is the usual state for the window depending on what size it was last set to.
$WinMaximized: Fills the screen with the Display program.
$WinMinimized: Reduces the window to an icon at the bottom of the screen.
$WinVisibleOff Makes the Display invisible. Unlike $WinMinimized, it is still there so when it it is made visible again, It just appears. This, instead of flying out from it's minimized state.
$WinVisibleOn: Makes the Display visible again. NOTE: $WinNormal, $WinMinimized, and $WinMaximized will also make the Display visible again.
Generally, the $WinNormal, $WinMinimized, $WinMaximized, $WinVisibleOff, $WinVisibleOn will be sent to the Display by themselves. They will still need a sleep period between them when they are.
The attached files are: A new executable (EZDisplay.exe) and new SendToDisplay script containing the remote control variables. Simply overwrite the old executable wherever you put the original one in the install process, and copy and paste the contents of the SendToDisplay file into the SendToDisplay script in place of that is there now. NOTE: Leave the first line as it is and overwrite the rest.
Let me know how it goes.
EZDisplayFiles.zip
@WBS.
Many thanks for the update and for adding the upgrades. I haven't had a chance to download and try the update yet, but once I do, I'll let you know how it performs. Over the weekend, I had a great idea for using EZ-Display on my current project which should be fun.