Jump to content



Photo
- - - - -

DirectOutput Framework release


  • Please log in to reply
49 replies to this topic

#1 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 01 November 2013 - 01:31 PM

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....tput/index.html

 

cheerlie-RTFM.gif

 

 

Downloads

 

The DirectOutput framework can be downloaded from http://www.vpforums....s&showfile=8680

 

 

 

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....luginInterface/

and for some sample plugin code you can go to http://directoutput....erSamplePlugin/

 

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/D...ut/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


Programming is a race between software engineers striving to build  idiot-proof programs, and the universe trying to produce bigger idiots. So far, the universe is winning.


#2 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 01 November 2013 - 01:58 PM

If you own a ledwiz,  you should download this NOW!  It solves all major issues that plagued ledwiz owners in the past.

 

 

No more stutter! woohoooo!

 

 

Thank you Tom!

 

 

(it should be noted that only the configtool over at [site reference removed] takes advantage of the new DOF features, like fading lights.  It will work just fine with the old .ini files though)

 

edit2:  downloads seem to be working now.

 

??Even thought it says that i removed the site reference, it was actually removed by Noah.


Edited by bosvrucht, 01 November 2013 - 03:30 PM.
Site Reference Removed - Site hosts unauthorized hacks and Mods


#3 Dozer316

Dozer316

    Dozer

  • VIP
  • 669 posts

  • Flag: Australia

  • Favorite Pinball: Cirqus Voltaire

Posted 01 November 2013 - 03:12 PM

Thanks Tom, it's been fantastic testing the framework and seeing it progress. Don't forget my solenoid inversion request though :)

Thanks too for doing this. It just makes the whole experience of vp so much nicer.

What a great year it's been with directb2s, DOF and all the advances being made with VP.

A great and talented community for sure.

#4 BlackPredator72

BlackPredator72

    I ❤ Pinball

  • Members
  • PipPipPip
  • 372 posts
  • Location:Haarlem, The Netherlands

  • Flag: Netherlands

  • Favorite Pinball: Demolition Man

  • PS3 Gamer Tag: BlackPredator72
  • 360 Gamer Tag: BlackPredator72

Posted 01 November 2013 - 03:52 PM

If I install this, are the tables not confused by gettings instructions from ledwiz.ini and from DOF at the same time ?

Sorry that I didn't read all the instructions before posting this, but that was the first question that popped my mind when I saw this.

 

I had some stuttering with some tables too, so hopefully that will be over after implementing this piece of ART ;)


43327.png?1581090420

 


#5 gerardnl

gerardnl

    Enthusiast

  • Members
  • PipPipPip
  • 75 posts

  • Flag: Netherlands

  • Favorite Pinball: twilight zone

Posted 01 November 2013 - 04:42 PM

most likely gerard needs a "how to" or "step by step" for this ;)


started my build "the twilight zone"

 

http://www.vpforums....showtopic=23883


#6 dup3d

dup3d

    Enthusiast

  • Members
  • PipPipPip
  • 55 posts

  • Flag: Germany

  • Favorite Pinball: Funhouse

Posted 01 November 2013 - 05:59 PM

WoW Big Thx for this to everybody involved  :otvclap:

I followed the progress and read in the doc´s a bit and all sounds really like a great advantage for us Vpinballers :)

I hope i can figure out how to let the DOF talk to my Arduino Mega with my very limited coding skills. Or perhaps if somebody else is working on an Arduino/DOF soultion will share the code.

So long thanks again and keep the balls rollin....

 


--------------------------------------------------------------------------------------------------------------------------------------
In play:Funhouse, High Speed, Bride of Pinbot, Demolition Man, Mini VP Cab
Gone:BlackWater100, Hurricane, Fire, Dirty Harry, Black Pyramid
--------------------------------------------------------------------------------------------------------------------------------------


#7 Mark4par

Mark4par

    Hobbyist

  • Members
  • PipPip
  • 46 posts

  • Flag: United States of America

  • Favorite Pinball: Star Trek NG

  • 360 Gamer Tag: markus420

Posted 01 November 2013 - 06:09 PM

