Coder Social home page Coder Social logo

miguelguthridge / universal-controller-script Goto Github PK

View Code? Open in Web Editor NEW
49.0 4.0 16.0 2.59 MB

A free and open source program that integrates with FL Studio to provide deep integration between hardware controllers and software.

License: GNU General Public License v3.0

Python 99.86% Mustache 0.13% Shell 0.02%
controller fl-studio fl-studio-midi-scripting korg m-audio midi novation midi-controller piano-keyboard midi-controller-scripting

universal-controller-script's Introduction

Universal Controller Script

A free and open source program that integrates with FL Studio to provide deep integration between hardware controllers and software.

Quick Links

Supported Devices

The following devices have full support with the script.

Akai

  • MPK Mini Mk3

Korg

  • NanoKontrol

M-Audio

  • Hammer 88 Pro (no LED support, because M-Audio refuses to provide documentation)

Novation

  • Launchkey Mk2

  • Launchkey Mk3

  • Launchkey Mini Mk3

  • SL Mk3 (no screen support yet, but most other things work)

Supported Plugins

The following plugins have full support with the script.

FL Studio Windows

  • Channel Rack (step sequencer and omni preview)

  • Mixer

  • Playlist (tool selection)

  • Piano Roll (tool selection)

FL Studio Plugins

  • FLEX

  • FPC

  • Harmless

  • Parametric EQ 2

  • Transistor Bass

  • Fruity Slicer

  • Slicex

VST Plugins

  • Vital by Matt Tytel

  • Spitfire Audio plugins

  • XFER

    • OTT

    • Serum

  • Klevgrand DAW Cassette

  • Any plugins with MIDI learn support (CC messages will be automatically forwarded)

Want to help out?

I'd love to have your support! Here's what you can do to help:

  • Contribute code to the project: see the documentation for detailed instructions, and feel free to reach out on the Discord server if you need a hand.

  • Help with plugin support: join the Discord server and let me know! You'll just need to follow some simple instructions.

  • Help with device support: join the Discord server and let me know! You'll probably need to spend some time in a video call with me so we can try and get things working together.

  • Help fund my work: you don't have to, but buying me some pasta is a great way to show some love! I want to try to give everyone the same high quality software so don't expect much more than a thankyou, but I really would appreciate it!

universal-controller-script's People

Contributors

ajrubenstein avatar dependabot[bot] avatar miguelguthridge avatar praashie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

universal-controller-script's Issues

Rename the script

The name Universal Controller Script is descriptive, but not creative. It would be nice to have a new name that is a little more fun.

Currently I don't have any ideas, but I'll keep thinking about it. If you have any, feel free to reply on this issue to suggest them!

Clicking reload script with Hammer 88 Pro causes all events to be ignored

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Connect a Hammer 88 Pro
  2. Click reload script from within the script output

Expected behavior
The script continues to function correctly

Actual behavior
All events are ignored by the script - FL Studio's default MIDI support is used instead

Environment:

  • OS: Windows
  • Version: 11
  • FL Studio Version: 21.0.2]
  • Script version: 1.2.0

Add support for plugin preset navigation

Add a mapping strategy to map next/previous button to next/previous buttons.

Also make sure that left/right and up/down buttons map to next/previous by default.

Add screenshots of working configurations

I'm looking to get screenshots of FL Studio's MIDI settings window for each device, showing the correct configuration. Each screenshot should have parts of the configuration that users need to change underlined with red.

  • Novation Launchkey Mk3 Mini
  • Novation Launchkey Mk3
  • Novation Launchkey Mk2
  • Novation SL Mk3
  • M-Audio Hammer 88 Pro
  • Akai MPK Mini Mk3
  • Korg NanoKontrol

For example:
image

Window switchers are utterly broken on Launchkey Mk3 series

Describe the bug
When the device select button is used, the window switcher doesn't render until momentarily when the button is released

Things that aren't the problem

  • Shift matcher works correctly
  • Color events are sent at right time

Photos/Videos
https://youtu.be/IEQMk0acABw

Environment:

  • OS: Windows
  • Version: 10, 22H2
  • FL Studio Version: 21.0.2
  • Script version: 1.2.0-beta.5

Slicer improvements

  • Use note names to determine which notes are in use
  • Allow for jumping up and down between values (controlling more than just the first 16 slices)

When closing FL Studio, devices might not shut down correctly

Describe the bug
If the event forwarder script shuts down before the main script, the main script cannot forward messages to it, meaning that the device cannot be shut down.

To Reproduce
Steps to reproduce the behavior:

  1. Close FL Studio
  2. If it doesn't happen try again
  3. And again
  4. And again...

Expected behavior
The device consistently shuts down (leaving DAW mode)

Actual behavior
Sometimes the device stays in DAW mode

Some controls don't work for LkMk3

Click button: forwarded 0xBF 0x4C

Quantize button: forwarded 0xBF 0x4B

Undo button: forwarded 0xBF 0x4D

Make sure to double check these

Add support for Novation Launchpad Mini Mk2

Describe the bug
I'm having a problem with the Launchpad Mini MK2 and the NanoKontrol Studio
The script says the device is not recognized and I can't get it to light up or control any parameter in the DAW.

Errors

  • Launchpad:
    Failed to recognize device
    Error details: DeviceRecognizeError('Device not recognized, using device name 4- Launchpad Mini')
  • Nanokontrol:
    Failed to recognize device
    Error details: DeviceRecognizeError('Device not recognized, using response pattern [0xF0, 0x7E, 0x00, 0x06, 0x02, 0x42, 0x37, 0x01, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0xF7]')

Photos
Here's the image showing the settings I have in the DAW
image

Environment:

  • OS: Windows
  • Version: 11
  • FL Studio Version: 21.0.3
  • Script version: 1.2.1

Additional context
I've installed all drivers and the controllers work on Ableton

Create better issue templates

Wow it is very tedious creating all these issues by hand, we need some good templates

  • Integration request
  • Device request
  • Bug report
  • Default template

Device: Novation SL Mk3

  • Basic Controls
    • Drum pads
    • Faders
    • Transport
    • Encoders
    • Mute/solo buttons
    • Tool selector buttons
  • Lighting
    • Drum pads
    • Faders
    • Transport
    • Encoders
    • Mute/solo buttons
    • Tool selector buttons
  • Display
  • Other modes?
    • Investigate
      • Do they exist?
      • How do they work?
    • Implement

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.