You may want to start small. I mean, really small. Get a proof of concept that you can read-in
DMX from an outside source, then see what other formats you can read-in. A reason why
DMX is not necessarily the gold standard for this application is that then you limit the usage of the application to only people with a physical
console next to them. Anyone trying to
pre-viz via an offline editor would be left to fend for themselves.
My advice is to proceed with cautious optimism. I don't mean to rain on your parade, but if what you're talking about undertaking was as easy as you make it sound, why are there so few
pre-viz applications out there and why do they all cost a fortune? Why aren't those applications meeting all of the points that have already been requested in this thread?
Also, take a moment to carefully ponder which direction you really want to be trafficking data. Do you want to receive it or transmit it? There's talk of it transmitting
DMX via USB
adapter, but I don't know any standalone
pre-viz applications that do that. The common standard is to let the
console transmit the data, generally via an IP-based
network, and then the
pre-viz only receives data in and shows on on the
screen which channels the
console has told it to turn on. Do you even want this to be a
pre-viz application or do you instead want it to be a lighting controller?
I fear you don't yet know exactly what you want this application to be capable of and what purpose you want it to serve, and you should figure that out and research how other software developers are doing similar things -- preferably before you start asking a
programmer to write any code for you.
In software development, the fastest way to ensure a project's demise is to try throwing too much into it at once. If this is actually something you intend to do, start small. Establish a proof of concept that you can get data into your application from a
console and then start building the application up a couple features at a time. Try to do it all at once and you'll be frustrated that nothing works because so many features were attempted to be written in at once that the
programmer cannot possibly debug them all in a sane amount of time. Baby steps, baby progress. Try at first for giant leaps instead and you'll risk giant headaches.
There are companies out there with entire teams of developers working on similar applications and have been for years. Don't expect that overnight you'll spring like Athena out of Zeus' head into success. It will be a long process with a lot of compromises, especially if this a side project that isn't helping contribute to you or your
programmer's monthly rent checks or grocery shopping.