Jump to content

VAICOM PRO plugin for VoiceAttack


Hollywood_315

Recommended Posts

4 hours ago, CrossWiseRanger said:

sthompson  -- thanks for actually answering my question.

 

You prompted me to check on the capabilities on the VA side.  VA plugins do support a 'Variable Change Event' as:

 

TextVariableChanged(String Name, String FromValue, String ToValue, Guid? InternalID) – this event is raised when a watched text variable’s value is changed.

 

So, can Vaicom add a TextVariableChanged event when the mission starts which provides aircraft type?

VAICOM could use that to detect when the mission or active module changes. But what would you have it do then? I really don't understand what you are asking for. What do you mean by a VAICOM "event?" Aircraft type is already an exposed variable. What do you want VAICOM to do when this changes at the start of a mission?

  • Like 1

I'm Softball on Multiplayer. NZXT Player Three Prime, i9-13900K@3.00GHz, 64GB DDR5, Win 11 Home, Nvidia GeForce RTX 4090 24GB, TrackIR 5, VKB Gunfighter III with MCG Ultimate grip, VKB STECS Standard Throttle, CH Pro pedals

Link to comment
Share on other sites

16 hours ago, sthompson said:

What do you want VAICOM to do when this changes at the start of a mission?

 

Per my earlier comments:

I'm looking for a trigger from Vaicom for when a mission starts, along with the aircraft type, to auto change the profile to current aircraft.  I do it manually now via voice.  Would also use the start trigger to sync controls.  Again, can do it manually.

 

I'm not looking for guidance on how to use Vaicom or VA.  Already have both under control and working well switching profiles etc.

 

Wanting to step up the game with automating this task.  The capability exists -- if Vaicom adds it to the plugin.

VR with Oculus Rift preferred flying method.

Link to comment
Share on other sites

 
Per my earlier comments:
I'm looking for a trigger from Vaicom for when a mission starts, along with the aircraft type, to auto change the profile to current aircraft.  I do it manually now via voice.  Would also use the start trigger to sync controls.  Again, can do it manually.
 
I'm not looking for guidance on how to use Vaicom or VA.  Already have both under control and working well switching profiles etc.
 
Wanting to step up the game with automating this task.  The capability exists -- if Vaicom adds it to the plugin.
I guess we're just curious to know exactly why you want to do this, as it seems to me to already be achievable, just not the way you want it, so maybe you have an excellent use for it that I would like as well!
I'm especially curious about "synching controls".
This haven't, by chance, anything to do with the broken tracks you get when using VAICOM?
Cheers!

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

1 hour ago, MAXsenna said:

I guess we're just curious to know exactly why you want to do this, as it seems to me to already be achievable, just not the way you want it, so maybe you have an excellent use for it that I would like as well! emoji1.png
I'm especially curious about "synching controls".
This haven't, by chance, anything to do with the broken tracks you get when using VAICOM?
Cheers!

Why automate?  My engineering training I guess.  Spend time to fix recurring issues so go away.

 

Is VC the reason playback tracks aren't working?

 

Synching Controls

 

As you know, DCS works with a signal present; but not with a signal not present.  Not talking about toggles.  You can map a switch to turn something on and a switch to turn something off.  You cannot have a switch turning off do anything.

 

I'll use the P-51 Mixture Control for my example.  Use Warthog Throttle flap switch which has 3 positions.  Full Up and Full Down provide a signal.  Center / MWR does not.

 

Here is my DCS Control setup:

 

ACTION KEYBOARD THROTTLE
Mixture Emergency Full Rich LALT+M Joy_Btn22
Mixture Run LCTRL+M  
Mixture Idle Cut Off Lshift+M Joy_Btn23

 

And here is my Mixture VA in synch controls:

 

Mixture Run
Begin Condition : (Joystick 2 Button 22 Is Not Pressed AND Joystick 2 Button 23 Is Not Pressed)
    Press Left Ctrl+M keys and hold for 0.05 seconds and release
End Condition
 

Additionally, there is a VA for Joystick 2 Button 22 Is Not Pressed and another for Joystick 2 Button 23 Is Not Pressed to send LCTRL+M when a switch is turned off.

 

