Giter VIP home page Giter VIP logo

novation-launchkey-mk2-script's Introduction

Novation Launchkey Mk2 Script

A Python script for linking Novation LaunchKey Mk2 series controllers to FL Studio, allowing for advanced integration with your music-making workflow.

Author: Miguel Guthridge

Project Page: GitHub

Discord Server: Here

A New Script is Available

My Universal Controller Script provides similar advanced support for the Novation Launchkey Mk2 series controllers, but does so in a much more maintainable way, so that it can be developed for and extended far more easily.

I'm keeping the Novation script up as a public record, but I don't plan to maintain it anymore.

You can access the new script here: https://github.com/MiguelGuthridge/Universal-Controller-Script

novation-launchkey-mk2-script's People

Contributors

andreykaipov avatar maddyguthridge 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

Watchers

 avatar  avatar  avatar  avatar

novation-launchkey-mk2-script's Issues

Note on/off cycle cuts the notes in scale mode

When in scale mode when you play the keys fast, the keys that play the same notes cancel each other therefore sound cuts off.
You have to know which key plays which note so you don't play the same notes right after, so it kind of negates the point of having a scale mode, or am I using wrong?

Instead a "white keys only" mode would work better. For example, put every note in C minor scale to white keys and disable black keys. So when you play only the white keys you play C minor scale.

Omni Mode channel colors are not exact

In omni mode, channel colors are not correctly displayed on the pads. The brown color displayed white, purple is white as well.
Colors are selected using random color function in the channel settings.
See attached pictures.

2020-08-31 00_06_14-FL Studio 20
WhatsApp Image 2020-08-31 at 12 07 34 AM

Channel selector using drum pads

Describe the solution you'd like
A mode where pressing on a drum pads selects the corresponding channel. Drum pads are coloured to match channels.

Snap mode is inconsistent

Describe the bug
When using the shift menu to change snap modes (v1.4beta and up), values will sometimes be set incorrectly

To Reproduce

  1. Set snap mode to beat (fader button 1)
  2. Set snap mode to line (fader button 8)

    The script sets it to bar instead

  3. Set snap mode to cell (fader button7)

    The script sets it to line instead

  4. Set snap mode to cell again

    It gets set correctly

Additional context
On v1.4 beta

Disabling Velocity Sensitivity in Omni Mode

It would be great to have something like this.
Launchkey's pads are not really that sensitive anyways.
While playing trap drums, kick and snare almost always in full velocity. (or 80 instead of 100)

Please make a switch turn on and off velocity sensitivity in omni mode. 80% would be better instead of 100.

Thank you.

Trying to link fader 9 crashes script

Playing around with this again. With InControl mode off, I tried to link fader 9 to an FL Studio thing, but that crashed the script. No output at all, but I figured out it was the following lines:

https://github.com/MiguelGuthridge/Novation-LaunchKey-Mk2-Script/blob/v2.1.1/pluginprocessors/processplugins.py#L92-L116

Seems like since fader 9 is being handled there outside of InControl mode, linking it causes an issue. I couldn't really find a way to gracefully continue or print out an indication on the UI that the fader is already linked, so I've just commented it out to get around the crash. Personally not a big deal for me since I don't see much use in being able to adjust the selected channel's volume when I could quickly go back to InControl mode and do it from there.

Script crashes FL Studio on start-up on MacOS

Describe the bug
When the script is selected on MacOS, FL Studio crashes.

To Reproduce
Steps to reproduce the behavior:

  1. Launch FL Studio and select the script in MIDI settings
  2. Observe it crashing?

Script output
Can't access.

Expected behavior
The script starts normally.

Photos
Might request later

System Information

  • OS: MacOS
  • FL Studio Version: 20.8.1
  • Script Version: 3.0
  • Controller Model:

Additional context
Can't reproduce on Windows

Launchkey 61 Problem

Hi, and thanks for your script it looks amazing.
I have launchkey 61 MK2 which has the same functionality with 49 but even though I did everything in the wiki accordingly. Most of the controls don't work.

Mixer and Channel Rack Faders/Pans, Track Change and some other passive effects.

Thanks in advance.

Horrible lag when using script for a long period of time.

Describe the bug
The longer the script is used for, the slower it gets. This is most likely due to the console output getting lengthy

To Reproduce
Steps to reproduce the behaviour:

  1. Use the script for an extended period of time, moving many knobs/faders.
  2. Observe that input becomes increasingly laggy.

Script output
N/A

Expected behavior
The script continues to perform quickly.

Additional context
This might be due to the script output filling up. Add options to disable outputs for events.

Loop (shift) button makes the song stutter while the song plays

When the song I'm working on plays, I want to select the channel rack or mixer for example, and to do that I have to push the shift button to get that window in front. But when you hold this button, it quickly switches between pattern/song mode (I guess) and therefore stutters/interrupts the playback of the song. You have to stop the song then use the shift menu instead.

Using the latest release.

Script Crashes when linking parameters using parameters that are pre-mapped by the script

Describe the bug
When linking parameters using Ctrl+J, the script will crash if the user attempts to link controllers which are pre-mapped in the script due to error: "Operation unsafe at current time"

To Reproduce
Steps to reproduce the behavior:

  1. Open a plugin window from the channel rack
  2. Press Ctrl+J to link a parameter
  3. Adjust a plugin parameter
  4. Move a controller that should be handled by the script output

Expected behavior
The parameter is linked, and the script doesn't crash

Additional context
Requires operation safety level to be contained in the processed event object

Declutter shift menu

Split into window switcher and other options.

  • Window switcher: loop button
  • Project options: play button? [consider this for a bit more]

Omni mode can't handle fast input

Mostly used for hi-hats rolls, for example, you can't do them on Omni mode because when you try to press notes faster like 1/8 notes, pad turns off for a split second and don't produce any sound. I guess note on/off command reacts slowly so it cancels each other out. Maybe it is a problem with the pads themselves.

[For fun] Chaotic evil crashing

For when you want a clear indication that the script has crashed

  • Make any button press trigger 128-key slams or something. That'd be fun.

It is impossible to copy script output

Right-clicking to copy in script output triggers right-click menu which removes the right-click menu as the script is appended to (If in debug levels of 2 or higher).

Solution
Disable right-click menu in script output

Loop Button sometimes breaks

Describe the bug
Under some circumstances, the loop button won't toggle the loop mode.

To Reproduce
Steps to reproduce the behaviour:

  1. Double press the loop button (sustain shift key)
  2. Press the loop button again (disable shift menu)

Expected behaviour
Sustained shift key would disable, and loop button would function normally.

Script crashes upon exporting project

Traceback (most recent call last):
  File "<string>", line 131, in OnInit
  File "<string>", line 59, in OnInit
  File "D:\migue\Documents\Image-Line\FL Studio\Settings\Hardware\Novation-LaunchKey-Mk2\lighting.py", line 229, in lightShow
  File "D:\migue\Documents\Image-Line\FL Studio\Settings\Hardware\Novation-LaunchKey-Mk2\lighting.py", line 144, in reset
  File "D:\migue\Documents\Image-Line\FL Studio\Settings\Hardware\Novation-LaunchKey-Mk2\internal.py", line 555, in sendMidiMessage
  File "D:\migue\Documents\Image-Line\FL Studio\Settings\Hardware\Novation-LaunchKey-Mk2\internal.py", line 569, in sendCompleteMidiMessage
TypeError: Linked device not assigned

Possibly to do with linked device not being ready yet?
Check with FL Studio team.

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.