Tom Speirs Posted October 11, 2013 Share Posted October 11, 2013 XDMD is a .net framework 2D display library for pinball DMD displays. It currently supports PinDMD version 2 and a virtual DMD window.The project is mostly open source licensed under LGPL. XDMD was created in October 2013 by Spesoft.It requires .net framework 2 and Visual C++ 2008 runtime and visual studio 2010 or newer for development.Special thanks to Russell from PinDMD.www.xdmd.info Link to comment Share on other sites More sharing options...
nullPointer Posted October 11, 2013 Share Posted October 11, 2013 Looks absolutely great Tom! With all the exciting developments happening with PinballX and now XDMD I'm pining for a PinCab now more than ever! Link to comment Share on other sites More sharing options...
Adultery Posted October 11, 2013 Share Posted October 11, 2013 You and me both! Hopefully I won't have to wait 30 years like I did for a cab. Link to comment Share on other sites More sharing options...
randr Posted October 11, 2013 Share Posted October 11, 2013 I have no idea how to use this! Man am I an idiot! someone know how to use it?currently downloading Visual Studio 2010....see if that will shed any light on this? Link to comment Share on other sites More sharing options...
spootdev Posted October 11, 2013 Share Posted October 11, 2013 Interesting. I'll have to check that out this weekend. Hopefully it's way faster than HyperDMD. Link to comment Share on other sites More sharing options...
hansolo77 Posted October 11, 2013 Share Posted October 11, 2013 Looks absolutely great Tom! With all the exciting developments happening with PinballX and now XDMD I'm pining for a PinCab now more than ever!You and me both! Hopefully I won't have to wait 30 years like I did for a cab. Man you guys said it. I don't have an arcade cab OR a pinball cab. If I ever get some money together, I plan on building both eventually. Trouble now is, which one to build first? Link to comment Share on other sites More sharing options...
Tom Speirs Posted October 11, 2013 Author Share Posted October 11, 2013 Just to answer a couple of points. It is designed for programmers so bare that in mind, although usage of the library is pretty simple. In terms of speed the CPU intensive parts such as the drawing are done in C++ so the main library consists of a vb.net library and a C++ library. I am not a C++ guru but I did what I could to optimize things. On my system it will downscale and render a 1080p video at full frame rate. Link to comment Share on other sites More sharing options...
randr Posted October 11, 2013 Share Posted October 11, 2013 Just to answer a couple of points. It is designed for programmers so bare that in mind, although usage of the library is pretty simple. In terms of speed the CPU intensive parts such as the drawing are done in C++ so the main library consists of a vb.net library and a C++ library. I am not a C++ guru but I did what I could to optimize things. On my system it will downscale and render a 1080p video at full frame rate.I got to play a little with it(changed a few things)...but i am no programmer thats for sure! hope someone creates a easy way to use this. Link to comment Share on other sites More sharing options...
Tom Speirs Posted October 11, 2013 Author Share Posted October 11, 2013 I got to play a little with it(changed a few things)...but i am no programmer thats for sure! hope someone creates a easy way to use this.It should be quite easy for another programmer to make something from it that is more easy to use and aimed at the user. I don't personally want to make a HyperDMD clone but it should be pretty easy to do with the library. Link to comment Share on other sites More sharing options...
randr Posted October 12, 2013 Share Posted October 12, 2013 Well it's good stuff for sure! Thank you. Link to comment Share on other sites More sharing options...
Itchigo Posted October 12, 2013 Share Posted October 12, 2013 I don't mean to steal Tom's thunder,but for those who want a cab and can't afford much, I'd recommend this. Here's what I did:I built a cabinet (empty) with buttons for play. Mount 2 screens in it. Use an existing desktop, but, by remote.All my cab is, is a glorified controller. I use a hotkey (Windows+P) to extend the screens, then hit Pinball X. Back to duplicate to work. Why watse a good computer, just for pinball? Worthy, yes, but not practical. My cab cost less than 500$, plus the computer which I had already built for myself.Items needed:CabinetButtonsWiringI-Pac2 screensAn existing, decent computer.- In fact, I'm on my cab now!!I'm glad I built one, but what got me started is I realized I had most of it laying around the house.http://roguepinball.com/index.php/topic,211.0.htmlWe now return you to your regularly scheduled programming, AND GET BUILDING!! Link to comment Share on other sites More sharing options...
Adultery Posted October 12, 2013 Share Posted October 12, 2013 I can't stop singing the praises of two screens on a cab, I put a 720p monitor in the cpanel of mine since I use xbox controllers and the only other thing on the cpanel is the trackball, and I think it looks fabulous. I might try pinball on it using this for the dmd and see what I can come up with. I'm pretty excited to see new code to play with, kinda gives me a reason to get off my ass and try it out. Link to comment Share on other sites More sharing options...
Adultery Posted October 13, 2013 Share Posted October 13, 2013 Getting a 404 error on the download link... :'( Link to comment Share on other sites More sharing options...
Tom Speirs Posted October 13, 2013 Author Share Posted October 13, 2013 Thanks. Fixed now. Link to comment Share on other sites More sharing options...
Draco1962 Posted October 14, 2013 Share Posted October 14, 2013 I can't stop singing the praises of two screens on a cab, I put a 720p monitor in the cpanel of mine since I use xbox controllers and the only other thing on the cpanel is the trackball, and I think it looks fabulous. I might try pinball on it using this for the dmd and see what I can come up with. I'm pretty excited to see new code to play with, kinda gives me a reason to get off my ass and try it out. Maybe create a GUI to build animations with the API? IDK. I could see some cross-use with programming DMD-like intros for GameEx themes... then mind boggles at the possibilities. Link to comment Share on other sites More sharing options...
stephen Posted November 20, 2013 Share Posted November 20, 2013 Cool. I know this was built so VP cabs could display useful info on their DMD (or DMD monitor) while in PinballX. I could make a Williams, Bally, Gottlieb, etc animation or static image, and have it displayed while browsing my tables.I am building an original VP table. Last night I added HyperDMD for the attract scene, and started working on the scoring scene. I presume I can do the same with XDMD, right? If so, can you tell me a few things that I will be able to do with XDMD that I can't do with HyperDMD? Link to comment Share on other sites More sharing options...
Tom Speirs Posted November 20, 2013 Author Share Posted November 20, 2013 XDMD is really aimed at developers and completely open unlike HyperDMD which is aimed at the user. It will be built it to PinballX shortly though to support showing detail when in the front end.With XDMD a developer could create something similar to HyperDMD but its not an end user product. Link to comment Share on other sites More sharing options...
stephen Posted November 20, 2013 Share Posted November 20, 2013 OK. That's cool. So, instead of interacting with HyperDMD, I COULD build my own DLL to display the DMD, and provide an object model to access it. This DLL could be customized for use as a table scoreboard. Right now, HyperDMD requires some messaging to achieve what I want. Link to comment Share on other sites More sharing options...
Tom Speirs Posted November 20, 2013 Author Share Posted November 20, 2013 Yes, exactly. Link to comment Share on other sites More sharing options...
stephen Posted November 20, 2013 Share Posted November 20, 2013 Cool. I'll look at it tonight. Thanks. Link to comment Share on other sites More sharing options...
stephen Posted November 25, 2013 Share Posted November 25, 2013 I need some help getting started. I expected to be able to just open the build the XDMD SLN. I get the same error in VS 2010 and VS 2012. Was this built with VS 2008?Error 7 'PLAYER_STATE' is not declared. It may be inaccessible due to its protection level. C:\xdmd\XDMD\XDMD\Device.vb 978 95 XDMD It looks like the Demo is a VB app, that references the VB DLL, which in tern references the native DLL. When I look at XDMDNative in Object Browser, I see PLAYER_STATE. In C# I'd need something like a "using" statement to reference the external enum class. I don't know how this is done in VB. Link to comment Share on other sites More sharing options...
Tom Speirs Posted November 25, 2013 Author Share Posted November 25, 2013 The native DLL is visual studio 2008 whereas the rest is 2010/2012 but you should be able to upgrade the native lib to 2012 with a couple of clicks. Are you using Visual Studio Express or the full version? Unless you want to modify the source you can simply use the prebuilt binaries. Just add them as references to your new c# project. Link to comment Share on other sites More sharing options...
stephen Posted November 25, 2013 Share Posted November 25, 2013 >>Express or the full version?Full VS.OK. So don't build the DLLs, just use them (basically, just build/change the Demo). I can do that.If I figure out the fix, I'll post it here. Link to comment Share on other sites More sharing options...
Tom Speirs Posted November 25, 2013 Author Share Posted November 25, 2013 Here is what you need to do to get the whole thing to build:Upgrade the Native VC++ DLL C++ and Framework libs to the latest version. If it doesn't prompt you when you open the solution right click that project within the solution and you will see the update option. Then Change the DEMO and Managed DLL .net framework versions to the maximum supported by your version of VS. I am using 2013 and its 4.5Basically the reason its screwey is because I wanted it to compile for .net framework 2 here on my end. Although in order to get the native C++ DLL to do that you need Visual Studio 2008 and 2010 installed as well as whatever your using if its not 2010 OR the relevant Windows SDKs installed. (Windows 7 for 2010 and I think Vista for 2008). Link to comment Share on other sites More sharing options...
stephen Posted November 26, 2013 Share Posted November 26, 2013 OK. I decided to start by just using the DLLs without rebuilding them. I get a divide by zero exception. I get this without doing anything in VS as well. If I download the 7Z, unzip it, navigate to "XDMD Demo/bin/release" and run XDMD Demo.exe. It displays the first two scenes, first with PinballX, the second with "Welcome to the XDMD Demo." Then it crashes.I am going back to getting the whole thing to compile. That way I can just fix any issues I find. Link to comment Share on other sites More sharing options...
Recommended Posts