Newly added Purpose field is required to be set BEFORE any device initializes:
Active in the chain
Passive in other places like Undo History etc.
Unrelated being active but outside the chain (think the Fade in Preferences)
Unknown is the default value which should throw an Exception to generate a crash log, in case I missed a spot
This is done using reflection, as the constructor needs to already know what purpose the device is being created for but adding a new parameter to the constructor is not desirable.
Fixes #390 and should also fix all Output bugs.
Also happens to fix #455 as code that caused that issue had to be refactored for this anyways.
Newly added Purpose field is required to be set BEFORE any device initializes:
This is done using reflection, as the constructor needs to already know what purpose the device is being created for but adding a new parameter to the constructor is not desirable.
Fixes #390 and should also fix all Output bugs. Also happens to fix #455 as code that caused that issue had to be refactored for this anyways.
Ready to merge after some more bugtesting :)