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. I copied in some custom cards for display under the Instructions menu item. Don't know if it is a bug or not but if , for example, I have: "Attack from Mars (Bally 1995).swf" "Attack from Mars (Bally 1995).png 1" "Attack from Mars (Bally 1995).png 2" then PinballX will not scroll from the swf to the next file.
  2. Update: A couple of fairly minor tweaks: 1. I've switched the filters so that ffmpeg, the streamer, now does the scaling and ffplay, the player, now just does the rotation. ffplay has the reputation of producing artifacts when it is scaling, so in theory this should produce better quality. I've found having ffmpeg do the scaling does slightly affect the size of the playback window. I've had to make an adjustment to the border that I draw and lay on top of the playback window. 2. Made the script a little more portable. Enter the path to ffmpeg at the top of the script 3. I'm now running a loop that checks for the ffplay window prior to moving it rather than having ahk wait a hard coded period of time. I've started using this subroutine in all my scripts where I am mirroring the DMD. The user no longer has to set their own delays and it works great with the latest versions of the ffmpeg static build rather than being forced to use an older build. Can just grab the latest build at the zeranoe front page. 4. Cleaned up code a little for readability Note: I'm currently experiencing sporadic crashes with the game which I believe is caused by the latest NVidia drivers. It crashes with the old script and the new. Older versions of ffmpeg and newer versions. I'm using 347.52. I didn't experience any issues with the previous public version. Hopefully the next update will work better. Or else I'll have to try using a different resolution.
  3. I feel like I have to keep the NukeLauncher solution so that I can capture, stream, and vertically flip the DMD on playback. All of this works because with a custom script I can start the capture prior to calling NukeLauncher and starting PBFX2. If I start the capture after PBFX2 launches then the backglass briefly loses focus. Video backglasses do not come back and the screen remains blank during play. I already had a database setup as PinballFX2 with out the space in the name. V1.97 includes a database and tables are displayed in the menu despite setting the Pinball FX2 system to disabled in the ini. Deleting out the new database causes PBX to crash. I wound up just clearing all the entries out the the new database but otherwise leaving the menu tag. Duplicates are gone now, so I am good. Gameplay and Tutorial Videos with file names that match the description field still do not show up in the menu. Been like that since 1.95 I think.
  4. I don't know. It's working pretty well for me today without any changes to the ini at all. But you are probably right. I'm working it with pretty tight delays. I may set things a little higher. I found it helps me to run Steam offline. My cab is pretty far from my home wi-fi signal. It 's not always a reliable connection.
  5. Actually, I have the same issue with menu selection not moving from South Park too. May have happened with an update? So, your Nuke config still works?
  6. In Settings under the Main Menu in PBFX2 - change the screen orientation to 270 deg.
  7. Sadly, I'm not able to get the mirroring to happily co-exist with the new multi exe launcher. So it is back to the published script and the custom exe tag for me.
  8. Ok. I'll have an update a little later that is compatible with the new AlternateExe xml tag introduced in 1.96. Otherwise, it will run the same way.
  9. Yeah, this is basically my working cab script. I mention in the write-up that I consolidated features that I was using in my various VP scripts. I run four executables: VP10beta, 991, physmod2, and physmod5. And I previously had a script for each one. This is because I run VP with a custom resolution for the third screen. I did comment out the lines that switch display resolutions. The other bits are fairly safe to either run or comment out if need be. I tried to generalize a bit based on my particular setup for ease of use, but I can't say I tested what the output looks like for any other setup. Too many possibilities. But if others are interested in giving it a try, we can continue making some improvements.
  10. 1. Hi, I was inspired a long time ago by this thread and others where people installed a mini DMD screen in the apron. I always thought that was a wonderful idea. After all, you are usually looking down at the flippers and not at the DMD. https://pinside.com/pinball/forum/topic/watch-that-dmd VPM only renders one display. I'd actually want a mirror so that I'd have a display in the usual spot on the third monitor and one on the apron. But I don't see anyone interested in developing for this, so I have written a script using ffmpeg to capture the display, scale it down to a smaller size image and stream it through the localhost network loopback. I then use ffplay to play back the stream in a window on my apron. Actually, like the video embedded in the thread above, I'm displaying dual streams, one on each side of the apron. As I am just capturing an area of the screen, it doesn't matter if it is a render from VPM or B2S. Most of displays are set to default dimensions and position, but not all of my installed tables are the default. I am capitalizing on the presence of a rom tag in the xml to read the precise size and position of the DMD and automatically size the playback window whether it is a regular display or one of the supersized displays like Mary Shelly's Frankenstein. B2S dimensions are read from screenres.txt. I am using ffmpeg's built in mpeg4 codec, and latency is very low in most cases. I do have an experimental alternative in the script that uses the libx264 source which cuts latency even more but at the risk of introducing compression artifacts on playback. Right now, this is exposed by including rom names in an array at the beginning of the script. Twilight Zone and Monster Bash work very well with libx264. Jurassic Park, not so much. Serious artifacts with the stream playback. I need to do some more testing to see if more tables see a good benefit from using the libx264 codec. If so, I'll have to consider tweaking the script and adding another tag to the xml. 2. The timing was right as I was doing this at the same time I was consolidating VP executables into one system and one database as suggested by horseyhorsey here: http://www.gameex.info/forums/topic/14632-multiple-exe-for-vp/#entry138633 That is, it is the script that actually launches VP and it is PinballX that launches the script. Should work just fine with vpx files as long as they are assigned the correct executable in the xml. For the script to function the xml requires two new tags: B2S to tell whether you want to capture a B2S display or not and exe to tell which executable to run If no rom is entered and B2S is False then the script will simply bypass all of the streaming code Example xml: 3. The rest are features I carried over from my previous scripts. VPinball991 and VP_Physmod2 share a registry and so I have to change nudge settings if I switch from one to another. Kill a persistent B2S exe for Captain Fantastic that fails to close in the usual manner. Maps my exit table button and has my coin door simulate the behavior of a real door for those tables that support a Coin Door open switch. User inputs are at the top of the script: Filter is the parameter that ffmpeg uses to scale down and rotate the display as needed: Enter the scale down factor in the parentheses. It can be a fraction or a decimal value. Ex: I use a custom resolution for my third screen that is 768x432 and the DMD default size is 768x192. I scale this down by three (in other words, a factor of 1/3) so that it will be around 256x64 when I play it back on my apron. I have a p2k-style cabinet where the DMD is vertically flipped. 'transpose=3' flips the image again and rotates. Users who don't flip the original image will probably want 'transpose=2' which only rotates Mirror1PosX and Mirror1PosY are the coordinates for the playback window of stream 1 (left side of apron) Mirror2PosX and Mirror2PosY are the coordinates for the playback window of stream 2 (right side of apron) The frame of reference is based on the standard configuration where the playfield screen is 1920x1080 resolution and is in landscape orientation with the user standing at the left side of the cab. Here's the script: requires xpath.ahk - a link is commented in the script ffmpeg - use the static build here: http://ffmpeg.zeranoe.com/ My specs - Intel i5 3570k, 8Gb RAM, GTX660 - runs dual streams well. Might be struggling a bit with Mary Shelley's Frankenstein where having a supersize display means a substantially larger area to capture. My test bed - a notebook with an NVidia Quadro with 1 Gb VRAM struggled with this but I always have a huge number of windows open.
  11. Face it. VP and FP work in landscape because most of the installed base run in desktop mode. Historically there was only desktop. It was that way for years and years. If you want to have Windows in portrait outside of PinballX then you can run a little script or bat file to rotate to landscape at launch and another little script to rotate back to portrait upon exit. There are settings in the wizard that allow you to do this easily. Far faster to do it this way than to rotate all your media. TPA is the only one that requires a portrait configuration. You run a little script to rotate your screen when you launch TPA and rotate your screen back to landscape when you close TPA.
  12. I don't know. Are you running PinballX within another front end? Do you have a conflict with one of the other controllers that are attached? Can you run VP and FP successfully outside of PinballX? Repost your ini and log? It seems like most people using PinballX use Win7. No one supports XP anymore. So doubtful anyone is going to work very hard to ensure backwards compatibility for XP.
  13. No problem. I'm about to implement a solution like horsey's. It will be easier to maintain as one system and one database with an added exe tag rather than four like what I have now. Future Pinball is not a problem at all. I run everything through BAM and use the various physics xmls where appropriate. It is not really required to run a script for FP although I do personally because I choose to run FP at a custom resolution. But still I have FP as a single database
  14. Hi, just a couple more notes: 1. I've tested without the Shark codec package linked to on the PinballX home page (i.e., using the internal Windows 7 mp4 decoder) and some of the videos I've generated off of the latest scripts do not play well at all with the internal codec. Some of the older videos are fine. My best guess is that it is because of the full color range capture. If you do not run the Shark package or some other advanced codec package then you should try to capture with the -pix_fmt parameter for Planar 4:2:0 (-pix_fmt=yuv420p). It should work for all players. Then the line in the script would look something like this: 2. I usually run the ffmpeg static build from 20140928. I've been testing the build from 20150218 in other applications but it seems like it would also work fine here.
  15. Gotcha. Thanks for the tip. I use ahk scripts extensively with Pinballx. I can just map joystick button presses to key presses in a script.
  16. Let's be clear. I've only bought into the launch pack for TPA when they offered it for a penny in the last Steam summer sale. Out of that pack, only Black Hole was a table that I did not already have in VP, so that is the only one I have set up for PinballX. I don't have 2nd flipper/magna save buttons assigned at all because of the mysterious left trigger always engaged issue. I'm not sure what to do about that if the time ever comes to buy whatever Farsight is selling. In any case I just went through the GUI to assign buttons to events in the normal way. Nothing hard about that. You just have to write down how you mapped your cab buttons in X360ce so that you have that as a reference.
  17. Xpath.ahk just needs to be in the same folder as your script when you compile. No need to do anything else.
  18. I like plug-and-play, but then again $90 plus shipping. Ugh! I have an unused U-Hid G that I was going to try. Still need to mount the thing. I have an original CP plus the yoke. Was thinking of keeping it all together. Anyway, off-topic. I'll PM you. Hope the tips work for mapping your exit button.
  19. Yes, just like keys you will want to avoid mapping Quit and Exit Emulator to the same joystick button. I have a pinball cabinet with buttons wired to a controller that emulates a joystick. I wound up clearing the JoyCodes for Quit and Exit entirely in the ini to avoid any conflicts with the commercial programs, Pinball FX2 and The Pinball Arcade. Where I can't configure an Exit Emulator within a program, I map the button to a keypress using AutoHotkey scripts. Future Pinball is the easiest. It almost works out of the box. Quick question: that Star Wars yoke. Is it a real deal or something you built on your own? I have a salvaged control panel complete with the yoke, but I still need to restore it, figure out how to mount it, and hack the controls. I'm curious how you did yours.
  20. Do you use a joystick/game pad?
  21. You have a conflict. PinballX keyboard setting is set in your ini to use Esc to quit the emulator. Try setting the Exit Emulator setting to use the the default which is Q. Then when you are in FP, pressing Q will allow PinballX to close FP for you. Only use Esc when you are ready to close PinballX. Also, always run PinballX as administrator.
  22. Cool! Keep us updated. I wound up not using antimicro largely because I could not figure out the command line instruction set. It's documented, somewhat. But I couldn't get anything working when I tried it. I'd need it to launch different profiles from a script. x360ce works just fine for me, but it's configuration utility crashes... a lot. If I want to tweak then I can count on just having to start all over again from scratch which is a hassle.
  23. Yes, just around the corner. Hope springs eternal! I don't know what button interface you use. A couple of us with VirtuaPin kits, a joystick emulator, have conflicts between PBX and TPA/FX2, etc with whatever we map our Exit button to. In other words, you should not map Exit in x360ce. As you are using NukePA, you can just map your button in the KeyBindings section in the ini! KB_Escape = Joy8, for example. If you are truly looking for an alternative, you might try antimicro: https://github.com/Ryochan7/antimicro
×
×
  • Create New...