Need a smidge more information.
What platform / OS (eg. Windows, Linux, Mac)?
How much software do you want to write - everything, or leverage what's out there?
off the top of my head, I think you'd need these categories:
- controller signalling (eg CM15A, CM19A...)
- timers and events
- scripting
- persistence
- UI/UX (a front end or GUI)
What's your experience level in programming?