Jump to content



Photo
* * * * * 1 votes

DirectOutput Framework Release 2

DOF DOF R2 DOF2 DirectOutput

  • Please log in to reply
46 replies to this topic

#1 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 13 July 2014 - 08:24 PM

DirectOutputR2_Small.png

 

During the past few month a lot of new things have been added to the DirectOutput framework (DOF). Since most of my new ideas have been integrated by now it is time for a second release (R2).

 

What is new in DOF R2:

  •  Support for Sainsmart and other FT245R based controllers
  •  Pacled64 problems fixed
  •  Support for a controller for WS2811 based ledstrips. SMD version of the controller should be ready in a few weeks.
  • LedWiz uses now the whole value range from 0 to 49 (instead of only 48 before)
  •  Better toy objects for Shaker and GearMotor. New settings for MinPower, MaxPower, KickstartPower and KickStartDuration.
  •  LedStrip toy which allows for the support of addressable ledstrips  The toy support simple strips, but also two dimensional arrays of ledstrips.
  •  RGBAToyGroup and AnalogAlphaToyGroup toys support the grouping of RGB toys (e.g. RGBLeds) resp. AnalogAlpha toys (e.g. single color lamps) in arrays, so they can be controlled be the same effects as the ledstrips.
  •  Most toys do now support fading curves (either predefined curves or your own curves can be used) to fine tune the fading behaviour for the toys (Docu still pending)
  •  New general use effects (e.g. ValueInvertEffect) have been added.
  •  Special effects for LedStrips and toy groups, including a bitmap animation effect, have been added (Check out the video).
  •  Loads of new config options for the config ini files are available as well.
  •  Colors in ini files can now also be specified as hex colors (#ff0000 for red) in addition hex colors can be used directly in the effect configs.
  •  Conditions for effect triggering in ini files, e.g. (S48<>0 and S49=0) will only trigger the effect of solenoid 48 is active and solenoid 49 is inactive.
  •  Lists of table elements can also be used to trigger effects, e.g. S48|S49 will trigger the effect if either solenoid 48 or 49 is activated.
  •  ini Files do now support variables on global and table level (Sorry, docu not yet written)..
  •  A update notification has been added, which will ask you to update DOF if you are using ini files which require a new DOF version to support all settings.
  •  The global config system has been changed to make it a bit easier to understand. There is even a small tool to edit your global configs: GlobalConfigEditor.exe
  •  Many small changes behind the scenes and some bugs fixed as well.

Watch the following video to see some of the new features, in particular the addressable ledstrips, in action:

 

 

While I have been busy with the DOF extension Arngrim has added a lot of new functionality to the config tool, so the new functionality can be configured through the config tool. The config tool also got a new name and logo, but it still resides in its old location.

 

Please be sure to read the following paragraphs for download and update  instructions.

 

Keep (virtual) pinball alive and all the best!

 

Swisslizard / Tom

 

 

Upgrading your installation

 

To upgrade your DOF installtion just download DOF R2 and copy all the files in the package to the directoy where you have installed DOF and say yes if you are prompted to overwrite files. For new DOF installtions, please consult the documentation.

 

Important note:

  • DOF R2 uses a new global config structure. So if you use a global config file, please create a new global config file using the global config editor in the package.
  • If DOF does not work for you, be sure to unblock the DLL and EXE files. Sometimes windows tends to block downloaded files. For instructions read: http://directoutput....tion_unblockauc

 

 

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

 

rtfm.gif

 

Downloads

 

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

 

 

Source Code

 

The source code of the DirectOutput framework is available on Github: https://github.com/D...ut/DirectOutput


Edited by Swisslizard, 14 July 2014 - 08:38 PM.

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 boiydiego

boiydiego

    Pinball Fan

  • Members
  • PipPipPipPip
  • 978 posts
  • Location:baal

  • Flag: Belgium

  • Favorite Pinball: flinstones,t2 chrome edition,wcs,afm,fish tales,medieval,rollercoaster tycoon,taxi

Posted 13 July 2014 - 08:34 PM

great , thx swisslizard and arngrim for your work  !!! download is not aproved yet ..


Edited by boiydiego, 13 July 2014 - 09:38 PM.

boiydiego___gebruik-n2kbkyc.png


#3 jkimbrell

jkimbrell

    Enthusiast

  • Members
  • PipPipPip
  • 298 posts
  • Location:Cincinnati, OH

  • Flag: United States of America

  • Favorite Pinball: Star Trek NG, Indiana Jones, South Park

Posted 14 July 2014 - 11:45 AM

Excellent news!!  Can you share details on your lightbar setup?  Looks good and what kind of led strips are those in place along the sides of the playfield?  Thank you for your efforts in this, it really makes the virtual experience a lot better :) 



#4 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 14 July 2014 - 08:31 PM

Important remark:

 

