Releases: MaddyGuthridge/Universal-Controller-Script
Releases · MaddyGuthridge/Universal-Controller-Script
v0.5.1 - New Installation Method
✨NEW✨
- Moved the essential parts of the codebase to the
src
directory where it can be easily distributed. - Created a tool to quickly package the essential parts of the script into a .zip folder so that they can be uploaded alongside new releases!
- Redid the installation method, so that it's much easier to set up.
v0.5.0 - Major Improvements
✨NEW✨
- Transport controls can now be colorful on supported controllers.
- A simple plugin has been added for the channel rack, allowing for omni preview of channels using drum pads.
- A
HintMsg
control surface was added which can be used to display hint messages on device screens. - A control surface for control switching within a plugin was added, which will allow for more advanced plugins in the future.
- A control surface for pausing the activity updater was added, which will allow users to lock their active plugin meaning they can change windows without breaking their automation links.
- The entire project is flake8 compliant, which involved fixing over 1400 code style errors.
- The system for event forwarding was improved further and should be significantly more reliable.
- The script now has a system for deinitialising, meaning it can shut down cleanly.
✏️CHANGES✏️
- Split transport plugin into transport and macros plugins to improve maintainability
- The project's pipelines have been improved to allow for more quality assurance when working with the project
- Custom exception types were introduced to help improve the reliability of the program's exception handling
- Novation Launchkey Mk2 Controllers now use InControl mode by default, which will improve reliability.
🛠️FIXES🛠️
- Forwarded events should now work on MacOS too! They work on Linux at least, which appears to handle devices in a similar way.
- Lighting will update correctly when switching between plugins
🚀PLANNED FEATURES🚀
- A fleshed out step sequencer component for the channel rack
- A system for allowing users to assign controls easily without breaking the script
- More unit testing of core components
- Improved systems for allowing layers of transparency to make lighting even fancier
Full Changelog: v0.4.1...v0.5.0
v0.4.1 - Bug Fixes and Improvements
✨NEW✨
- Add basic hard-coded support for keyswitches for Spitfire Audio plugins
🛠️FIXES🛠️
- Fix bug where LaunchKeyMk2 knobs had bad coordinates
- Fix bug with color interpolation
- Fix issue where knobs snap to the wrong range
- Make behaviour with grouped channel rack plugins consistent
📝DOCUMENTATION📝
- Improve docstrings for many modules
🚀TESTING🚀
- Improve unit tests for color type
- Add unit tests for snapping
❗KNOWN ISSUES❗
- Generator plugins can't be selected correctly if they aren't in the active group (need support for global indexes in the plugins module)
- Using the mixer when multiple devices are connected to the script is unreliable (need to find a way to communicate active mixer slots)
v0.4.0 - Improvements and Refactoring
✨NEW✨
- Colour and annotation support for FPC
- Support for the mixer
- Support for macro controls to enable features such as quantizing and undo-redo
- Documentation for plugin behaviour
- Support for master knobs and faders, which will prevent confusing mappings for them
- Launchkey Mk2 and Hammer 88 Pro support fader buttons
⚙️TECHNICAL CHANGES⚙️
- The project has unit tests, which should help prevent major breakages
- Device details for forwarded events are now parsed internally
- The
BasicControlMatcher
supports priorities - high priority events will be matched first - Values can now be snapped to non-extreme defaults
- Events support double press detection
🛠️FIXES🛠️
- Color accuracy when using HSV has been improved
- VSTs will be recognised correctly
- Unsafe operation exceptions will be caught, so the script won't crash when you open up a pop-up menu
- Log items won't all be discarded
- A crash when using FPC has been fixed
v0.3.0 - Support for Colors and Annotations
✨NEW✨
- Plugins can now set annotations, colors and values for any control, and those values can be sent to the controller if supported
- Support for Fruity Parametric EQ 2
- The Novation Launchkey Mk2 Controller supports drum pads, including their RGB backlights
- Added a profiler that can analyse the performance of code to find any slow-downs
- Extremely verbose log outputs are now ignored entirely to improve performance
- Device tick updates are sometimes skipped if performance is bad, which can improve performance by up to 2x on slow machines
- Plugins can declare themselves to be transparent, meaning other plugins can override their color and annotation assignments
- Add type narrowing functions to determine types of EventData
- Make
ControlMapping
,ControlEvent
andControlShadowEvent
be distinct types -ControlEvent
andControlShadowEvent
contain their own info on the value and the channel of incoming events - Events can now be forwarded to extra ports as well as received from them
- Update API Stubs to v19.8
🛠️FIXED🛠️
- Fixed a bug where controls in sub-matchers would get duplicated, leading to massive performance issues and a crash
📝DOCUMENTATION📝
- Add more documentation for contributors, including environment setup instructions
v0.2.1 - Documentation and Minor Improvements
✨NEW✨
- Documentation, both for setup and contributions
📝CHANGED📝
- Reduced timeout when waiting for universal device enquiry response
- Make help URL point to forum post link
- Update dependencies
- Fix missing characters in ASCII art
v0.2.0 - Expanded Control Surface and Plugin Support
✨NEW✨
- Partial support for endless encoders
- Proper support for jog wheels
- Support for new plugins:
- Spitfire Audio
- Flex
- FPC
- Vital
- Improved tracking of active plugins
- Improved handling of forwarded events
- Improved support for Hammer 88 Pro
- Improved support for debugging control mappings
🛠️FIXED🛠️
- Recalling from log using specific categories would give incorrect results
- Events forwarded from different devices weren't ignored
- Using pedals in FL Studio native plugins would cause FL Studio to crash
v0.1.0 - Initial Release
✨NEW✨
- Support for 2 devices (somewhat)
- Novation Launchkey Mk2
- M-Audio Hammer 88 Pro
- Complete event handling framework (support for plugins, windows, etc)
- Basic event forwarding for pedals and notes
- Basic transport controls
⏱️TODO⏱️
- Create window handlers
- Create more device definitions
- Create more control surface types
- Create docs for contributing
- Create docs for using with your controller