Jump to content

Directoutput Framework Release


Recommended Posts

  • Content Provider

DirectOutput_Small.png

 

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

 

cheerlie-RTFM.gif

 

 

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 GroovyGameGear
    The use of up to 16 LedWiz units is supported by the framework. DOF can even detect and configure LedWiz units automatically.
  • PacLed64 from Ultimarc
    Up to 4 PacLed64 units can be used. PacLed64 units can be detected and configured automatically.
  • Art-Net / DMX
    Art-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.

you-re-the-best.gif



This post has been promoted to an article
Link to comment
Share on other sites

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

  • Content Provider

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

 

post-100-0-60134300-1383324830_thumb.png

 

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

  • Content Provider

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

  • Content Provider

@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

  • Content Provider

@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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...