Installed. get nothing but errors. Can't get b2s server plugin box to stay checked. Using 1.3. Tried changing b2s xml myself and get many vpinmame errors. Yes script is loading b2s.

 

 

fixed. Reinstalled  net framework 4.5 and added just the line <ArePluginsOn>1</ArePluginsOn> in the b2s xml

for some reason I couldn't get the activate plugins box to stay checked till I did this.

 

 

the walkthrogh shows this but i couldn't get it to work. just added the middle line to the start of the b2s table settings.xml

 

<B2STableSettings>
....
<ArePluginsOn>1</ArePluginsOn>
...
</B2STableSettings>

 

Wow I'm in Heaven .Finally no more stutter.


Edited by Mark4par, 01 November 2013 - 09:54 PM.


#8 randr

randr

    I'm just a hardware guy so...

  • VIP
  • 2,650 posts
  • Location:Minnesota

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone

Posted 01 November 2013 - 06:10 PM

This is a must install if you use ledwiz! night and day difference great work being done on this!


randr___pinball.png                         


#9 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 01 November 2013 - 06:37 PM

most likely gerard needs a "how to" or "step by step" for this ;)

 

The docs at the DOF site are pretty comprehensive, but anyway:

 

Most people will use this (at first) as a replacement for the old framework:

 

-make sure you are using herwehs db2s server 1.3+, run it and check "activate plugins"

-make sure your tables are setup for db2s use

-inside your VP tables directory:

  • create a directoy called plugins.
  • Inside the newly created plugins directory, create a subdirectory called DirectOutput (any other name will be ok as well).
  • Unzip the contents of the zip-file containg the framework to the newly created DirectOutput directory

-you can now delete ledcontrol.vbs from your tables folder

-you can keep your existing ledwiz.ini initially , but it is better to delete that and create a new directoutput.ini file at ***********.com/ledwiz. This adds some cool stuff, only possible within the new framework


Edited by bosvrucht, 01 November 2013 - 06:47 PM.


#10 manbo

manbo

    Enthusiast

  • Members
  • PipPipPip
  • 165 posts
  • Location:Magdeburg

  • Flag: Germany

  • Favorite Pinball: addams family

Posted 01 November 2013 - 06:43 PM

awsome Tom!

 

no more micro stutter 


My Cab: http://www.crypton.de

Arcade: Mame-Cab Horizontal mit Hantarex, Mame-Cab Vertikal mit Hantarex, Tankstick 
Pinball: Gottlieb Virtual Pinball Cab 40"/27"/Real DMD i5 3450 3,1Ghz, Intel 128 SSD HD, Nvidia 560TI

 

 

 

 


#11 maceman

maceman

    Home Pinball Machine Collector/ Restorer

  • VIP
  • 2,271 posts
  • Location:Canada, Eh!

  • Flag: Canada

  • Favorite Pinball: ....**Haunted House**....



Posted 01 November 2013 - 07:01 PM

I do not have LED support on my cab, but I am all in favour when people create programs to get rid of stutter.

Nice work Tom. I like the name and the logo as well :)

Cheers,

Maceman


________________________________________________________________________________
Canada Eh!
hm_avatar.pngss_avatar.jpg MODS ys_avatar5.jpggenie_avatar.pngj2o_avatar.png

#12 gerardnl

gerardnl

    Enthusiast

  • Members
  • PipPipPip
  • 75 posts

  • Flag: Netherlands

  • Favorite Pinball: twilight zone

Posted 01 November 2013 - 07:47 PM

bosvrucht thanks mate ! will give it a go tomorrow.

started my build "the twilight zone"

 

http://www.vpforums....showtopic=23883


#13 thewool

thewool

    Pinball Fan

  • VIP
  • 1,068 posts
  • Location:North Yorkshire, UK

  • Flag: England

  • Favorite Pinball: WOZ



Posted 02 November 2013 - 11:10 AM

Thanks for the idiot's guide :db: This project sounds full or promise, cheers to all involved in the development/testing.

 

Quick question, can this only be used to control LEDWizs for tables that have a dB2S? Or can it be used for all tables?

 

I'm just trying to work out if it is a complete replacement for ledcontrol.vbs before I take the leap.



#14 bosvrucht

