0.3.1.7 Beta Release
Pre-releaseIn this Version
[WFH] WombatFromHell
[N1] Nielk1
[WFH] Changed timing mechanism to lower CPU use at the cost of perfectly even timings. Previously, CPU cycles were spent timing the logic interval, now the system's thread control mechanisms are trusted.
[N1] Added crude "binary formula" logic to the showhide
element under the calc
field. This is very simplistic and, while it resembles a proper syntax, only allows for !
(not) prefixing of variables and &&
(and) evaluations between those optionally prefixed variables. No actual unary or binary operators are implemented, simply basic string parsing.
[N1] Integrated and updated CriticalComposer's themes
[N1] Previous background color now saves in addition to previous theme.
Future
Hopefully this will be the last update to the prototype code base before major refactoring. If a major bug or performance issue occurs however I'll try to get a fix out for everyone from the current code base. The current code was designed as a prototype and was not expected to get this much popularity or use. For this reason the code only follows a limited subset of good principles for coding, such as encapsulation and abstraction. My usual work involves high performance APIs and web interfaces, so any UI code on my part is likely far from optimal, especially in this prototype phase. The following future plans are to be considered the best case scenario:
- Replace HID logic with abstraction layer allowing for Linux implementation or universal library
- Note: Other libraries tried thus far failed to properly operate without entering exclusive mode, which would defeat the purpose of the program. Input from someone with experience with native HID interfaces would be helpful, however I might need to just recode portions of the HidLibrary I've already forked for this project.
- Replace Controller logic with abstraction layer allowing for real and virtual controllers.
- Virtual controllers would likely only be used for replay of past inputs, but this is important in the world of video editing.
- Replace Render logic with abstraction layer allowing for the following outputs (these may be created as different host applications):
- Chroma-keyed form render, similar to current WinForms implementation.
- Micro-Server for use as a web-source in streaming/recording software, allowing for actual transparency.
- Controller data recorder that saves a file usable as a virtual controller input (for easier editing).
- Additionally, a render script for After Effects or other video editing tools that can parse the controller data recording and render VSCView themes would be of great benefit.