I thought I did write a paragraph about it
Ok here it goes again with different and more words:
Yes Gary was the first person I ever collaborated with to bring forth the project. It was just a bunch of comments in a header file then. Not much.
The basic idea is an open as in free no strings attached API for accessing laser show controllers. This was born out of other companies with ok interfaces that are unwilling to share their API for use by others. This allows any controller (DAC) to have the same interface as the next DAC. While this seems to make all DAC's equal it doesn't really. It only provides a common programming interface which is my main goal since I am a software engineer.
So I noticed that most API's had a very sparse (we will use that word) documentation and practically no examples on how to code hardware for it and not very good examples for how to write software for it. Basically you get just an API. Also this was usually in Delphi or something not my language. The Open Laser Show Controller takes the Open API further and provides ample (maybe not yet but getting there) for getting started in as many languages / IDEs as possible. Eventually there will be good documentation however comments in the code is the documentation that exists now.
Taking this a step further... the Open Laser Show Controller code also provides a C++ class for dynamically loading the driver DLL's at runtime. Eventually (soon) this will allow you to just give it a folder where the drivers sit and it will discover all the drivers in the folder. You can use all of them or just one of them. This should provide the ability to use hardware from different manufacturers in the same program at the same time. This is on top of being able to use more than 1 DAC per driver (as exists in most API's now ... just not one from company a and b).
Since the Open Laser Show Controller set of code is more like a HAL (hardware abstraction layer) I would like to eventually add or have someone else add a Vector Graphics Layer so the whole thing will make writing laser show software easier for those of us who like to concentrate on the cooler side of things rather than having to code the wheel over and over again.
Most of the code examples use straight Win32 programming and I have some that use SDL or MFC too. There are even examples of how to use it for Java applications.
I think I call it an SDK, which includes the API as well as code to use DLL's that feature the API.
Some of the neat things you can do that I have imagined:
*) Take all of the USB DAC's you have and use a network server to remotely control all of them over Ethernet through the Open Laser Show Controller (OLSC) API. The server basically talks to an OLSC client on the computer with the controlling software. You could also have multiple servers and multiple client DLL drivers. This would add functionality that does not exist for any one but specific manufacturers.
*) Run multiple DACs from different manufactureres (mentioned above).
*) I had thought of more ... but can't remember now...
Ok... a bit about the license:
We use the MIT license for the API code. This lets anyone use it for just about any purpose... commercial or private and poses no code restrictions. It does not contaminate your code so you don't have to share if you don't want to and you can make money off of it.
And a side note about sound card only fanatics:
For those of you that use Sound Card DACs I have a driver already done that wraps the EZAuDAC DLL. It would be nice to have a standalone driver DLL but this works well.
If you need any help or have any questions PM me or just send me an email. The link is off of my web site I think.
Ok enough blah blah blah...
Thanks for reading!