Author Topic: VAExtensions, a general purpose plugin  (Read 10964 times)

JGFarris

  • Newbie
  • *
  • Posts: 15
    • My Facebook Page
Re: VAExtensions, a general purpose plugin
« Reply #20 on: October 07, 2016, 09:46:08 am »
Anyway, if you have downloaded the files all you should need to do is add the library in the project references (Property->references).
The Package Manager integrated with Visual Studio (not entirely sure if the 'NuGet Package Explorer' is the same thing, you shouldn't have to download that separately...) should have already done that for you, but maybe try removing and re-adding manually.
well, I'll keep messing with it. In the meantime,  I was finally able to connect to my SQL server database from within my own project. :-)

I just love programming. :-)
Jerry Farris, Jr.
Entrepreneur, Programmer and Disability Advocate
jerry@jerryfarris.com

Antaniserse

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 86
    • My VA plugins
Re: VAExtensions, a general purpose plugin
« Reply #21 on: November 23, 2016, 08:23:20 am »
Version 2.0 is out, with support for the new VoiceAttack plugin interface... requires VoiceAttack 1.6 or later
"I am not perfect and neither was my career. In the end tennis is like life, messy."
Marat Safin

Gary

  • Administrator
  • Hero Member
  • *****
  • Posts: 1268
Re: VAExtensions, a general purpose plugin
« Reply #22 on: November 23, 2016, 09:03:41 am »
Awesome :)

Frici

  • Newbie
  • *
  • Posts: 12
Re: VAExtensions, a general purpose plugin
« Reply #23 on: November 24, 2016, 01:52:13 pm »
Version 2.0 is out, with support for the new VoiceAttack plugin interface... requires VoiceAttack 1.6 or later

Great! thanks for your hard work :D

Technomancer

  • Jr. Member
  • **
  • Posts: 60
Re: VAExtensions, a general purpose plugin
« Reply #24 on: February 16, 2017, 10:06:34 am »
Late to the party...haven't played ED in a while, but...

SCHWEEET!!!

Exergist

  • Full Member
  • ***
  • Posts: 173
  • Can you dig it?
Re: VAExtensions, a general purpose plugin
« Reply #25 on: February 27, 2017, 11:33:11 am »
This sounds super cool and might be a great way to test the water with the plugins. I'll definitely need to check this out!!

Thanks for the great work!  :D

Gangrel

  • Global Moderator
  • Full Member
  • *****
  • Posts: 129
Re: VAExtensions, a general purpose plugin
« Reply #26 on: March 12, 2017, 03:58:59 pm »
I am trying to come up with a command that reads a string from a text file and paste it into Elite Dangerous text entry box. And then the next time it does the next line. So on and so forth.

Currently I am having to use 2 commands (one to copy) and another to paste, and I was wondering if there was a method to do this using this extension....

Mr Talkalot

  • Newbie
  • *
  • Posts: 6
Re: VAExtensions, a general purpose plugin
« Reply #27 on: March 28, 2017, 12:02:28 am »
Would really like some basic information on how to install and use this.

I have some commands in a xlsx format that I would like to convert to a VA Profile,
that I can add to my current profile for ED.

Any other help about how to use txt, html, and other formats with VA would be greatly appreciated
by this non programmer.

Antaniserse

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 86
    • My VA plugins
Re: VAExtensions, a general purpose plugin
« Reply #28 on: March 28, 2017, 03:01:32 am »
Would really like some basic information on how to install and use this.

I have some commands in a xlsx format that I would like to convert to a VA Profile,
that I can add to my current profile for ED.

Any other help about how to use txt, html, and other formats with VA would be greatly appreciated
by this non programmer.

Installation is pretty straightforward: take the folder (not the single files) inside the zipped archive, and extract inside the \Apps directory in your main VoiceAttack folder, so that you end up with a \Apps\VAExtensions\<some files> structure

After that, just launch VoiceAttack and, if you have plugin enabled in your options, you should see a confirmation message in the log that VAExtensions has been loaded... import the sample profiles included to have a look at the various functions

Note, however, that all the TXT/XML/CVS/etc. reading capabilities of the plugin are not meant to directly import new commands from those files into your profiles, but rather to use the data inside to feed your various actions with whatever extra info you might need from external files

"I am not perfect and neither was my career. In the end tennis is like life, messy."
Marat Safin

Lensman

  • Newbie
  • *
  • Posts: 20