This gives me full control of the mixture switch and it gets synched to switch position at startup.

VR with Oculus Rift preferred flying method.

Link to comment
Share on other sites

Why automate?  My engineering training I guess.  Spend time to fix recurring issues so go away.
 
Is VC the reason playback tracks aren't working?
 
Synching Controls
 
As you know, DCS works with a signal present; but not with a signal not present.  Not talking about toggles.  You can map a switch to turn something on and a switch to turn something off.  You cannot have a switch turning off do anything.
 
I'll use the P-51 Mixture Control for my example.  Use Warthog Throttle flap switch which has 3 positions.  Full Up and Full Down provide a signal.  Center / MWR does not.
 
Here is my DCS Control setup:
 
ACTION KEYBOARD THROTTLE
Mixture Emergency Full Rich LALT+M Joy_Btn22
Mixture Run LCTRL+M  
Mixture Idle Cut Off Lshift+M Joy_Btn23
 
And here is my Mixture VA in synch controls:
 
Mixture Run
Begin Condition : (Joystick 2 Button 22 Is Not Pressed AND Joystick 2 Button 23 Is Not Pressed)
    Press Left Ctrl+M keys and hold for 0.05 seconds and release
End Condition
 
Additionally, there is a VA for Joystick 2 Button 22 Is Not Pressed and another for Joystick 2 Button 23 Is Not Pressed to send LCTRL+M when a switch is turned off.
 
This gives me full control of the mixture switch and it gets synched to switch position at startup.



Ah, okay. Makes a little more sense now. Thanks for taking your time to answer!
I guess I just find it better for me to do it differently having one profile for VAICOM and one catch-all with all commands for every module.

No, I'm not asking why you want automation. That I totally get. Repetition is boring, so I use automation as much as I can in my profession.
Also no. VAICOM is not the reason tracks don't work. But ED's work on having the way DCS track "recording" works fixed, seems slow for the time being. DCS only seem to record mouse clicks, keyboard and DX commands. As you know, VAICOM sends neither, and as far as I know DCS-BIOS has the same limitation.

Actually, you can send a command in DCS by turning a switch off. That's how the TM Warthog flaps lever works for three positions in I.E. A-10, C-101, Mig-19 MiG-21 etc, and how you can move the throttle lever from cut off to idle in most of the modules. Either it's already defined in the joystick.lua or one can define it oneself. Of course if one had to alter the Lua it used to break with every update, but this has been taken care of by replacing one file (Github project) with a mod manager after an update, and there's also another Github project that's trying to consolidating all altered joystick.luas that people made.

As for VoiceAttack and commands, my project now is now to start using it with DCS-Bios, so I hopefully can get rid of most strange macros and keyboard commands that need multiple key presses. Then I should be able to make heading/course knob commands easily. Will probaly also come in handy to just say "flood lights, 50 percent" etc. Instead of turning everything with the mouse. In you're case "mixture xx percent" would be cool if it was quicker to say it instead of just doing it. Hehe
But this will of course totally brake tracks like I mentioned. But you have given me an idea. Having a virtual joystick that sends DX commands could possibly take care of this. Thanks again!
Cheers!

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

3 hours ago, CrossWiseRanger said:

 

Per my earlier comments:

I'm looking for a trigger from Vaicom for when a mission starts, along with the aircraft type, to auto change the profile to current aircraft.  I do it manually now via voice.  Would also use the start trigger to sync controls.  Again, can do it manually.

 

I'm not looking for guidance on how to use Vaicom or VA.  Already have both under control and working well switching profiles etc.

 

Wanting to step up the game with automating this task.  The capability exists -- if Vaicom adds it to the plugin.

 

I guess I still don't know what VAICOM would do when detecting a switch of aircraft at mission start? What do you have in mind? "trigger from VAICOM" is kind of vague. Yes, I understand that you want to "auto change the profile." But how exactly would that happen, working within the limitations of VoiceAttack? As far as I know VAICOM does not "trigger" any VoiceAttack functions at all at present but rather responds to plugin invocations initiated by the user. If you have a coding suggestion you might send it to Hollywood.