bosvrucht

    Enthusiast

  • Members
  • PipPipPip
  • 410 posts

  • Flag: Netherlands

  • Favorite Pinball: LOTR

Posted 02 November 2013 - 11:20 AM

Thanks for the idiot's guide :db: This project sounds full or promise, cheers to all involved in the development/testing.

 

Quick question, can this only be used to control LEDWizs for tables that have a dB2S? Or can it be used for all tables?

 

I'm just trying to work out if it is a complete replacement for ledcontrol.vbs before I take the leap.

 

It can be used for all tables.   You still have to setup ALL your tables for db2s, this to activate DOF,  but if no actual db2s is available everything still works as before. 

 

edit: originals, and non pinmame tables are also supported. 


Edited by bosvrucht, 02 November 2013 - 11:55 AM.


#15 ArcadiusMaximus

ArcadiusMaximus

    Quit throwing trash into my dimension !

  • Members
  • PipPipPip
  • 310 posts
  • Location:PITZBORG, PA

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars, Scared Stiff, White Water

Posted 02 November 2013 - 01:49 PM

Awesome can't wait to give it a go !


~ Mr. John E. Smith III Esq.

#16 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 02 November 2013 - 02:27 PM

Here are the tables that are already DOF optimized, reviewed by me and Bent98

 

250cc (Electromecanica 1992) Yes Final

Abracadabra Yes Final

ACDC Music Table Yes Final

Addams Family, The (Williams 1992) 1.3

Airborne (Capcom 1996) 1.1

Ali (Stern 1980) Yes Final

Alien Poker (Williams 1980) Yes Final

Als Garage Band Goes On World Tour (Alivin G. 1992) OK

Atlantis (Midway 1989) OK

Attack and Revenge From Mars (Bally 1999) OK

Attack from Mars (Bally 1995) OK

Baby Pacman Yes Final

Back to the Future (Data East 1990) OK

Bad Cats (Williams 1989) OK

Bally Game Show, The (Bally 1990) 1.3

Banzai Run (Williams 1988) OK

Baseball (Gottlieb 1970) Yes Final

Batman (Data East 1991) OK

Baywatch (Sega 1995) OK

Big Bang Bar (Capcom 1996) OK

Big Brave Yes Final

Big Game Yes Final

Big Guns (Williams 1987) OK

Big Hit Yes Final

Big valley Yes Final

Black Hole (Gottlieb 1981) OK

Black Knight 2000 (Williams 1989) OK

Black Pyramid Yes Final

Black Rose (Bally 1992) OK

Black Sabbath 60's Yes Final

Black Sabbath 70's Yes Final

Blackout Yes Final

Bow and Arrow Yes Final

Bram Stokers Dracula (Williams 1993) OK

Breakshot (Capcom 1996) OK

Cactus Canyon (Midway 1998) OK

Capersville Yes Final

Car Hop Yes Final

Centaur (Bally 1981) OK

Centigrade Yes Final

Charlies Angels (Gottlieb 1978) Yes Final

Checkpoint (Data East 1991) OK

Cirqus Voltaire (Bally 1997) OK

Class of 1812 (Gottlieb 1991) OK

Close Encounters Of The Third Kind (Gottlieb 1978) Yes Final

Congo (Williams 1995) OK

Corvette (Williams 1994) OK

Cosmic Princess (Stern 1979) Yes Final

Creature from the Black Lagoon (Bally 1992) OK

Cueball Wizard (Gottlieb 1984) OK

Demolition Man (Williams 1994) OK

Diamond Lady (Premier 1988) Yes

Diner (Williams 1990) OK

Disco Fever (Williams 1978) Yes Final

Doctor Who (Bally 1992) OK

Dolly Parton (Bally 1978) Yes Final

Dr Dude (Midway 1990) OK

Earthshaker (Williams 1989) 1.1

Eight Ball Yes Final

Eight Ball Champ Yes Final

Elvira and the Party Monsters (Bally 1995) OK

Elvis (Stern 2004) 1.3

Embryon (Bally 1980) 1.1

F-14 Tomcat (Williams 1987) OK

Fast Draw Yes Final

Fireball Yes Final

Firepower (Williams 1980) Yes Final

Fish Tales (Williams 1992) OK