If DOF is not working for you, please check if the files are unblocked. Windows sometimes tends to block DLL and EXE files which are downloaded.

 

Check the docu for instructions how to unblock the files: http://directoutput....tion_unblockauc


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.


#5 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 14 July 2014 - 08:55 PM

The light bar in the back of my cab has 5 RGB power leds for the flashers. They are mounted on a aloy C profile from which I have cut off all parts which are not needed to hold those leds. So all which is left in the places where there are no flashers are the sides of the C profile.

In addition there are 3 rows of WS2811 based ledstrips. The upper and lower strip is visible on its full length. The middle strip is mounted just behind the profile holding the flashers and since the profile is cut open in most of the places, that middle strip is visible in all places where there a no flashers.

In front of that construction I have some frosted acrylic glass and the flasher caps.

 

The ledstrips on the sides of the playfield are the same strips I used for the light bar in the back. Since I wanted them to be almost invisible when they are not active, I have put a little masking tape on every led of the strip (just 130 leds ;)) and applied some black spraypaint on the strips before installing them. Love the effect. :)

 

The control those ledstrips with DOF, you need a controller. Read the following topic for details: http://www.vpforums....topic=27227&hl=


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.


#6 boiydiego

boiydiego

    Pinball Fan

  • Members
  • PipPipPipPip
  • 978 posts
  • Location:baal

  • Flag: Belgium

  • Favorite Pinball: flinstones,t2 chrome edition,wcs,afm,fish tales,medieval,rollercoaster tycoon,taxi

Posted 14 July 2014 - 09:51 PM

cannot download this..


boiydiego___gebruik-n2kbkyc.png


#7 jkimbrell

jkimbrell

    Enthusiast

  • Members
  • PipPipPip
  • 298 posts
  • Location:Cincinnati, OH

  • Flag: United States of America

  • Favorite Pinball: Star Trek NG, Indiana Jones, South Park

Posted 15 July 2014 - 03:38 PM

The light bar in the back of my cab has 5 RGB power leds for the flashers. They are mounted on a aloy C profile from which I have cut off all parts which are not needed to hold those leds. So all which is left in the places where there are no flashers are the sides of the C profile.

In addition there are 3 rows of WS2811 based ledstrips. The upper and lower strip is visible on its full length. The middle strip is mounted just behind the profile holding the flashers and since the profile is cut open in most of the places, that middle strip is visible in all places where there a no flashers.

In front of that construction I have some frosted acrylic glass and the flasher caps.

 

The ledstrips on the sides of the playfield are the same strips I used for the light bar in the back. Since I wanted them to be almost invisible when they are not active, I have put a little masking tape on every led of the strip (just 130 leds ;)) and applied some black spraypaint on the strips before installing them. Love the effect. :)

 

The control those ledstrips with DOF, you need a controller. Read the following topic for details: http://www.vpforums....topic=27227&hl=

 

Cool thanks for the info!  The chasing LED effect (not sure if thats the right name for it) is really sweet!



#8 Gilrock

Gilrock

    Enthusiast

  • Platinum Supporter
  • 169 posts

  • Flag: United States of America

  • Favorite Pinball: Time Warp

Posted 15 August 2014 - 03:09 AM

I was in the original beta testing for DOF but then took a break from the pinball stuff for several months.  I've got everything updated with DOF2 and I'm a little confused trying to figure out the new configuration XML stuff.  All my tables that run from ROM's are working I believe from the directoutputconfig.ini file I generated with the config tool.  I'm now trying to get the EM table Target Alpha to work and it has DOF code from Arngrim.  Is it a requirement to have the table configured with a dummy name inside directoutputconfig.ini to work or can the table be configured to work only using XML configuration files?
 

UPDATE:  Ok I got Target Alpha working but it's still using the directoutputconfig.ini.  I'm still curious if that's the only way to use DOF right now.  By the way the ROM name in the table script didn't match the name currently in the config tool....had to change the table to "TA" to get it working.


Edited by Gilrock, 15 August 2014 - 03:09 AM.


#9 Zablon

Zablon

    Pinball Fan

  • Members
  • PipPipPipPip
  • 642 posts

  • Flag: United States of America

  • Favorite Pinball: Funhouse

Posted 16 August 2014 - 12:10 AM

Those bumper wall lamps connected to it are freaking awesome :)

 

Still need to try this tool out. Glad to finally have some PacLED support.

 

EDIT: Holy crap so I started looking into this and it looks complicated. I haven't made any updates to my cab in a year, still using vp 9.2 lol.


Edited by Zablon, 16 August 2014 - 07:05 PM.


#10 parabolic

parabolic

    Enthusiast

  • Silver Supporter
  • 225 posts
  • Location:Greenville, SC

  • Flag: United States of America

  • Favorite Pinball: revenge from mars

Posted 05 February 2015 - 09:15 PM

Great...now WHERE is the tutorial for setting this up???