I'm Softball on Multiplayer. NZXT Player Three Prime, i9-13900K@3.00GHz, 64GB DDR5, Win 11 Home, Nvidia GeForce RTX 4090 24GB, TrackIR 5, VKB Gunfighter III with MCG Ultimate grip, VKB STECS Standard Throttle, CH Pro pedals

Link to comment
Share on other sites

 

1 hour ago, sthompson said:

I guess I still don't know what VAICOM would do when detecting a switch of aircraft at mission start? What do you have in mind? "trigger from VAICOM" is kind of vague. Yes, I understand that you want to "auto change the profile." But how exactly would that happen, working within the limitations of VoiceAttack? As far as I know VAICOM does not "trigger" any VoiceAttack functions at all at present but rather responds to plugin invocations initiated by the user. If you have a coding suggestion you might send it to Hollywood.

As per my message several back.

 

In VA:  TextVariableChanged(String Name, String FromValue, String ToValue, Guid? InternalID) – this event is raised when a watched text variable’s value is changed.

 

 

If that VA capability was implemented in the Vaicom plugin by adding a TextVariableChanged event providing aircraft type when the mission starts -- I would be happy.

VR with Oculus Rift preferred flying method.

Link to comment
Share on other sites

13 hours ago, CrossWiseRanger said:

 

As per my message several back.

 

In VA:  TextVariableChanged(String Name, String FromValue, String ToValue, Guid? InternalID) – this event is raised when a watched text variable’s value is changed.

 

 

If that VA capability was implemented in the Vaicom plugin by adding a TextVariableChanged event providing aircraft type when the mission starts -- I would be happy.

You seem not to answer the question of what VAICOM should do when such an event is raised. Let's say VAICOM has detected the event using that function. What then? Just because a plugin has detected an event does not mean that your profile commands can detect it. Some kind of further communication or action by the plugin is needed to achieve your automation goal. VAICOM has to act on the event in order for the detection to be useful. How should it act?

 

Your comments make me wonder whether you understand how VAICOM works. VoiceAttack knows nothing about DCS internals and so has no variables that indicate the mission or aircraft except those created by VAICOM. VAICOM is the code that obtains (and sometimes changes) the internal state of DCS. (It does this through two-way network communication with lua code that VAICOM adds to DCS when VAICOM starts up. This is why you may need to start VAICOM before you start DCS.) So VAICOM has no need to detect the change in a VA variable indicating mission start or change of unit because any such variable change would have been made by the VAICOM plugin itself. There is no point in adding to VAICOM code asking VA to detect a change that VAICOM made itself. It would be far more efficient for VAICOM to just take appropriate action when changing the variable. As a consequence I see no role for the function you mention in automating something. 

 

The relevant question for achieving automation is not how to detect the change (since VAICOM detects it already) but rather what action should VAICOM take when it detects a change in mission and/or unit within DCS? It can change a VA variable, which you could detect through execution of a VA command in your profile. It does that already with respect to the aircraft and you can easily add VA commands to your profile to detect such an event and act upon it. (It also exposes the current map, btw.) Or VAICOM could use the EXECUTE method (see VA plugin documentation) to execute a command in your profile. But which one? And what if it does not exist in the profile?

 

I have some concerns that further automation along these lines could add significant overhead to continuously running code, thus possibly slowing down other functions. All to avoid manually or by voice executing a particular command once at the start of each mission. I'm not sure it's worth it except to prove that it is possible.

 

 

I'm Softball on Multiplayer. NZXT Player Three Prime, i9-13900K@3.00GHz, 64GB DDR5, Win 11 Home, Nvidia GeForce RTX 4090 24GB, TrackIR 5, VKB Gunfighter III with MCG Ultimate grip, VKB STECS Standard Throttle, CH Pro pedals

Link to comment
Share on other sites

17 hours ago, MAXsenna said:

But you have given me an idea. Having a virtual joystick that sends DX commands could possibly take care of this.

 