Flash (Williams 1979) Yes Final

Flash Gordon (Bally 1981) Yes Final

Flight 2000 (Stern 1980) Yes Final

Flintstones, The (Williams 1994) OK

Flipper Football (Capcom 1996) OK

Frankenstein (Sega 1995) 1.2

Freddy A Nightmare On Elm Street (Premiere 1994) 1.1

Freefall (Stern 1981) Yes Final

Frontier (Bally 1980) Yes Final

Full Yes Full

Funhouse (Williams 1990) OK

Future Spa (Bally 1979) Yes Final

Galaxy (Stern 1980) Yes Final

Godzilla (Sega 1998) 1.3

Goldeneye (Sega 1996) OK

Greatful Dead Yes Final

Gridiron Yes Final

Guns and Roses (Data East 1994) OK

Harlem Globetrotters On Tour (Bally 1979) Yes Final

Harley Davidson (Bally 1991) OK

Haunted House (Gottlieb 1982) OK

Hook (Data East 1992) OK

Hot Hand (Stern 1979) Yes Final

Hurricane (Williams 1991) OK

Ice Fever (Gottlieb 1985) Yes Final

Impacto yes Final

Indiana Jones (Williams 1993) OK

Indianapolis 500 (Midaway 1995) OK

Iron Man (Stern 2010) 1.3

Jack-Bot (Williams 1995) OK

Johnny Mnemonic (Williams 1995) OK

Joker Poker (Gottlieb 1978) yes Final

Jokerz! (Williams 1988) OK

KISS (Bally 1979) Yes Final

Laser Cue Yes Final

Laser War (Data East 1987) 1.1

Lectronamo Yes Final

Lethal Weapon 3 (Data East 1992) OK

Lord Of The Rings (Stern 2003) OK

Machine, The - Bride Of Pin-Bot (Williams 1991) 1.3

Mata Hari Yes Final

Medieval Madness (Williams 1997) 1.1

Monopoly (Stern 2001) OK

Monster Bash (Williams 1998) OK

Mousin Around (Midway 1989) OK

Mystic Yes Final

NBA Fastbreak (Midway 1997) OK

Nitro Ground Shaker Yes Final

No Fear-Dangerous Sports (Williams 1995) OK

No Good Gofers (Williams 1997) OK

Panthera Yes Final

Paragon Yes Final

Phantom Of The Opera, The (Data East 1990) OK

Pharoah Yes Final

Pinball Pool Yes Final

Pinbot (Williams 1986) OK

Pink Panther Yes Final

Pirates of the Caribbean 1.3

Playboy (Stern 2002) OK

Playboy Bally Yes Final

Q-Bert's Quest (Gottlieb 1983) 1.1

Red and Ted's Road Show (Williams 1994) OK

Ripley's Believe It or Not (Stern 2004) 1.3

Robocop (Data East 1990) 1.1

Robot (Zaccaria 1985) 1.3

Robowars Yes Final

Rocky Yes final

Rollercoaster Tycoon (Stern 2002) OK

Rolling Stones (old) Yes Final

Rush Yes Final

Safe Cracker (Midway 1996) OK

Scared Stiff (Williams 1996) 1.1

Scarface - Balls and Power (JP 2013) OK

Sea Witch Yes Final

Shadow, The (Bally 1994) OK

Shangri-la Yes Final

Sharpshooter Yes Final

Silverball Mania Yes Final

Simpsons Pinball Party, The (Stern 2003) OK

Simpsons, The (Data East 1990) OK

Sky Rocket Yes Final

Solar Ride Yes Final

Sopranos (Stern 2005) OK

Sorcerer Yes Final

South Park (Sega 1999) OK

Space Invaders (Bally 1980) OK

Space Shuttle (Williams 1984) OK

Space Station (Williams 1987) OK

Spirit Yes Final

Star Trek 25th Anniversary (Data East 1991) 1.3

Star Trek The Next Generation (Williams 1993) 1.3

Star Wars (Data East 1992) 1.3

Star Wars Trilogy (Sega 1997) OK

Stargate (Gottlieb 1995) 1.3

Stargod Yes Final

Stark Trek Old Yes Final

