Content Provider swisslizard Posted November 1, 2013 Content Provider Share Posted November 1, 2013 Finally, here is the first release of the DirectOutput framework. Far to much time has been put into coding and testing of this library, but now I believe it will work well for everyone. Since I did not like the limitations (not enough outputs) and problems (stuttering) with the legacy solution to control the outputs of my cabinet, I have created completely new system to control output hardware connected to virtual pinball cabinets. During the past months the project has grown quite a bit larger than expected and more and more options have been added. The result is what I call the DirectOutput framework (DOF). If you own a pinball cabinet and want to use the DirectOutput framework, please read the paragraphs below for details. Keep (virtual) pinball alive and all the best! Swisslizard / Tom What you get Key features of the DirectOutput framework: Support of up to 16 LedWiz and 4 Pacled64 units (including a mix of them). Support of Art-net/DMX. Multithreaded to ensure optimal performance and avoid stuttering issues. Integration with B2S.Server. Support for EM tables. Loads of new config options. Extendable through scripting. Extendable object oriented architecture. Coded in C#. Fully documented code. Documentation The documentation of the framework is available on GitHub. It contains a lot of information on the installation, architecture and the configuration of the framework, as well as the fully documented object model. The pages about the installation and supported hardware might be a interesting starting point. http://directoutput.github.io/DirectOutput/index.html Downloads The DirectOutput framework can be downloaded from http://vpuniverse.com/forums/files/category/61-direct-output-framework/ Support & Forum If you have questions about the framework (please read the docu first) or want to discuss something, please visit the support forum. http://vpuniverse.com/forums/forum/118-direct-output-framework/ Supported hardware Currently DOF is supporting the following hardware: LEDWiz from GroovyGameGearThe use of up to 16 LedWiz units is supported by the framework. DOF can even detect and configure LedWiz units automatically. PacLed64 from UltimarcUp to 4 PacLed64 units can be used. PacLed64 units can be detected and configured automatically. Art-Net / DMXArt-Net and DMX are standards used to control light effects. On the market you can find tons of DMX controlled light effects ranging from small and cheap to very big Support for other hardware (e.g. some home grown Arduino or Raspberry Pi based controller) is easy to implement. Therefore the number of supported controllers will likely grow over time. How it is working The DirectOutput framework is working as a plugin for Herwehs great B2S.Server. This means that every table using the B2S.Server can use the DirectOutput framework as well, usually without any changes to the table script. For more information on the B2S.Server plugin interface have a look at http://directoutput.github.io/B2SServerPluginInterface/ and for some sample plugin code you can go to http://directoutput.github.io/B2SServerSamplePlugin/ Since the outside interface of DOF is quite simple (currently only 3 methods), the implementation of interfaces to other pinball simulations should be easy. Sample code for a plugin host supporting DOF has already been developed and can be provided on request. Source Code The source code of the DirectOutput framework is available on Github: https://github.com/DirectOutput/DirectOutput Thanks When developing software, coding is only a part of the work. Testing, doing configurations and encouraging the coder take a lot of time as well. Therefore I want to thank the following enthusiasts: Herweh for adding a plugin interface to his B2S.Server and enduringing my everlasting requests for changes and features. Arngrim for being the first to board the train and start testing, constantly finding bugs and most of all redoing and enhancing the configs in the LedControl config tool. Bent98 for testing and tryinging to help to mange the project somehow. Degoor for extending his Ledwiz config tool. Everyone who has been active during the beta testing. Everyone else who was at some stage involved in the project for their support and interest in my work. This post has been promoted to an article Link to comment Share on other sites More sharing options...
wowter Posted November 1, 2013 Share Posted November 1, 2013 The future is now! All stuttering issues associated with the old ledwiz software are gone! Amazing savings: i no longer have to buy a faster intel PC, since my AMD can now run everything 100% Very professional software package also, with lots of documentation. It is easy to setup, and works great out of the box. Everyone who owns a ledwiz should download this NOW! congratulations! And thank you once again Tom! Link to comment Share on other sites More sharing options...
tttttwii Posted November 1, 2013 Share Posted November 1, 2013 Excellent! Thanks Tom for this awesome work! It is running like a charm!!! Link to comment Share on other sites More sharing options...
Content Provider arngrim Posted November 1, 2013 Content Provider Share Posted November 1, 2013 Thank you Tom for this beautiful software - that has so much potential in terms of ledwiz mappings, and we haven't finished to discover all their possibilities - can be used for a lot of hardware, not only ledwiz - can be portable to other software than vpinball, later While we were thinking and testing the DOF, me Bent98 and SwissLizard have reviewed the usage of the contactors and we came at the conclusion that we could extend the 8 contactor setup to 10 contactors, here is the schema With the 8 contactor setup, everything on the middle and on the back was on 3 contactors (4 normally but i never really understood the utility of the bumper back), and with DOF they were too intensely used. With this new schema, separation is more optimal, we keep the slinghshots just for slinghots and the middle events are mapped to middle contactors, think of monopoly and his 2 sets of bumpers for example, now you will feel the difference between the ball going to the bumpers on the back than on the middle, and that is just one example Link to comment Share on other sites More sharing options...
Content Provider arngrim Posted November 1, 2013 Content Provider Share Posted November 1, 2013 To change from 8 to 10 contactor setup on configtool, it's on my account tab, contactor configuration Link to comment Share on other sites More sharing options...
gStAv Posted November 1, 2013 Share Posted November 1, 2013 OMG thank you Tom for this!!! Almost gave up as I installed my desktop PC i7 beast and still experienced stutter!!!Can't wait to try this awesomeness out!!!! cheers! Link to comment Share on other sites More sharing options...
jadflat Posted November 1, 2013 Share Posted November 1, 2013 Swisslizard: this looks great! does it work with arfx? http://www.arfx.nl/shop/ Link to comment Share on other sites More sharing options...
Content Provider DeeGor Posted November 2, 2013 Content Provider Share Posted November 2, 2013 Nice job Tom. You put a ton of work into this and it came out great. Link to comment Share on other sites More sharing options...
Content Provider bent98 Posted November 2, 2013 Content Provider Share Posted November 2, 2013 Tom, Thanks for your wonderful software. I enjoyed testing this and working with you, Arngrim, and Deegor. I look forward to completing the remaining table configs on my todo list. DOF really makes a difference in enjoying an authentic pinball experience. Link to comment Share on other sites More sharing options...
Content Provider Zarquon Posted November 3, 2013 Content Provider Share Posted November 3, 2013 Great Stuff. Easy install and working fine. Now to update some tables to E versions. Link to comment Share on other sites More sharing options...
Content Provider swisslizard Posted November 4, 2013 Author Content Provider Share Posted November 4, 2013 @jadflat: So far nothing has been developed for arfx. Just had a very quick look at their website and I guess it would be possible ti integrate a driver into DOF. Since I dont have that hardqare, I cant do that myself (cant integrate a driver without being able to test it). If someone want to try anyway, I'll be happy to help. Link to comment Share on other sites More sharing options...
jadflat Posted November 4, 2013 Share Posted November 4, 2013 I've got the hardware, but no clue on how to integrate the driver... Sent from my Nexus 4 using Xparent Cyan Tapatalk 2 Link to comment Share on other sites More sharing options...
Content Provider swisslizard Posted November 5, 2013 Author Content Provider Share Posted November 5, 2013 @jadflat: You will need to create a outputcontroller class for those things. This class has to implement the IOutputController interface, so DOF will recognize it as a output controller. This interface defines a few methods and properties which have to be implemented by your outputcontroller, so DOF con use it.ö Have a look at the NullOutputController class in the DirectOutput.Cab.Out namespace to get a idea what you have to do. Link to comment Share on other sites More sharing options...
jadflat Posted November 5, 2013 Share Posted November 5, 2013 Thanks, I'll have a look at it tonight Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now