Re: VAExtensions, a general purpose plugin
« Reply #29 on: March 28, 2017, 08:51:08 pm »
Note, however, that all the TXT/XML/CVS/etc. reading capabilities of the plugin are not meant to directly import new commands from those files into your profiles, but rather to use the data inside to feed your various actions with whatever extra info you might need from external files

 ???
This is the part I find most confusing and would want a little more guidance and instruction on..,,,,,

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1062
  • RTFM
Re: VAExtensions, a general purpose plugin
« Reply #30 on: March 29, 2017, 07:20:26 am »
This plugin can read and write data to and from VoiceAttack values/variables. It does not make profiles or commands.

In a way, it's a more advanced version of the "Value from file/URI" feature built into VoiceAttack's "Set a Text Value" action.

Antaniserse

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 86
    • My VA plugins
Re: VAExtensions, a general purpose plugin
« Reply #31 on: March 30, 2017, 07:20:33 am »
This plugin can read and write data to and from VoiceAttack values/variables. It does not make profiles or commands.

In a way, it's a more advanced version of the "Value from file/URI" feature built into VoiceAttack's "Set a Text Value" action.
Yes, pretty much this... it gives you a finer control over what format and what chunks of data you can extract from those files, compared to the built in "Value from file" action
"I am not perfect and neither was my career. In the end tennis is like life, messy."
Marat Safin

Exergist

  • Full Member
  • ***
  • Posts: 173
  • Can you dig it?
Re: VAExtensions, a general purpose plugin
« Reply #32 on: May 01, 2017, 01:38:53 pm »
I tried out the VAExtensions plugin and the CSV Sample. For ease of viewing as of this writing, the CSV example file contains:

Code: [Select]
Ship            System        Station
Asp Explorer    Caledo        Jael Port
Sidewinder BD-02 5286     Borlaug Dock

...and the spoken output from running the "load file" command from the CSV Sample profile is: "file loaded, 2 rows and 3 columns."

The "read value" command from the CSV Sample profile contains:

Code: [Select]
Set Text [VxFile] to 'TestData\testcsv.csv'
Set integer [VxRow] value to 1
Set integer [VxColumn] value to 2
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
    Say, '{TXT:VxResult}'  (and wait until it completes)
End Condition
Begin Small Integer Compare : [VxError] Does Not Equal 0
    Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met
Pause 1 second
Set integer [VxRow] value to 2
Set Text [VxColumn] to 'Ship'
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
    Say, '{TXT:VxResult}'  (and wait until it completes)
End Condition
Begin Small Integer Compare : [VxError] Does Not Equal 0
    Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met

...and the spoken output for this command is: "Caledo" (pause) "BD-02 5286"

What I don't quite understand is how the "BD-02 5286" was returned when I'm sending VxColumn as 'Ship' (which would technically be the first column). I was expecting the output to be "Sidewinder" for the second spoken phrase (VxRow = 2 and VxColumn = Ship).

Am I mistaken here or does the "read_csv" plugin context not accept text variables for referencing rows or columns?

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1062
  • RTFM
Re: VAExtensions, a general purpose plugin
« Reply #33 on: May 01, 2017, 01:47:41 pm »
It's a little confusing when you're following the examples, but the column number takes precedence over the column name, so you have to clear the column number variable for the plugin to read the text variable:
Code: [Select]
Set integer [VxColumn] value to [Not Set]
So to get the example working:
Code: [Select]
Set Text [VxFile] to 'TestData\testcsv.csv'
Set integer [VxRow] value to 1
Set integer [VxColumn] value to 2
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
    Say, '{TXT:VxResult}'  (and wait until it completes)
End Condition
Begin Small Integer Compare : [VxError] Does Not Equal 0
    Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met
Pause 1 second
Set integer [VxRow] value to 2
Set integer [VxColumn] value to [Not Set]
Set Text [VxColumn] to 'Ship'
Execute external plugin, 'VA Extensions 2.0' and wait for return
Begin Small Integer Compare : [VxError] Equals 0
    Say, '{TXT:VxResult}'  (and wait until it completes)
End Condition
Begin Small Integer Compare : [VxError] Does Not Equal 0
    Write '[Red] {TXT:VxResult}' to log
End Condition - Exit when condition met

Exergist

  • Full Member
  • ***
  • Posts: 173
  • Can you dig it?
