Releases: hobyst/flmidi-nihia
NIHIA for FL Studio v2 (beta)
New features
-
Updated protocol to NIHIA v3: This should enable compatibility with all of the features in the most featured devices.
-
Testing tools: Now the layer is runnable when changing the name to
device_nihia.py
and introducingtest = "input"
on the FL Studio script interpreter. Each time a button or a knob is used on the device, it will show an output message on the interpreter. It doesn't support key pressing, pitch wheel and modulation wheel. -
knobs
dictionary: MIDI values for the knobs have been added to the layer. They are accessible by naming them depending on their physical position on the device and their variants (normal is A, shifted is B).
The second MIDI value indicates an increase or decrease action and is generic for all of the knobs# Retrieve the unique data1 value for the 2nd knob on the device nihia.knobs.get("KNOB_2A") # Normal knob (volume adjustment) nihia.knobs.get("KNOB_2B") # Shifted knob (pan adjustment) # Retrieve the increase value nihia.knobs.get("INCREASE") # Retrieve the decrease value nihia.knobs.get("DECREASE")
-
Peak values: Now
mixerSendInfo()
has the option to send peak values for the real-time meters on the most featured NI devices like the Komplete Kontrol S-Series MK2 or the Maschine MK3. -
Auto-focus: Support for the automatic Komplete Kontrol instance changing has been added. More info on the comments at
mixerinfo_types
.# Indicate to the device that the current selected track has a Komplete Kontrol instance, and which one is it nihia.mixerSendInfo("KOMPLETE_INSTANCE", 0, info="NIKB00") # Indicate to the device that the current selected track has no Komplete Kontrol instance nihia.mixerSendInfo("KOMPLETE_INSTANCE", 0, info="")
-
Track types: When using
mixerSendInfo("EXIST, ...")
you can now specify the track type to the device, as well as reporting existance with a string for better code reading. All the possible values are held in thetrack_types
dictionary.# Report the first track as non-existant nihia.mixerSendInfo("EXIST", 0, value="EMPTY") # Report the first track as existant (no type specified) nihia.mixerSendInfo("EXIST", 0, value="GENERIC") # Report the first track as existant (MIDI track) nihia.mixerSendInfo("EXIST", 0, value="MIDI")
Updated features
buttons
dictionary: Now the script has the MIDI value that corresponds to the center button on the 4D Encoder. You can access it withnihia.buttons.get("ENCODER_BUTTON_SHIFTED")
.
API changes
- mixerSendInfo: Existance of tracks should now be reported with strings. However, this has been implemented in a way that it does still admit the old way to do it (with int values). Every script that used the first version of the layer should be able to migrate without a single code change or issue on this matter.
NIHIA for FL Studio v1
First release of the script. Includes the following methods and data:
- dataOut: For sending regular MIDI messages to NIHIA.
- handShake: For waking up the device from MIDI mode.
- goodBye: Opposite to handShake.
- restartProtocol: Kind of a dumb one, whose funtionality can be imitated by just using handShake. Might remove it in future versions.
- buttonSetLight: To change the lights on the device.
- mixerSendInfo: To send info about mixer tracks to the device.
- buttons: Python dictionary that contains the MIDI values for the buttons of the device.
- mixerinfo_types: Python dictionary that contains the MIDI values for specifying which information you are going to send when using mixerSendInfo.