If you're using the Pinscape v2 firmware, you should install these updated versions of the system support library files.
The "Grander Unified" version combines all of the formerly separate third-party versions on GitHub that forked off from SwissLizard's last official release in late 2015. It also features a Windows Setup installer that handles all of the setup automatically rather than requiring the traditional series of error-prone manual steps. More...
The latest version of the LedWiz DLL lets you access all of your Pinscape Controller ports from older, LedWiz-only software, even if you have more than 32 ports. It does this by creating "virtual" LedWiz units to represent the additional ports on your Pinscape unit. Suppose you have a Pinscape controller with 75 ports, and you've set it up as LedWiz unit #8. The first 32 ports will appear as LedWiz #8 as usual. But in addition, the DLL will set up a fake LedWiz unit #9 for Pinscape ports 33-64, and unit #10 for Pinscape ports 65-70. Older LedWiz-only software will think you have 3 LedWiz's installed. Keep in mind that the ports for each virtual LedWiz are numbered 1 to 32 as always, since the LedWiz is hard-wired to think that way, so you'll have to do a little arithmetic to figure out that Pinscape port 33 is mapped to LedWiz #9 port 1. And of course, you can just ignore the virtual LedWiz units in DOF programs like VP, since DOF already knows how to access all of the Pinscape ports directly. Note: you'll also need the Pinscape firmware from 2017-02-03 or later to use this feature, since the DLL depends on some enhancements on the device side to make it all work.
Current version (10 August 2020): This is a minor R3++ update that adds two features from Vroonsh. First, table-scoped variables in the config file are expanded before global variables when processing the Config Tool strings. This means that table-scoped variables override global variables, which lets you customize all variables on a per-table basis (which is really the way it should have been originally). The specific use case Vroonsh had in mind is that this lets you easily customize LED matrix effects per table. Second, it adds some new variables to the global config file that let you customize the signal timing for Addressable Light Strips controllers. The default timing is designed to work with SwissLizard's original Teensy-based controller design, so if you're using a Teensy, you can ignore this change and continue using the default settings. Vroonsh added the new variables because some people (especially in Europe) use a Wemos D1 Pro in place of a Teensy, and that device has slightly different signal timing requirements. This change lets you adjust the timing to match your device via the global config file (rather than having to recompile the source code, which is what people using the Wemos were forced to do in the past).
As always, this is a cumulative update that includes all features from my earlier R3++ and R3+ versions.
You can install automatically from the Windows Setup installer, or manually from the ZIP file. You only need one or the other. The Setup version is highly recommended, because the manual installation process is notoriously difficult and error-prone. The Setup version is easy to use and has proven to be much more reliable than doing it by hand.
Older stable releases:
The LedWiz DLL download includes a spiffy new test program, NewLedTester. This is similar to the SimpleLedTest program that a lot of people use to test their LedWiz setup, but this one is a little friendlier and more flexible, and it's 100% open source in case you want to make any customizations. It's also aware of the new "virtual LedWiz" interfaces that the DLL creates for Pinscape units with more than 32 outputs, which lets it display port numbering on the virtual units that's consistent with your Pinscape setup.
System requirements: .Net 4.6 is required. This is a core Windows component that DOF requires. It's pre-installed on most Windows systems by default, but it might be missing on older Windows 7 systems, especially if you recently did a fresh install of the operating system. You can install it via Windows Update if it's missing.
New system setup vs. updating an existing setup: There are no differences in the procedure. Just run the installer or follow the manual install steps. You can install an update on top of an existing copy without un-installing anything first.
Automatic setup (recommended): Download the Windows Setup (MSI) installer. Double-click the downloaded file and follow the on-screen prompts.
The installer is usually reliable, but there are a couple of issues that sometimes come up. If you encounter any error messages that aren't self-explanatory, here are some things to try:
Manual setup (not recommended): If you prefer doing things the hard way, you can install DOF manually from the ZIP file distribution. But I'm serious in recommending against this. DOF is ridiculously difficult to install by hand. There are numerous steps required and many details, and if you get just one little thing wrong, DOF won't work at all and won't give you the slightest hint as to why. I wrote the installer because of all the trouble I had installing DOF on my own system, and all the time I was spending trying to help other people troubleshoot their setups. The Setup version has proven to be much more reliable, and it makes the whole process quick and painless. It'll save you a lot of time and aggravation.
But if you really want to try it on your own anyway, follow the instructions in the DOF Setup chapter in the new Pinscape Build Guide.
LEDWIZ.DLL is not included in DOF any more. That's intentional. DOF no longer uses that file. DOF communicates with LedWiz devices directly for improved reliability. You can delete any old copy from your DOF folder.
Note: you don't need LEDWIZ.DLL for DOF's sake. DOF doesn't use it any more. LEDWIZ.DLL is only needed by older, non-DOF software that wants to access your LedWiz on its own, such as Future Pinball.
Download the ZIP above, open it, and extract LEDWIZ.DLL onto your desktop or any convenient folder.
Right-click on the new LEDWIZ.DLL file. Select Properties, then go to the General tab on the menu. If you see a message saying something like "This file came from another computer and has been blocked", click the Unblock button.
Now search your system for older copies of LEDWIZ.DLL, and replace each one you find with the new copy. To search your system:
For each file you find, copy the new LEDWIZ.DLL into the same folder location, overwriting the old file. To copy the file, select the new one, press Ctrl+C (Copy), then click on the old file and click Ctrl+V (Paste). Windows will warn you about the duplicate file; choose the option to REPLACE the old file.
In January 2018, I merged the DOF development branches from several independent developers who added features to Swiss Lizard's 2015 "R3" beta release. (Swiss Lizard is DOF's original author, and the R3 beta was the last time he worked on the project, so that beta release was for a while the reference point most people worked from.) I called this new merger of branches the "Grander Unified R3++" version, in reference to my earlier "Grand Unified R3+" version from 2016, which was a merger of some changes of my own with Swiss Lizard's final release.
The "Grander Unified R3++" version was intended to get everyone back to a single DOF branch. Before it came out, you were forced to choose which subset of new features you wanted by picking one of those separate branches from different developers. R3++ combines all of the known new features into a single release. It includes Djrobx's fixes for boolean effects with PWM controls; Rambo3's UltimateIO and Philips Hue support, and SainSmart auto-configuration; Freezy's ProPinball bridge; and my own R3+ version, which had updates for Pinscape devices and improved LedWiz support.
New with this version is the option to install automatically with Windows Setup, instead of using the traditional manual procedure. The manual procedure is complex and error-prone, and it's notoriously difficult to troubleshoot if you miss any minor details. The Windows Setup option makes installation easy and almost always gets it right the first time. The installer carries out the whole procedure described in the DOF documentation, so you can skip all of the manual steps described there (unblocking DLL files, creating B2S links, updating B2S settings, setting up the PinballX plug-in, etc). Just run the .MSI file and you should be ready to go as soon as it's done.
To use the automatic Setup installer, just download the .MSI file to your hard disk and double-click the file to run the installer. If you prefer to use the manual ZIP setup instead, you can find instructions in the DOF Setup chapter of the Pinscape Build Guide.
It's completely up to you whether to use the automatic Setup or the manual ZIP install. Both downloads contain the same files, and there should be no difference in the final result installed on your system (assuming you do everything right if you attempt the manual procedure).
You can use the Setup installer for new installations or updates. There's no need to uninstall the old version or do any other preparation first; just run the Setup.
I've continued to update the R3++ branch with minor updates since the initial January 2018 release. See the release list above. As far as I know, there haven't been any other schisms since, so this is still the universal version.
DOFLinx users: You'll need an updated version DOFLinx to go with this updated DOF. DDH69 was kind enough to build that and make it available here.
DOF is an open source interface library by SwissLizard that connects Visual Pinball, PinballX, and other programs with most types of output controllers, such as the LedWiz and the Pinscape board. DOF is the key software component for controlling all feedback devices in a virtual pin cab.
The last official release of DOF by SwissLizard was a beta testing version in November 2015, known as version "R3". SwissLizard never completed a final general release of R3, so the beta has become the de facto final release. "R3+" was my unofficial, modified version of the R3 beta that updated it with some necessary updates for Pinscape compatibility.
I called this the "Grand Unified" version because it unified my Pinscape updates with the last official R3 code, in particular SwissLizard's additions for Teensy addressable LED strip support. Up until that time, my own Pinscape code was only available in a branch I had created earlier, from earlier DOF base code that didn't have the Teensy support.
My "Grand Unified" moniker is now as ironic as it is grandiose, in that four independent splinter projects emerged on GitHub in the time since "Grand Unified" was created. Fortunately, there's now the "Grander Unified R3++" version above, which restores the status quo ante bellum, in the sense that we once again have a One True DOF that combines all of the features from all of the branches thus far.
The original and biggest reason to use this replacement DLL is that it solves a big problem with the "stock" DLL if you use a Pinscape Controller. The problem is that the stock DLL crashes if you enable the Pinscape keyboard features. You can avoid the DLL crash by disabling the keyboard features, but they're so useful that you probably don't want to do that. The better solution is to use the replacement DLL. It solves the problem, and works whether or not you're using the Pinscape keyboard features.
For Pinscape Controller users, the new DLL has another great new feature: extended output port access. If you have the Pinscape expansion boards, you probably have more than 32 ports in your system, which is beyond what the standard LedWiz interface can handle. The new DLL solves this by making your Pinscape unit appear to be multiple LedWiz units. Legacy client software that's written for the LedWiz will see two or more separate LedWiz units - however many are necessary to cover all of your output ports. This is completely automatic, no configuration necessary; just replace your existing LEDWIZ.DLL with the new one, and your legacy clients will gain access to all of your ports.
Even if you're using a real LedWiz in your system instead of a Pinscape Controller, you still might want to upgrade to this DLL! It has some significant benefits for real LedWiz hardware. For one thing, the new DLL uses multiple threads internally, which greatly improves its performance compared with the stock DLL. If you're using Future Pinball with a real LedWiz, and you're experiencing "stutter" when playing LedWiz-enabled games, the new DLL might reduce or eliminate this, thanks to the multi-threading. Another advantage of the replacement DLL is that it has special programming to work around some known timing bugs in the real LedWiz hardware, which the manufacturer's DLL doesn't have any evident awareness of. This might improve the reliability of your real LedWiz.
The DLL is only a small portion of the LWCloneU2 project, by the way. The overall project is a complete open source LedWiz emulator for Arduinos and other Atmel AVR microcontrollers. In that respect, LWCloneU2 is somewhat similar to the Pinscape Controller project, but it doesn't share Pinscape's special focus on virtual pinball; LWCloneU2 is designed with more general arcade video game emulation in mind instead, like the LedWiz itself. Check out the full project if you're interested in arcade emulation beyond virtual pinball, or if you're looking for another DIY LedWiz alternative besides Pinscape.