Stars Yes Final

Starship Troopers (Sega 1997) 1.4

Strange World Yes Final

Street fighter II (Gottlieb 1993) 1.3

Strikes and Spares Yes Final

Super Mario Bros (Premier 1992) OK

Super Soccer Yes Final

Supersonic Yes Final

Sure shot yes Final

Tales from the Crypt (Data East 1993) OK

Tales of the Arabian Nights (Williams 1996) OK

Taxi (Williams 1988) 1.1

Terminator 2 - Judgement Day (Williams 1991) OK

Theatre of Magic (Midway 1995) 1.1

Trailer Yes Final

Tri Zone (Williams 1979) OK

Trident Yes Final

Triple Strike Yes Final

Twilight Zone (Bally 1993) OK

Twister (Sega 1996) OK

Vegas Yes Final

Vortex Yes Final

Whitewater (Williams 1993) OK

World Cup Soccer 78 Yes Final

World Cup Soccer 94 (Bally 1994) OK

Wrath of Olympus (JP 2012) 1.2

X-Files (Sega 1997) 1.3

Yukon Yes Final

 
The tables i made are the ones with OK or 1.1, 1.2, 1.3....
 
The definitions:
OK = first revision, introduced all targets and drop targets switches to ledwiz, can be mapped no, they were too fast for ledcontrol.vbs
         more efficient strobes, introduction to 10 contactor setup, all tables have now 8 and 10 contactor setup, see schema of 10 contactor setup below,              much better!
         replaced s-3 s-2 by s31, s30 etc
1.1 = above changes + i don't remember :D
1.2 = above changes + introduction to fading lights :), all rollvovers have a fading up and down of 200 ms, targets 50 ms, flashers 100 ms, some holes are blinking with a fade color of 500 ms
1.3 = above changes + introduction to custom intensity with contactors, the targets are using now I40, so you can feel the difference between a bumper and a target
1.4 = above changes + introduction to custom intensity for drop targets, i'm experimenting i44 for drop targets switches, works good
1.5 = above changes + use a 120 ms for targets and drop targets, contactor were a bit too fast when using i40 or i44, still experimenting
 
All the tables will have the latest revision one day, but the most important now is to have all the major tables optimised for DOF, 
 
Attached File  contactors.png   88.66KB   24 downloads

Edited by arngrim, 02 November 2013 - 02:27 PM.


#17 thewool

thewool

    Pinball Fan

  • VIP
  • 1,068 posts
  • Location:North Yorkshire, UK

  • Flag: England

  • Favorite Pinball: WOZ



Posted 02 November 2013 - 02:28 PM

This is great!

So what about a table like JP's Scarface, trying to get the b2s version of the table running but think this would need a lot of work...

#18 SpykeDaddy

SpykeDaddy

    Hobbyist

  • Platinum Supporter
  • 18 posts

  • Flag: United States of America

  • Favorite Pinball: Twilight zone

Posted 02 November 2013 - 02:41 PM

Wow. I just installed this and ran the Checkpoint table, which has always given me major stutter issues even with a decent PC in my cabinet. No stutter. Fabulous and what a gift. Thank you so much to everyone who contributed to this!

 

I, too, had issues getting the "activate plugins" checkbox to stick, so I had to make the simple script change described by Mark4par, which is also detailed in the excellent instructions.

 

Some of you may not know that the LEDWiz Control website that generates the ini files has a setting you must change to create direct output.ini files instead of the old ledwiz.ini file. Just go to the LEDWiz Config Tool, login, go to "My Account" in the menu and change the drop down that reads, "Legacy" to "DirectOutput". Once you change that setting, you can download the configuration files just like you did before in the "Port Assignments" menu.

 

Again, thanks to everyone that contributed to this.



#19 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 02 November 2013 - 02:59 PM

I made a version of Scarface for DOF, worked a week on it, i just need the approval of JP to release it

This is great!

So what about a table like JP's Scarface, trying to get the b2s version of the table running but think this would need a lot of work...


here is a small and bad video of it:

 

http://www.youtube.c...h?v=I5CKse3zIzE



#20 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 02 November 2013 - 04:16 PM

JP approved so I submitted it, it will arrive shortly :)