I went to the GIT page and its pretty confusing the way its written - where do I put the files?? In the table directory? In its own? Im using a PACLED64 and for the life of me cant get it to work. 


Parabolic Technologies - 3D printers and 3D design printing

"Transforming YOUR Ideas into a Reality!"

[email protected]

https://www.facebook...f_type=bookmark


#11 Steve G

Steve G

    Enthusiast

  • Members
  • PipPipPip
  • 66 posts

  • Flag: England

  • Favorite Pinball: TOTAN

Posted 10 November 2015 - 12:24 PM

parabolic: did you ever get any answers to your questions, as I am in the same boat.
 
I have a PACLED64 with RGB flippers, and 4 single LED buttons - I think I have put everything in the correct folders, downloaded the latest "directoutputconfig20.ini" and "tablemappings.xml" files and put them in the config folder.

 

But when I launch a table, nothing happens, all the LED's just carry on running the default PACLED64 script.

 

Can anyone give my a little help?



#12 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 10 November 2015 - 12:43 PM

Did you register direct output.dll? Install dof r1 then dofr2?

randr___pinball.png                         


#13 Steve G

Steve G

    Enthusiast

  • Members
  • PipPipPip
  • 66 posts

  • Flag: England

  • Favorite Pinball: TOTAN

Posted 10 November 2015 - 01:13 PM

Hi randr, I read that you need to register but could not find r1 to download - but I found the r3 beta which allowed you to register but still nothing happened.



#14 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 10 November 2015 - 01:17 PM

Here is Dropbox link to registerdirectoutput.exe
https://www.dropbox....Object.exe?dl=0
Also don't forget about configuring global config

randr___pinball.png                         


#15 Steve G

Steve G

    Enthusiast

  • Members
  • PipPipPip
  • 66 posts

  • Flag: England

  • Favorite Pinball: TOTAN

Posted 10 November 2015 - 01:45 PM

Thanks randr,

 

I will try and update you when I get home on Wednesday evening.

I think I did the global config - well the path for the ini files anyway, that's all you need to do correct?



#16 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 12 November 2015 - 09:53 AM

There shouldnt be anything you need to register to make a PacLed64 working in DOF.

 

The only thing that could be registered in DOF is a COM-object which can be used to talk to DOF from other programms. Till now nothing ever used that com-object so even registring that shouldnt make a difference. Note: DOF R3 will use the COM object for the Pinballx integration, but that is another topic.

 

Reagrding PacLed64:

DOF has autodetection capability for the PacLed64. So unless something important has changed in the Pacled64 hardware or in the firmware of the Pacled64 DOF should automatically detect that unit with its number (1-4) and configure it, even if there is no cabinet config file or if there is no entry for that pacled64 in the cabinet config (Even in my setup the cabinet config doesnt have any entries for the PacLed64). Depending on the unit number, DOF uses directoutputconfig ini files with number between 20 and 23 for the effect configs of the Pacled64.


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.


#17 Steve G

Steve G

    Enthusiast

  • Members
  • PipPipPip
  • 66 posts

  • Flag: England

  • Favorite Pinball: TOTAN

Posted 12 November 2015 - 10:54 AM

Hi Swisslizard,

 

Still no luck but I'm sure it is because I am doing something wrong!

Any help would be much appreciated - I am trying to attach my DirectOut.log, but it won't let me :-( 

 

 



#18 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 12 November 2015 - 11:44 AM

@ Steve G:

Check your PM.


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.


#19 Swisslizard

Swisslizard

    DOF inventor & coder

  • VIP
  • 152 posts

  • Flag: Switzerland

  • Favorite Pinball: The Machine

Posted 12 November 2015 - 04:13 PM

OK, had a look at your logfile. There is something strange:

2015.11.12 07:50:42.401    Cant load config from directoutput.ini or ledcontrol.ini file(s) since no RomName was supplied. No ledcontrol config will be loaded.

For some reason DOF doesnt get the romname of the table you are playing.

What kind of table are you trying to start. SS (rombased) table or a EM table?

If it is a EM table is the following statement included in the table script: Controller.B2SName = "MyTable"?


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.


#20 Steve G

Steve G

    Enthusiast

  • Members
  • PipPipPip
  • 66 posts

  • Flag: England

  • Favorite Pinball: TOTAN

Posted 12 November 2015 - 06:10 PM

I was testing with an EM table 9Big Brave) but I do have in the script:

 

' Backglass

Dim Controller

Set Controller

Controller = CreateObject("B2S.Server")

Controller.B2SName = "BigBrave"

Controller.Run

 

 

Using the DirectOutputConfigTester I can get everything to work as it is supposed to, but nothing lights up when I run any table SS or EM.


Edited by Steve G, 12 November 2015 - 09:37 PM.






Also tagged with one or more of these keywords: DOF, DOF R2, DOF2, DirectOutput