@MAXsenna my first reaction to this was to ask myself "Isn't VoiceAttack itself a virtual joystick that can send DX commands?" The answer turns out to be no. But see this thread on how to add virtual joystick functionality. https://forum.voiceattack.com/smf/index.php?topic=463.0 I like the idea! Not sure where you should report progress since this isn't actually a VAICOM topic.

  • Like 1

I'm Softball on Multiplayer. NZXT Player Three Prime, i9-13900K@3.00GHz, 64GB DDR5, Win 11 Home, Nvidia GeForce RTX 4090 24GB, TrackIR 5, VKB Gunfighter III with MCG Ultimate grip, VKB STECS Standard Throttle, CH Pro pedals

Link to comment
Share on other sites

@MAXsenna my first reaction to this was to ask myself "Isn't VoiceAttack itself a virtual joystick that can send DX commands?" The answer turns out to be no. But see this thread on how to add virtual joystick functionality. https://forum.voiceattack.com/smf/index.php?topic=463.0 I like the idea! Not sure where you should report progress since this isn't actually a VAICOM topic.
Thanks for the link!
I'm sure we'll some relevant place to post!
Cheers!

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

On 7/11/2021 at 12:32 PM, sthompson said:

The relevant question for achieving automation is not how to detect the change (since VAICOM detects it already) but rather what action should VAICOM take when it detects a change in mission and/or unit within DCS? It can change a VA variable, which you could detect through execution of a VA command in your profile. It does that already with respect to the aircraft and you can easily add VA commands to your profile to detect such an event and act upon it. (It also exposes the current map, btw.) Or VAICOM could use the EXECUTE method (see VA plugin documentation) to execute a command in your profile. But which one? And what if it does not exist in the profile?

 

My Error!!!

 

I had misinterpreted the VA plugin documentation as TextVariableChanged() --> VA when it is the opposite.

 

Since Vaicom already exposes the variable {TXT:vaicompro.playerdata.currentmodule.name}; just need the event trigger after the variable was updated.

 

As you point out, this would be using a CommandPhrase specified such as:

 

if (vaProxy.Command.Exists(“vaicompro.DCSMissionStart”))
{ 
	vaProxy.Command.Execute(“vaicompro.DCSMissionStart”);
}

 

Can he add this?

VR with Oculus Rift preferred flying method.

Link to comment
Share on other sites

2 hours ago, CrossWiseRanger said:

 

My Error!!!

 

I had misinterpreted the VA plugin documentation as TextVariableChanged() --> VA when it is the opposite.

 

Since Vaicom already exposes the variable {TXT:vaicompro.playerdata.currentmodule.name}; just need the event trigger after the variable was updated.

 

As you point out, this would be using a CommandPhrase specified such as:

 

if (vaProxy.Command.Exists(“vaicompro.DCSMissionStart”))
{ 
	vaProxy.Command.Execute(“vaicompro.DCSMissionStart”);
}

 

Can he add this?

I don't know. I suggest you ask him. BTW, if all you need to do is detect a change in aircraft it's possible to do that through a simple loop command in VoiceAttack that queries the exposed aircraft variable every so often and performs whatever action you want when it changes. I've tested this and it works fine.

 

I'm Softball on Multiplayer. NZXT Player Three Prime, i9-13900K@3.00GHz, 64GB DDR5, Win 11 Home, Nvidia GeForce RTX 4090 24GB, TrackIR 5, VKB Gunfighter III with MCG Ultimate grip, VKB STECS Standard Throttle, CH Pro pedals

Link to comment
Share on other sites

Hello

I am trying to carry out the procedure described in the Vaicom documentation, page 80

Here is what I do:

 

image.png

 

but it does not work

 

I watched the Hollywood_315 video, but at no time did I see the letter G enter (Gear up / down)

 

 

Thanks for your help

Link to comment
Share on other sites

Hello
I am trying to carry out the procedure described in the Vaicom documentation, page 80
Here is what I do:
 
image.png.82eac794273c3cf7c308ce04232c428d.png
 
but it does not work
 
I watched the Hollywood_315 video, but at no time did I see the letter G enter (Gear up / down)
 
 
Thanks for your help
At first glance it looks okay, except that you hold the G key for 2 seconds.

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

