Recent Posts

Pages: [1] 2 3 ... 10
General Discussion / VA lagging with plugins
« Last post by Loriath on Today at 02:02:24 am »
I have a clean install of Windows 10(Creators Update), Voice Attack, and the latest HCS Voicepack (Verity).

I have been struggling with an issue that I have traced back to having any plugins enabled.

Any command that relies on a plugin seems to have a random lag when responding. I can give commands and VA recognizes them but the responses will lag, anywhere from a second to 10 seconds. If i use a command that is not reliant on a plugin, it gets executed almost immediately.

I have tried reinstalling plugins, running VA as admin (which seems to make it worse for whatever reason) and even marking VA as High Priority in the Task Manager, all with no change. This is both with HCS Voicepacks or the EDDI plugin.

I know its plugins causing this slow down because if I disable plugins and use an older VA profile for the same commands that do not rely on plugins, or other commands with plugins enabled but are not used, it is fine.

Any Ideas? I posted on the HCS forums with no luck.
How Do I? / Executing Prefix/Suffix commands
« Last post by Rhaedas on Today at 01:33:37 am »
Any way to have VA execute derived commands formed from Prefixes/Suffixes? I haven't found an example (unless I'm using the "call by name" wrong).
How Do I? / keybindings
« Last post by zayah on April 24, 2017, 08:27:27 pm »
do i just need to set my key bindings for eden in elite or also in the eden commands
please help
Exactly the same issue for me. When running VA as normal user, everything loads fine, no error message. But some keys don't work. Starting VA as admin, I get the described errors. Still, all seems to work fine. I did not try the journal features yet, though. I'm sure they are good for something.

There is no journal entry in the profile (Verity Full house).
Issues / Re: VoiceAttack preventing PC auto sleep
« Last post by Exergist on April 24, 2017, 08:34:32 am »
Thanks again for the illuminating comments Pfeil. Everything you're saying makes sense. Hopefully there is something Gary can do within VA to address this issue.

Based on how the power request appears/disappears depending on whether a music app is playing/paused, it would be neat if VA mirrored this behavior whether VA has voice, button, keypress, etc. recognition on/off. Again, I have no idea how feasible this might be.
Issues / Re: VoiceAttack preventing PC auto sleep
« Last post by Pfeil on April 24, 2017, 08:12:32 am »
More info about the requests override
The problem here is that it's a driver level setting, presumably meaning that if VoiceAttack overrides it, no sound-playing applications on your system that don't explicitly individually prevent the system from sleeping, will be able to do so.

E.G. you could be playing music through the speakers while not at your computer, and it would suddenly go to sleep.

I also tried changing the power settings as shown in the below attachment
Sharing Media applies when you're sharing your local machine's library across the network so other devices can play the contents remotely. It should not apply to any media-playing scenario on your local machine.
So unless you're using that feature, it doesn't solve the issue, but it shouldn't cause issues either if you do change that setting.
Issues / Re: VoiceAttack preventing PC auto sleep
« Last post by Exergist on April 24, 2017, 07:24:01 am »
@Gary: not sure if this is possible, but maybe VA could check for Windows commands to automatically turn on/off the monitor? Or maybe a periodic check for voice input with a volume threshold such that if enough time passes with no significant voice input provided then VA could enter a different state? Or maybe that could "prime" VA to check or start checking for standby mode? (please pardon my probably unintelligent shooting from the hip)

More info about the requests override (source):

Description: Sets a Power Request override for a particular process, service, or driver. If no parameters are specified, this command displays the current list of Power Request overrides.


Arguments Description:
  • <CALLER_TYPE> Specifies one of the following caller types: PROCESS, SERVICE, DRIVER. This is obtained by calling the POWERCFG /REQUESTS command.
  • <NAME> Specifies the caller name. This is the name returned from calling the POWERCFG /REQUESTS command.
  • <REQUEST> Specifies one or more of the following Power Request types: DISPLAY, SYSTEM, AWAYMODE.


...and some info for rolling back the override based on unofficial comments from one user (source):
Is there a possibility to "reset" the overriding ?
To remove the power request override, use the -REQUESTSOVERRIDE option, but do not specify any type of override (System, Display, AwayMode) as in the following example: POWERCFG -REQUESTSOVERRIDE PROCESS wmplayer.exe
But this is only a user comment and not a trustworthy Microsoft statement.

IIRC I also tried changing the power settings as shown in the below attachment, but I don't think that eliminated the problem. Even if it DID, I'm thinking these multimedia settings are far reaching, and I'd hate to have my PC start going to sleep while watching movies just to prevent VA from stopping auto-sleep.

As always, Pfeil and Gary your comments and help are extremely appreciated  :D
Issues / Re: VoiceAttack preventing PC auto sleep
« Last post by Pfeil on April 24, 2017, 05:01:10 am »
the music player only triggers requests when music is playing.
So it does.

