Virtual crew chief
-
@foxster you are a legend my guy, kudos to you
-
@huffer2 The credit is all for Bogey Dope, I just posted his video here. I really enjoyed it too! His channel is great.
-
I use the Push To Talk function with @SemlerPDX 's AVCS4, and I like the immersion it brings.
I was doing another ramp start with the Virtual Crew Chief today, and I noticed that the PTT function isn’t working when I’m using the VCC. VA is listening all the time during my ramp start.
Does anyone know if there’s a way to make the PTT function work with both VA profiles, i.e. with AVCS4 and the VCC profile?
It’s not a huge deal, just a “would be nice to have” item. It’s no tragedy if this isn’t possible, since most of the time spent in a mission is outside the scope of VCC, and thus most of that time is spent with the immersion of the PTT function.
-
@Aragorn Don’t get too psyched… Those “humans” are basically static. There are some animated ones on the carrier (with Supercarrier add-on), but that is limited though improving slowly.
I’ve played Falcon and BMS (and all the other incarnations) since Falcon 3.0 and still love it for dynamic campaign and the sense of being in an actual on-going war. But DCS is not all eye-candy. Especially these days, with thoughtful campaign creators it can be VERY immersive. These platforms do different things and compliment each other. I know, that’s heresy but send the inquisition…
-
Check out this Youtube. Great to see how a ramp start with the crew chief works, even though they mostly use hand signals.
Huffer out
-
@Mylonite470 said in Virtual crew chief:
I use the Push To Talk function with @SemlerPDX 's AVCS4, and I like the immersion it brings.
I was doing another ramp start with the Virtual Crew Chief today, and I noticed that the PTT function isn’t working when I’m using the VCC. VA is listening all the time during my ramp start.
Does anyone know if there’s a way to make the PTT function work with both VA profiles, i.e. with AVCS4 and the VCC profile?
It’s not a huge deal, just a “would be nice to have” item. It’s no tragedy if this isn’t possible, since most of the time spent in a mission is outside the scope of VCC, and thus most of that time is spent with the immersion of the PTT function.
Well, it would be a bit of work, but you could add a single condition to every command in VCC, which is how my AVCS4 profile(s) watch for PTT clearance to execute - when the key is not down, they exit. While you cannot directly copy the following text, the actions are quite apparent and you can just copy the names of the variables we are checking (both true/false boolean variables, without the surrounding square brackets mind yoo) from below, and add “Begin Condition” actions as shown below with these variables in the condition field:
// Check if set to a PTT only command mode Begin Boolean Compare : [AVCS_RadioButtons_ON] Equals True Begin Boolean Compare : [AVCS_BMS_PTT_KeyDown] Equals False End Condition - Exit when condition met End Condition
…in the “End Condition” action for the inner condition (for KeyDown), you would need to check the box to ‘Exit when condition met’, as we are checking if this is false, meaning “if the button is not down, exit”:
…finally, you can select these four action lines in that command, and copy them, then open each command in the VCC profile and just paste them at the top before any other actions.
-
@SPoehlmann said in Virtual crew chief:
@Aragorn Don’t get too psyched… Those “humans” are basically static. There are some animated ones on the carrier (with Supercarrier add-on), but that is limited though improving slowly.
I’ve played Falcon and BMS (and all the other incarnations) since Falcon 3.0 and still love it for dynamic campaign and the sense of being in an actual on-going war. But DCS is not all eye-candy. Especially these days, with thoughtful campaign creators it can be VERY immersive. These platforms do different things and compliment each other. I know, that’s heresy but send the inquisition…
“Apples are better than oranges”
“What do you mean? Oranges are far better. There is literally zero orange juice in apples. How can you say they are better?!”
“I like both…”
…
“GET HIM!!”
"GET HIM!! -
I like turtles.
-
I’ve been playing around with getting VoiceAttack to read BMS’s shared memory, so that we can have our crew chief respond to actual events, instead of relying on timing and delays. Here’s the steps I’ve taken for a proof of concept:
-
Recompile F4SharedMem.dll from Lightning’s tools (https://github.com/lightningviper/lightningstools/) for 64-bit instead of 32-bit, because recent versions of VoiceAttack have become 64-bit applications.
-
Place the new dll in VoiceAttack’s folder under Shared/Assemblies. Another location is fine too, but then you have to specify the whole path when we reference the dll from VoiceAttack.
-
Copy the sound files 10SpeedBreaksOpen.mp3 and 11SpeedBreaksClosed.mp3 from the original Virtual Crew Chief profile to VoiceAttack’s Sound folder.
-
Create a new command. Use “speed brakes clear” as the voice command. Create the following sequence:
These steps set a variable SpeedBrakesOpen to False at the start. A loop is then started, checking the status of the speed brakes until they open. The loop is then ended and the sound of the crew chief saying the brakes are open is played. This process is then repeated, but waiting for the brakes to close and playing the corresponding sound.
The inline C# function is what allows us to use F4SharedMem to get current values from the sim:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using F4SharedMem; public class VAInline { private Reader sharedMemReader = new Reader(); private FlightData currentFlightData; public void main() { currentFlightData = sharedMemReader.GetCurrentData(); float speedBrake = currentFlightData.speedBrake; VA.SetBoolean("speedBrakesOpen", Convert.ToBoolean(speedBrake)); } }
To make this work, the F4SharedMem.dll must be added to the Referenced Assemblies at the top:
And done!
I think this principle should work for any data that’s available in the shared memory. Instead of booleans, the loops could also check for when a value passes a certain level, such as for the nozzle position.
To improve usability, I guess the loops need a way to cancel the command and stuff like that, but I just wanted to test the idea out first.
What do you all think? Shall I try building this for all the checks and commands? Or should anything be improved in the method first?
-
-
@Ricky said in Virtual crew chief:
To improve usability, I guess the loops need a way to cancel the command and stuff like that, but I just wanted to test the idea out first.
What do you all think? Shall I try building this for all the checks and commands? Or should anything be improved in the method first?
@Ricky , this is freakin’ brilliant! Yes, you will need a way to ensure that program does not get stuck in an endless loop. Hell yes please try to build this for all checks and commands as feasible. I can’t speak to any recommended improvements, but please let me know if there is anything I can help to do to further this effort.
Copy the sound files 10SpeedBreaksOpen.mp3 and 11SpeedBreaksClosed.mp3 from the original Virtual Crew Chief profile to VoiceAttack’s Sound folder.
Create a new command. Use “speed brakes clear” as the voice command. Create the following sequence:
I don’t understand why these two steps are needed.
VCC already has a folder in the VA\Sounds folder - can that just be referenced in the code?
Within the VCC VA.profile, seems that the call to your new C# sequence can just be embedded in the current command rather than having to create a new voice command.Feel free to PM me to discuss as you desire.
Regards,
Tomcattwo
(VoiceClone) -
@Tomcattwo said in Virtual crew chief:
I don’t understand why these two steps are needed.
VCC already has a folder in the VA\Sounds folder - can that just be referenced in the code?
Within the VCC VA.profile, seems that the call to your new C# sequence can just be embedded in the current command rather than having to create a new voice command.Because I wanted this demo to work independently of the original VCC profile. But you’re right, maybe the best way forward would be to integrate my checks into the existing VCC profile.
Thanks for the compliment! Give me a few days and I’ll try to get the rest working too.
-
@Ricky ,
Rgr. If there’s anything I can do to help, just let me know.
R/,
TC2 -
Quick update for tonight. I’ve made a lot of progress. Most commands now work with feedback from the sim.
Even better news: I’ve been in touch with Bogey Dope. He graciously gave me permission to modify and republish his profile for use with BMS. What a great guy! In fact, we’re now talking about hopefully adding some new recordings to the profile to respond to bad situations, like a hot start. I’ll keep you all posted!
-
Re: Virtual crew chief
BogeyDope has released Version 9 of VCC. It’s available for download hereThis version:
- adds responses if the F-16 pilot is a Female Officer (e.g., “Yes ma’am” instead of “Yes sir” etc.)
- Provides Voice Attack profiles (.vap) for Female Pilots
- Adds a check of the air refueling door to all profiles (last step, after brake checks).
I modified my own profile to add the AAR door checks.
Regards,
Tomcattwo
(VoiceClone) -
Could it be a first step to get it incorporated into BMS itself?
-
An early version of the new profile just went to @Tomcattwo, who offered to help out with testing. If nothing super weird comes up, the first release will be very soon.
-
@Xeno That would be awesome, but I’m not sure I could help with that. Although if the devs would be interested, I would definitely be willing to discuss it. I would really love to try working on all the voices in the game, but I have no idea if my skills are enough to work on the current code.
-
@Ricky Very cool of you to make this a public offering!! Regarding my note above about adding a check for AVCS4 BMS profile PTT mode, this will appropriately be ignored for users who do not have or use my AVCS profiles, and so is a smart thing to add to your commands which should respect that mode for AVCS users. I have similar checks for things of other authors myself, JanJan’s awesome plugin for VoiceAttack has its own radio commands, and so my profile checks for and nullifies one of his variables so that all of his other commands work yet the radio commands do not such that my own will take priority and function instead. Accounting for the various use case scenarios of end users can be the difference between a good program/system and a great one.
Best wishes and good luck with everything - happy to help if you have technical questions about VoiceAttack, etc.
-
@SemlerPDX Thanks for the help! @Tomcattwo and I are looking into simply using VoiceAttack itself to include the VCC profile into yours. If we run into any trouble there, I’ll be sure to ask you for advice.
Another update: @Tomcattwo has just sent me his (awesome!) feedback. Really polishing some details here. Once we’ve combined all our work, every single check will respond to the sim.