Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider donating by either clicking this text or the Patreon link on the right.

Patreon

Carny_Priest

Elite Member
  • Posts

    916
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by Carny_Priest

  1. Here's an interim script for FP. It is a concept that will work Ok for plain vanilla Future Pinball set-ups. Adjust the script to your executable accordingly. This also assumes that you are using FutureDMD. If you are not then comment out the line that runs FutureDMD. Although I am calling the table through BAM/fploader, I am not capturing any BAM post-processing, just unprocessed Future Pinball. So, this is not a solution for me and I will have to take a different tack. I always use BAM. There is not a pressing need for me to generate media right now, but I'll get back to this at some point. Might be easier to simply shell out for FRAPS, Camtasia, or dxtory. The tool I am using here is apitrace https://github.com/apitrace/apitrace I simply extract it to C:\ This still uses ffmpeg for generating the final videos. This is a bit kludgy. I use apitrace to capture OpenGl instructions to a file called playfield.trace. I then use apitrace to playback the capture and pipe the output directly to ffmpeg. It is a super long command and it seems like Windows does not properly recognize it as a valid command. I don't see any problems coming from Autohotkey (as in an interpreter issue). I got around this by inserting the command into a separate bat file. Here are the contents of playfield.bat (all on line 1) "c:\apitrace-msvc\x86\bin\apitrace.exe" dump-images -o - %1 | ffmpeg -r 30 -f image2pipe -vcodec ppm -i pipe: -ss 35 -to 95 -pix_fmt yuv420p -vf "rotate=PI:bilinear=0" -c:v libx264 -crf 26 -y %2 Think of playfield.trace as uncompressed video. The program cleans up after itself but you will need some space on your drive for the capture. Also, playback and pipe to ffmpeg looks like slo-mo when it is happening. The output file will be at normal speed, but it will take four or five minutes to complete the conversion to video. So, not as fast as the VP script. Good luck. The search continues for a BAM-friendlier solution.
  2. Yes, this is true if you install autohotkey on your cabinet. I tend to prefer to keep my cabinet clear of any installers, run-time environments, applications that I don't absolutely need. I compile on my test machine and transfer the executable over to the cabinet for use. Now, futurepinball.exe. You are actually able to capture table videos with the script?
  3. Update: This latest and I hope last script does the DMD mirroring/flipping for p2k cabinets before launching NukeLauncher. So, yes, it is a launcher for a launcher but the process no longer interrupts the game or allows backglass videos or images to become out of focus. It does everything I need. Now I can use and enjoy Namsan's nice backglass videos. Note I had to have a delay of 2500 ms instead of 2000 ms to start the capture and move the playback window before launching NukeLauncher. These sleep instructions are machine specific. I have a delay of 8000 ms for my laptop-based test bed.
  4. I haven't had a lot of time to spend on FP capture. I did try NVidia ShadowPlay with FP without luck. As FP uses OpenGl it doesn't appear that any DirectShow devices will pick it up. I have a line on another solution, but I've got a lot on my plate at the moment. I may not be able to test it out until after the holidays.
  5. Made a slight change to my JoyExitMap script above. So Exit button should be compatible between VP and Pinball FX2 now. In x360ce, I originally had antideadzone for the accelerometer set to 100% but was getting false nudge reads even with a 4% deadzone setting. I wound up using 90% antideadzone and 0% deadzone setting. I did get the analog plunger working on the right trigger. However, inverted axis was really inverted in-game for me. The farther you pull back on the plunger the weaker the game's strength indicator. I used regular (not inverted) axis 3 and the action is at least in the right direction now. Still, if you pull all the way back and release it is as if the game can't track the speed of the return quickly enough. Plunges are weak. If you hold on to the plunger on release you can get a good release but that just feels unnatural. Maybe it is a resolution or timing thing with the sensor and the game. Analog plunger emulated through x360ce works fine for Pinball Arcade. For Pinball FX2, I wound up disabling the analog plunger in x360ce, and I'll just use the Launch button.
  6. It's still free to upload, if that helps.
  7. Very nice! I can say that the video does display for me in-game. I do have the playfield and backglass screens connected to the same graphics card. Now I just have to get it working with my DMD mirroring script as the backglass loses focus when I have that script enabled. Hope to see more! By the way, Plants Vs. Zombies has the same link and Iron Man.
  8. Still using XBMC as a music player - I have a VirtuaPin Digital Plunger Kit v1. The controller emulates a gamepad/joystick rather than a keyboard like an iPac. By default, XBMC has support for gamepads and joysticks enabled. To bind to keys, it is easiest just to change the existing definition file. Here is my configuration and activity map. Modify to suit your configuration, save as joystick.xml, and overwrite the one in XBMC\system\keymaps\
  9. By the way, for ffmpeg I'm using the static build from 9/27/2014. I had timing troubles when I was testing a current build, so I went back to what I had been using.
  10. Update: Added controls for my VirtuaPin Digital Plunger Kit v1. The controller emulates a joypad. The in-game menu has an option to configure the game for joystick inputs, and it even correctly recognizes each button when you configure, but then the controls simply do not respond during play. So, I added code to the launch script to map joypad to key presses. I'm using a documented method using timers to enable auto-repeating keystrokes so that the flippers and plunger behave as if you were using a keyboard. A simple map sends a single keystroke. A flipper would just kick and go right back to rest. With the timers, you can hold the flipper button and the flipper will stay up. You can trap the ball, do passes to the other flipper, precisely control the plunger, etc. From Sir Cheddar's script earlier in this thread, I borrowed the idea of simultaneous multiple key presses for the 2nd flipper buttons (MagnaSave). This gives a hard nudge that is definitely visible in the game. Thanks. The exit button automatically scrolls through the game menu and exits the game normally. Not an Alt-F4. I don't think killing the game works too well with shutting down the DMD mirroring.
  11. Yes, I did use inverted axis 3 for Right trigger. Thanks, looking forward to hearing about your update. I'm pretty pleased just to get things working at this point, but I'm always looking to make improvements.
  12. Yeah, I relied heavily on your build diary at VPF to figure this out. I tried right trigger. It works but needs tweaking. At rest the reading should be zero but the reading in the configuration software is not zero so it always tries to launch even if I'm not touching the plunger. I understand that the reading can be shifted with DXTweak but I just haven't gotten around to trying it. I haven't played all the tables extensively. Those that I have, I don't think that they benefit much from having an analog plunger. The skillshots seem to me to be more of a timing thing then a strength of a pull thing. What is weird is that the left trigger always shows that it is engaged in the x360ce configuration utility whether or not I have something mapped to it or not. So I didn't even try it.
  13. Oh, man! What a PITA FX2 is! There are at least eight different processes and probably more running on top of FX2 for me to do what I want. I switched over to NukeLauncher. It's just too good not to. The Guessing Engine did not work for me even though I had changed my game names in the XML to be the same as the pxp file names used by Zen. No matter; I defined the names and order in the ini. Same thing I'd have to do with my script. Delay times in my script are proven for my system. I carried the times over to the ini. Works great! I've stripped down my script to run in parallel with NukeLauncher to do the DMD mirroring for p2k cabinets. NukeLauncher has some built-in support but my configuration is pretty unique. I went with my own solution. This script is set up to Launch Before NukeLauncher in the PBX Settings ini for the Pinball FX2 system. The mirroring behaves like my old script. Great! I have a VirtuaPin Digital Plunger Kit v1. It's controller emulates a joystick. The issue was mapping the Exit table button and avoid conflicts with other emulators in my setup. Everyone knows about x360ce. I was able to map Select, Auto Launch, L and R flipper, and X and Y axis for analog nudging. I can map Exit to Back, but NukeLauncher does not recognize this as an Exit command. And just killing the FX2 process does not work well for the DMD mirroring. AntiMicro is a free, open source program to map keys to a gamepad. Sort of like XPadder, I imagine. https://github.com/Ryochan7/antimicro Sadly, there is little documentation on its command line instructions. I just couldn't figure out how to make it work that way, launching from within PBX. But all I need is a single profile to match a single button to a single key, Exit to Esc. The gui by default is set up to auto load the latest opened profile. There is an option to auto launch on Windows start up. I'd rather have this residing in memory only when I need it, but such is life. PinballX uses the default keyboard input settings with Quit set to Esc. Now NukeLauncher recognizes an Exit button press as an 'Exit' and performs the "saveexit" operation perfectly, the DMD mirroring script kills ffmpeg and ffplay, and reverts back to PBX. Wonderful! FP works out of the box exiting completely with Esc. VP, on the other hand, brings up the Resume, Quit to Editor dialog. There's no way to change this in VP Preferences. I wrote a script called JoyExitMap to in turn map my Exit button (Joy8) to q for Quit just for VP. I have it launching on PBX startup: I had a little script that I ran on PBX shutdown that made sure the Windows cursor was on the main playfield instead of the DMD screen. It was always annoying having to move that cursor every time I shut down PBX. I added a line to kill JoyExitMap on PBX shutdown: Took me days to figure out how to get all of this working together. I still need to do some tweaking of the analog nudge. The game nudges even when I'm not touching the machine. I haven't added a deadzone yet. Antideadzone is set in x360ce to 100%. I tried enabling the analog plunger but right now it is registering a pull even when the plunger is at rest. I've read that this can be adjusted with DXTweak, but I haven't tried it yet. I'm pretty happy with having a digital launch button as I've been launching with a keyboard all this time. Again, thanks to Tom and Jeff. It's the combination that rules Pinball FX2 for cabinets! Edit: Slight change to the little JoyExitMap script. It was causing a conflict that was shutting down tables as soon as they launch. This one works for me.
  14. Lag on flippers - if you have an NVidia card, you can go into the NVidia Control Panel, Manage 3D Settings and set up a custom profile for Pinball FX2 where Max Pre-rendered Frames is set to "1". That may help. Selecting the right table - Yes, the auto-detect did not work for me either even though the names in my xml are identical to the pxp file names in the Steam folder. So, you have to define and maintain the list and order in the ini. Same thing that you have to do with the arrays in my script. If the Sleep values in my script work they can be carried over to the Delay values in the ini. What I like with NukeLauncher is that there is some form of multiplayer support and that it can automatically exit all the way out on Escape. There are still some issues that I need to work out to get all of this working with my VirtuaPin Plunger Kit, but I can't lay my remaining issues at the feet of NukeLauncher. I have the same issues with my script.
  15. Thanks! But I too am transitioning to NukeLauncher. Still working on it, but I am having some success just running a stripped down version of my script that does the DMD mirroring that I need in parallel with NukeLauncher. http://www.gameex.info/forums/topic/12837-support-for-pinball-fx2/page-12#entry132260
  16. Make a copy of your pinballfx2.xml file then rename to Zen.xml. As far as I recall, that's all that you have to do.
  17. Thanks. Great idea about batch processing of all tables in a folder. For me, it would be cool to be able to process only tables that I just added to the folder. Next step, though, is figuring out a solution for Future Pinball. I'll look at that over the next couple of weeks.
  18. Donation made for the good work on the Pinball FX2 launcher. I don't really use TPA myself. The PinballX FTP has a pretty extensive list of wheel images for TPA. TPA does not have good cabinet support - there is no dedicated DMD or backglass. I've tried using PinballX's backglass player to play a video loop while a table is in play, but it did not work for me. The BG screen was black while in play. Yes, I do have the XML set to not hide the backglass, so it is not a PinballX issue. I figure this can be overcome somehow, but I didn't try very hard myself. For the DMD, here is where the mirroring that you were working on for P2k cabs in the Pinball FX2 launcher might come in handy. You could capture that part of the screen and have the user define the location for the playback window. This is similar to what I did for SlamIt Pinball: Big Score. I only have one table installed at the moment. For media, I just wound up taking the FarSight demo video for my table and rotating it and trimming for the correct aspect ratio in Avidemux. Not great. Kind of funky actually as the demo is for a desktop orientation. The lighting represents what is state of the art for PS4, and not what you currently get with Steam. But it's cheap and easy. Hopefully, someone will step up and do some real captures in portrait mode.
  19. That's too bad for FP. I was looking for free options for simultaneous capture of all three displays. Even better if those solutions did not require extra run time environments, installers, etc. And that can also be easily called in a script to automate the task. Other alternatives could be UScreenCapture. I think there may be a mod that overcomes the black screen. There is possibly Open Broadcaster Software but I haven't researched it. If you have a recent NVidia card there is also ShadowPlay. I have used it to capture Pinball FX2 but I have not tried with FP. There would be no simultaneous capture of 3 screens. But if you could capture the entire desktop then you could use ffmpeg to parse out a Playfield, BG, and DMD video in separate transcodes.
  20. Tested with Fullscreen VP v9.21, and didn't have any issues capturing screens with the original script. I do have a potential solution for FP. At least, I've got something that passed some command line tests with Pinball FX2. Unfortunately, I can't test with Future Pinball. I've disassembled my cab to work on hardware, and I don't have Future Pinball installed on my test bed. Without the cab, I don't recall the exact settings for Future Pinball + BAM + FutureDMD, the process names, Window titles, etc. So some corrections may be needed with the following script. Otherwise, the only difference is that I am disabling Aero prior to the capture if it is Enabled by default. The script only turns Aero back on if Aero was on at the start. In my cab, I disabled Aero along with all other visual enhancements for whatever gain in performance I could get for running pinball. I don't want to inadvertently turn Aero back on. Give it a try; hopefully this will work. Turning off Aero is a trick for Vista and Windows 7. I don't know what to do for Windows 8. I don't have it.
  21. Lag? Having three captures at once probably does take a lot of resources. The PC in my cab is a dedicated machine. I don't have anything else running in the background. I exit out of PinballX and run this from the command line. Another alternative is to try lowering the frame rate to 25 or even 20. If not for all three captures then perhaps for the BG especially if it is not a particularly active one. Can also experiment with lowering the value for rtbufsize (real time buffer size), but I don't know that it will help performance.
  22. What settings do you use for SetDMD? Do you have your screen set up in the usual recommended way? That's DMD (screen 3) located to the right of the BG (screen 2) which in turn is located to the right of the playfield (Screen 1). The tops of each screen are aligned on y=0.
  23. Ah, I had not tested with FP. I have had mixed results with applications that display in full screen rather than windowed, full screen. I had to work around this issue to mirror the DMD for SlamIt: Big Score. There was a way to force it to windowed full screen through a combination of game settings and scripting. I'm not sure that there is a way to do something similar for FP. Another test would include VP 9.21 running in full screen.
  24. http://www.wikihow.com/Install-FFmpeg-on-Windows
×
×
  • Create New...