When testing I had to close my media players and a browser window with a paused youtube video to make the audio entry disappear, testing again after a reboot shows that the applications do vanish from the list when they stop playing(I can only assume something wasn't quite shutting down properly on my machine, the first time around).
Feature Requests / Re: Command on plugin evenement
« Last post by Sloboda on April 24, 2017, 03:34:01 am »
Hello Pfeil,
sorry for late answer but in fact, it's possible.
Spad have a function: "COMMAND_SPAD_NEXT.REMOTE"
You choose it and write a name of VA Command (can unckeck "When i say")
The function have Conditions if needed so, On enevnt in XPlane, you execute a VA Comand.

In my case, it's really difficult because:
if i write:
If Altitude equals 10000 ft > execute Command1
10000 don't stay as long enough and the command is not exectuted

If i write:
If Altitude is greater than 9500 and less than 10500, the command is executed a thousand time ! Ooopss

Thanks for all.
Profile Uploads / ED screenshot timestamp tool
« Last post by Rhaedas on April 23, 2017, 11:28:50 pm »
Say you take a lot of screenshots in Elite Dangerous during your journeys, you get back or look at them later, wondering where each of them were taken, since they are all "Screenshot_XXXXX.bmp". Maybe some of them have a picture of the dash with the system name, but others outside the ship, no clue.

Until FDev starts giving some ability to change the filenames or some type of timestamp in the pictures, the only way you're going to know is if you stop in each system after taking pictures and go name them something distinct, right?

Not if you can rename them on the fly.

Here's a simple command tied to the F10 key (default screenshot, you can change to whatever yours is) that calls an exe which looks up what system you're in and renames that screenshot to <System name> <Date> <Time>. In the command you can also alter the datetime parameters if you want something different than what it's set up.

To get it running as set up in the profile, do the following:

1) Download the attached profile .vap file and import it into your own.
2) Make a new directory under the VoiceAttack directory called "ScreenshotRename".
3) Download the exe attached, or compile it yourself from the source below, and put the exe into the new directory. Note, you can place it anywhere, just change the location in the command appropriately.
4) Change the text variable "bmppath" in the command to point to where your screenshots default to.
5) Change the text variable "logpath", if necessary, to point to where your game netlog directory is.

If all goes well, that's probably it to get started outside of customizing it to your preferences. When you take a screenshot now (F10 as default), VA will step in and rename the file right then to what the system name is and the time and date taken, so you can not only trace your flight, but if you see something and want to revisit it, you know what system to go back to.

Hopefully I haven't made any mistakes in the instructions. I've tested it a number of times, I think it's somewhat stable. As is, feel free to alter as needed, no guarantees, some restrictions apply, etc.

Pasted command profile:

Code: [Select]
Set Text [bmppath] to '"C:\\Users\\<USERNAME>\\Pictures\\Frontier Developments\\Elite Dangerous\\"'
Set Text [logpath] to '"D:\\Frontier\\EDLaunch\\Products\\elite-dangerous-64\\Logs\\"'
Set Text [datetime] to '"%m-%d-%y %H·%M·%S"'
Pause 0.5 seconds
Run application 'C:\Program Files (x86)\VoiceAttack\ScreenshotRename\renamebmp.exe' -with parameters '{TXT:bmppath} {TXT:logpath} {TXT:datetime}' (hidden) - wait until it completes
Begin Integer Compare : [renameerror] Equals 2
    Write '[Red] Error: Rename has mismatch in parameters' to log
End Condition

Source code for executable:

Code: [Select]
#include "stdafx.h"
#include <cstring>
#include <stdio.h>
#include <iostream>
#include <io.h>
#include <vector>
#include <fstream>
#include <string>
#include <time.h>

using namespace std;

vector<string> lines(1);

string lastfile(string path, string ext) // Get the last file name, should be the most recent one
_finddata_t data;
path += ext;
int ff = _findfirst(path.c_str(), &data);
if (ff != -1)
int res = 0;
while (res != -1)
res = _findnext(ff, &data);

string findsystemname(string file) // Read log file, get the last line that has a system
int i = 0;
string temp;
string system;
ifstream input;;

getline(input, temp); // put all the lines into an array
} while (input.peek() != EOF);

while (i>5) { // now go through array backwards to find the first system
size_t start = lines[i].find("System:"); // they all have this string in them
if (start != string::npos) {
start += 8; // find unique strings
size_t end = lines[i].find("StarPos"); end = end - start - 2;   // that the system is
system = lines[i].substr(start, end); //  between, adjust the position and extract
return system;
return "Unknown"; // if we get this far, no system yet

int main(int argc, char *argv[])
if (argc > 4) exit(2);
string bmppath = argv[1];
string logpath = argv[2];
string datetime = argv[3];
string lookhere = logpath + lastfile(logpath, "*.log");
string newfilename = findsystemname(lookhere); // find last system name
newfilename = bmppath + newfilename;  // build new filename starting with system name
string oldfilename = lastfile(bmppath, "*.bmp"); // find last bmp name
oldfilename = bmppath + oldfilename; // add path to old file

time_t t = time(NULL);
char mbstr[20];
strftime(mbstr, sizeof(mbstr), datetime.c_str(), localtime(&t));

newfilename = newfilename + " " + mbstr + ".bmp";
rename(oldfilename.c_str(), newfilename.c_str());
Pages: [1] 2 3 ... 10