Re: VAExtensions, a general purpose plugin
« Reply #34 on: May 01, 2017, 01:56:52 pm »
As usual, Pfeil is the man (and freaky quick with his response)!

As a side note I have a sneaking suspicion that the comparison of VxRow in the "search value" command within the CSV Sample profile should be an INTEGER comparison and not a SMALL INTEGER comparison.

Antaniserse

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 86
    • My VA plugins
Re: VAExtensions, a general purpose plugin
« Reply #35 on: May 01, 2017, 11:15:41 pm »
It's a little confusing when you're following the examples, but the column number takes precedence over the column name, so you have to clear the column number variable for the plugin to read the text variable

Yes, this is pretty much true elsewhere in the examples too.

Ever since the introduction of the new plugin interface, VA gives access to the whole range of existing variables to the plugin code (while the previous implementation only pushed the specific variables mentioned in the 'execute plugin' window), so it is not always obvious which ones you want to consider in the specific call and which ones are to be ignored

Now, to avoid any ambiguity, you need to clear the unused variables before executing other functions; at some point I should probably rework the code and samples a bit to make use of the new scoped variables (with ~ and >), which avoids these kind of issues

Quote
As a side note I have a sneaking suspicion that the comparison of VxRow in the "search value" command within the CSV Sample profile should be an INTEGER comparison and not a SMALL INTEGER comparison.
That is correct: line should read
Code: [Select]
    Begin Integer Compare : [VxRow] Equals 0
« Last Edit: May 01, 2017, 11:20:32 pm by Antaniserse »
"I am not perfect and neither was my career. In the end tennis is like life, messy."
Marat Safin

Exergist

  • Full Member
  • ***
  • Posts: 173
  • Can you dig it?
Re: VAExtensions, a general purpose plugin
« Reply #36 on: May 02, 2017, 07:02:49 am »
Is it possible to use VAExtensions to write to a CSV? If so is there an example to reference?

Antaniserse

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 86
    • My VA plugins
Re: VAExtensions, a general purpose plugin
« Reply #37 on: May 02, 2017, 10:15:01 am »
Is it possible to use VAExtensions to write to a CSV? If so is there an example to reference?

Not at this time

So far, basically every file manipulating function has been set for reading only, both as a safety measure and because for the most part people seems more interested in fetching data to feed to VA rather than the opposite

What kind of use did you have in mind: writing a file from scratch (easy) or saving data in specific "cells" of an existing CSV , by specifying row and colums (more complex)?
"I am not perfect and neither was my career. In the end tennis is like life, messy."
Marat Safin

Exergist

  • Full Member
  • ***
  • Posts: 173
  • Can you dig it?
Re: VAExtensions, a general purpose plugin
« Reply #38 on: May 02, 2017, 10:52:18 am »
I'm nearly finished developing a Mass Effect 3 profile that requires a fair amount of voiced user input depending on how much the user wants to customize his/her experience. I intend to publish the work as a mod, so I'm aiming to minimize the time required to get users up and running as well as the time users need to spend working directly with VA (besides issuing setup and in-game commands). I'm still refining and testing all the commands, but I can provide you more detail here or via PM if you want more context. Basically VA has to be "taught" the state of the game by the user (Shepard's class, current squadmates, available powers, etc), and VA saves all these variables for later use. Being able to export these variables outside of the profile would be quite handy, especially since different saved games may required different values for the profile variables.

Ideally it would be great to be able to search an external file for whatever variable I need, which keeps me from having to make sure that the order that VA defines variables exactly matches the order they appear in the external file. I also really like the array aspect of the CSV, which makes visualization and transfer of blocks of variables easier.

I agree with you in that more users probably just want to read a file instead of write to a file, but for my purposes VA is the engine by which everything is created and storing it externally would add more flexibility and robustness.

Antaniserse

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 86
    • My VA plugins
Re: VAExtensions, a general purpose plugin
« Reply #39 on: May 02, 2017, 02:30:03 pm »
Basically VA has to be "taught" the state of the game by the user (Shepard's class, current squadmates, available powers, etc), and VA saves all these variables for later use.


Compared to the ED samples above, where one might need to handle a large number of ships, systems etc., I would guess that you don't need as much dynamic info for the ME3 data you just described.
So, I would suggest having a look at the INI sample profile instead, which is one of the few set of functions that has also writing support already coded, and should also be faster than CSV parsing
"I am not perfect and neither was my career. In the end tennis is like life, messy."
Marat Safin