Bonjour

Je ne sais pas pourquoi cela n'a pas fonctionné hier, mais cela fonctionne maintenant.
J'améliore même les paramètres

voici une photo de ma configuration
si cela peut permettre à d'autres de chercher des heures

image.png

image.png

image.png

Cliquez sur Ajouter un ensemble (Ou)

image.png

 

Etc .....

 

image.png

 

 


Merci  MAXsenna

 


Edited by ptimale
  • Like 1
Link to comment
Share on other sites

WTF am I doing wrong!

Sorry in advance, but I am SO frustrated right now I could smash a monitor.

 

I have read the manual front to back several times, watched what few youtube videos there are, ran through my config and keyword training/reimport so many times now, but this app is still no joy for me.

 

I start with the FA-18 instant action/ ready on the ramp mission out of Caucuses...(Kolkhi) Can request, taxi, take of, inbound, abort inbound all just fine. But I absolutely CANNOT change frequencies, contact another tower etc. I even SEE the frequency change when I say select 134 decimal zero, it displays 134.000 on the radio UFC, but as soon as I then say INBOUND, Kolkhi answers AGAIN!!

 

 

 

1.PNG

2.PNG

VA.PNG


Edited by Sr.

Ryzen 7 5800X3D | 64GB DDR4 3600| MSI RTX 4080 16GB Ventus 3X OC  | Samsung 970 Evo 2TB NVME | HP Reverb G2 | DIY Head Tracker Cap | Logitech X-56 throttle | VKB NXT Premium |  Win 11

"Any sufficiently advanced technology is indistinguishable from magic."

--Arthur C Clark

Link to comment
Share on other sites

From the manual:

Using Select for manual radio tuning. Make sure the Radio Control commands are included in your profile (if needed use Config/Export). For DCS modules that support this (not all do), you can use Select for manual radio tuning. Try ‘Select two five zero decimal five’ for 250.500MHz and ‘Select Channel 5’ for Channel selection on compatible radios.

 

Use it for what? to Do what exactly?

 

Does the FA-18 NOT support this?

 

 

 

 

radio.PNG

Ryzen 7 5800X3D | 64GB DDR4 3600| MSI RTX 4080 16GB Ventus 3X OC  | Samsung 970 Evo 2TB NVME | HP Reverb G2 | DIY Head Tracker Cap | Logitech X-56 throttle | VKB NXT Premium |  Win 11

"Any sufficiently advanced technology is indistinguishable from magic."

--Arthur C Clark

Link to comment
Share on other sites



From the manual:
Using Select for manual radio tuning. Make sure the Radio Control commands are included in your profile (if needed use Config/Export). For DCS modules that support this (not all do), you can use Select for manual radio tuning. Try ‘Select two five zero decimal five’ for 250.500MHz and ‘Select Channel 5’ for Channel selection on compatible radios.
 
Use it for what? to Do what exactly?
 
Does the FA-18 NOT support this?
 
 
 
 
radio.thumb.PNG.cd0b829a00f51d3db926b9b1b3cca29a.PNG


Not all modules support frequency and channel select. But the 18 should.
Can you give an example of the command that doesn't work?
If I understand you correctly, everything works with Kolkhi, but you want to go another field. Let's say Batumi.
You then go "Batumi select", and you then say "Inbound", and it still tries Kolkhi.
Try "Batumi inbound" instead.

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

8 minutes ago, MAXsenna said:

You then go "Batumi select", and you then say "Inbound", and it still tries Kolkhi.
Try "Batumi inbound" instead.

Yeah, I've tried and every other combo I can imagine. Even if I manually tune the radio to Batumi, then say inbound...Kolkhi answers.

 

I almost had it working by turning off DCS easy comms, VComm selector to normal. Made it through a few commands, then VA seems to have crashed with several errors like it was waiting for other commands to complete. And even though I have the UI sounds and use audio hints selected, I frequently hear no beeps or clicks when keying the mic.

