Skip to content

Releases: MaddyGuthridge/Universal-Controller-Script

v0.5.1 - New Installation Method

27 Apr 10:31
Compare
Choose a tag to compare

✨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

17 Apr 19:00
bb67a8b
Compare
Choose a tag to compare

✨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

17 Mar 09:15
74feb02
Compare
Choose a tag to compare

✨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

12 Mar 07:35
f881510
Compare
Choose a tag to compare

✨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

28 Feb 10:46
82089a8
Compare
Choose a tag to compare

✨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 and ControlShadowEvent be distinct types - ControlEvent and ControlShadowEvent 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

12 Feb 11:38
e883b70
Compare
Choose a tag to compare

✨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

12 Feb 03:58
0caf8ca
Compare
Choose a tag to compare

✨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

07 Feb 11:12
Compare
Choose a tag to compare

✨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