Jump to content

Directoutput Framework Announcement


swisslizard

Recommended Posts

DirectOutput_Small.png

After months of development, I more than happy to announce the DirectOutput framework for virtual pinball cabinets.

Since I did not like the limitations (not enough outputs) and problems (stuttering) with the current ledontrol.vbs solution to control the outputs of my cabinet, I have started to implement a 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. A lot of testing has been done by a group of alpha testers and myself as well.

The result is what I call the DirectOutput framework (DOF).

Since DOF has proved to be pretty stable during the alpha testing period, beta testing starts today. For this phase of the project, it would be great to have a few more people joining for beta testing.

Please read the paragraphs below for more information.

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.

More new developements:

  • Since DOF can support more than one output controller, Degoor has extended his great LedWiz config tool with new functionality to allow the configuration of more than one output controller.
  • Arngrim has reviewed most of the configs in the config tool.
  • The config tool will also support a 10 contactor setup in addition already existing 8 contactor setup.

Configuration

DOF supports two different configuration schemes:

  • Natively the framework uses XML files to store its configurations. The XML based configs allow you to configure every aspect and option of the framework.
    The config files allow for all config option, maximum flexibility, but they do also add some addition complexity.
  • Ledcontrol.ini files like the ones used for the legacy ledcontrol.vbs solution can be used for the configuration as well. Together with the auto config features for some of the supported hardware, they will allow for a configuration with very little effort.
    If more than one LedWiz and/or PacLed64 is in use, several Ledcontrol.ini files can be used for the configuration.
    Due to the limitations of ledcontrol files, not all options and aspects of the framework can be configured.

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 and expensive.

Planed hardware support:

  • PacDrive from Ultimarc
  • Driver for addressable RGB led stripes (WS2811/WS2812 based stripes).

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.

Documentation

The preliminary documentation of the framework is already 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

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.

Downloads

Sorry, public downloads are not yet available. At this time the software is only accessible for the testers, but it will become available for everyone once beta testing has been completed.

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/

Source Code

As soon as the project is released for everyone, the source code for the framework will be published on GitHub and everybody is invited to download, change and extend the code.

Testers wanted

A good amount of testing has already been done by a group of very helpful enthusiasts and myself. Now, we would like to invite a few more people for the beta testing phase.

If you want to participate in the testing you should at least have some basic idea how VP, Pinmame and B2S.Server interact, know a little bit about table scripting and you should be willing to read some documentation and follow the relevant discussions.

If you are interested to help testing, please send my a PM. Please include your email address in the PM, so I can enable access to the Google drive containing the files for the testers.

Since I can only work with a limited number of people at the same time (still need to manage the whole thing somehow), only a limited number of testers will be able to join initially.

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.
  • Bill55, SirCheddar and Slydog for testing.
  • Everyone else who was at some stage involved in the project for their support and interest in my work.

smilieyourtthumb.gif

Link to comment
Share on other sites

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...