Ryzen 7 5800X3D | 64GB DDR4 3600| MSI RTX 4080 16GB Ventus 3X OC  | Samsung 970 Evo 2TB NVME | HP Reverb G2 | DIY Head Tracker Cap | Logitech X-56 throttle | VKB NXT Premium |  Win 11

"Any sufficiently advanced technology is indistinguishable from magic."

--Arthur C Clark

Link to comment
Share on other sites

Yeah, I've tried and every other combo I can imagine. Even if I manually tune the radio to Batumi, then say inbound...Kolkhi answers.
 
I almost had it working by turning off DCS easy comms, VComm selector to normal. Made it through a few commands, then VA seems to have crashed with several errors like it was waiting for other commands to complete. And even though I have the UI sounds and use audio hints selected, I frequently hear no beeps or clicks when keying the mic.
Sorry if I am dense, but your answer wasn't 100 percent clear.
If you tune your radio to Batumi, and then say "Batumi inbound".
I'm asking because from time to time, it seems VAICOM gets stuck to the first or nearest recipient when spawning. Then it will cue that no matter what in less I use "recipient command" in every command.
Cheers!

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

1 hour ago, MAXsenna said:

Sorry if I am dense, but your answer wasn't 100 percent clear.
If you tune your radio to Batumi, and then say "Batumi inbound".
I'm asking because from time to time, it seems VAICOM gets stuck to the first or nearest recipient when spawning. Then it will cue that no matter what in less I use "recipient command" in every command.
Cheers!

Sent from my MAR-LX1A using Tapatalk
 

 

 

That appears to be what's happening. I have noticed also, several times as I'm going to close it, there are multiple instances (VA icons in the system tray.)

Ryzen 7 5800X3D | 64GB DDR4 3600| MSI RTX 4080 16GB Ventus 3X OC  | Samsung 970 Evo 2TB NVME | HP Reverb G2 | DIY Head Tracker Cap | Logitech X-56 throttle | VKB NXT Premium |  Win 11

"Any sufficiently advanced technology is indistinguishable from magic."

--Arthur C Clark

Link to comment
Share on other sites



 
 
That appears to be what's happening. I have noticed also, several times as I'm going to close it, there are multiple instances (VA icons in the system tray.)


I guess VA has crashed a couple of times then. And Windows just haven't cleared up in the system tray.

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

Now if I can just keep the audio hints going. When they go off, I figure something has crashed or maybe I said some sort of magic word.

Ryzen 7 5800X3D | 64GB DDR4 3600| MSI RTX 4080 16GB Ventus 3X OC  | Samsung 970 Evo 2TB NVME | HP Reverb G2 | DIY Head Tracker Cap | Logitech X-56 throttle | VKB NXT Premium |  Win 11

"Any sufficiently advanced technology is indistinguishable from magic."

--Arthur C Clark

Link to comment
Share on other sites

Now if I can just keep the audio hints going. When they go off, I figure something has crashed or maybe I said some sort of magic word.
Well, if I understand you correctly it's easily fixed. Don't run VA, run the VAICOM tray app instead. It will start VA and whenever it crashes, restart it for you. Come to think of it, after starting using the tray app, VA seldom crashes now, and it has been totally immune after going 64bit. For me that is.

Sent from my MAR-LX1A using Tapatalk

Link to comment
Share on other sites

17 hours ago, MAXsenna said:

Well, if I understand you correctly it's easily fixed. Don't run VA, run the VAICOM tray app instead. It will start VA and whenever it crashes, restart it for you. Come to think of it, after starting using the tray app, VA seldom crashes now, and it has been totally immune after going 64bit. For me that is. emoji4.png

Sent from my MAR-LX1A using Tapatalk
 

 

Yeah using the Vaicom tray app works great for me also.

  • Like 1

Don B

EVGA Z390 Dark MB | i9 9900k CPU @ 5.1 GHz | Gigabyte 4090 OC | 64 GB Corsair Vengeance 3200 MHz CL16 | Corsair H150i Pro Cooler |Virpil CM3 Stick w/ Alpha Prime Grip 200mm ext| Virpil CM3 Throttle | VPC Rotor TCS Base w/ Alpha-L Grip| Point Control V2|Varjo Aero|

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...