MaschineMK3FLStudioScript
A script to use Maschine MK3 in FL Studio
Install / Use
/learn @Aftalyfe/MaschineMK3FLStudioScriptREADME
MASCHINE MK3 SCRIPT for FL STUDIO MADE BY Aftalyfe
REQUIREMENTS:
- FL Studio 20.8.3 version or higher
- Controller Editor from Native Instruments installed on your machine (install it from Native Access)
- MASCHINE MK3 controller
Three files need to be downloaded to your machine to use this script:
- SCRIPT (device_MaschineMK3.py)
- CHORDSETS (chordsets.py)
- FL Studio.ncm3
HOW TO INSTALL
- Open Controller Editor. If Maschine MK3 is not currently selected as a controller make sure to select it. Click on Edit > Open and open "FL Studio.ncm3" file. In the list of templates make sure that this one is currently selected. You can close the Controller Editor now.
- Using the file browser in your Operating System of choice, browse to your FL Studio User data folder, usually '...Documents\Image-Line\FL Studio\Settings\Hardware\YourScriptSubFolder', where 'YourScriptSubFolder' is a sub folder you created for your script (you can name it however you want). Put BOTH of the other files (ending in .py) in this folder.
- Open FL Studio, go to Options > MIDI Settings and find "Maschine MK3 Ctrl MIDI" in the list. Assign any input and output ports (just make sure it's the SAME NUMBER for both input and output). From the "Controller Type" dropdown list change "(generic controller)" into the new script that should appear on the right side of the dropdown menu. The name of the script is "Maschine MK3 (user)"
- Make sure that "Enable" button is green.
Your Maschine controller is now ready for use. If nothing is lit up, hold "SHIFT" on your controller and press "CHANNEL(MIDI)". The controller should light up. If nothing happens try turning it off and on from the back of the controller.
PURPOSE: To transfer the capability of using a Maschine controller inside Maschine software into FL Studio.
FEATURES (1.0.0)
MAIN SECTION
- "CHANNEL(MIDI)" button opens and closes Channel Rack, the button LED shows if Channel Rack is currently visible
- "PLUG-IN Instance" button opens and closes the editor window of the currently selected channel
- "ARRANGER" button opens and closes Playlist window, the button LED shows if Playlist is currently visible
- "MIXER" button opens and closes Mixer window, the button LED shows if Mixer is currently visible
- "BROWSER" button opens and closes Plugin Picker window, the button LED shows if Plugin Picker window is currently visible
- "SAMPLING" button opens and closes Browser window, the button LED shows if Browser window is currently visible (The reason that BROWSER button is not opening Browser window is that I didn't know what to do with the SAMPLING buttton, might change this later based on feedback if FL Studio API gets updated with something useful)
- LEFT and RIGHT buttons toggle between 2 knob pages, first knob page is preassigned, the second one is there so you could still assign it to other things
- "FILE(Save)" button opens the menu of the currently active window. If nothing is active opens the main file menu. If "VARIATION" button is being held while pressing this it will save the project.
- "SETTINGS" button opens and closes MIDI settings
- "AUTO" is currently inactive
- "MACRO(Set)" button is a "right click" button used primarily for opening context menus in Browser for handling samples
4D ENCODER
-
Rotating encoder will do different things depending on what mode is currently active. "VOLUME", "SWING" and "TEMPO" buttons toggle between different modes. If no mode is selected the encoder is in a "free" mode that most of the time just scrolls through whatever is active.
-
VOLUME mode controls channel volume of a selected channel on the channel rack (this is not the same volume that you can control from the KNOB WHEEL section)
-
SWING(Position) mode controls position in the Playlist, by selecting this mode you can scroll through your song from the controller.
-
TEMPO(Tune) mode will increase or decrease your BPM in values of 1 BPM
-
LEFT, RIGHT, DOWN, UP will behave exactly like pressing arrow keys on your keyboard.
-
Clicking the encoder will behave like pressing Enter on your keyboard
-
When in Browser window you can use the encoder together with MACRO button to load samples etc.
TRANSPORT SECTION
- "RESTART(Loop)" button will switch between PATTERN and SONG mode. In future updates it will toggle the loop mode on/off while VARIATION is being held.
- "ERASE" button is behaving like pressing "Delete" on your keyboard
- "TAP" button will make it possible to "tap" define tempo.
- "FOLLOW" button is currently assigned to activating and deactivating metronome function. This might change when I find another use for it. The button LED shows if Metronome is currently active.
- "PLAY" button is starting and pausing your song. The button LED shows if FL Studio is playing something.
- "REC" button is turning the big REC button on and off. The button LED shows if recording is currently active. If VARIATION is held, this button turns precount on and off.
- "STOP" button stops the playing and brings the play arrowhead to the beginning
- "SHIFT" button unfortunately does not send any MIDI message and therefore can't be used for anything other than what it can do natively. Instead, VARIATION button is used as a shift command.
PAD MODE/KEYBOARD/CHORDS/STEP SECTION
This section will toggle between 4 different functions for the PADS.
-
PAD mode is like an OMNI MODE. When PAD MODE is selected the PADS will light up according to how many channels currently exist in the project. You can select and trigger different channels by hitting the appropriate pad. Everything that is a PLUGIN by default will light up green. Everything else will light up white. If there is more than 16 channels in the project you can press any of the GROUP buttons on the left to "scroll" through different channel sets.
-
KEYBOARD mode turns your PADS into notes/keys of a particular scale. They will play whatever channel is currently selected. The active scale is selected by pressing any of the 8 groups on the left. The right display will show you what scale is currently selected. Keep in mind it is possible to Octave shift and Semitone shift any scale or chord (check TOP BUTTON SECTION). There are also FPC and BATTERY scales available which although not being scales per se are premapped for use with FPC and BATTERY plugins. The last two groups are left as chromatic scales for customization purposes. It is possible to relatively easy make custom scales and chordsets by editing chordsets.py file. More on that later.
-
CHORDS mode turns your PADS into predefined CHORDS. They will play whatever channel is currently selected. The active chordset is selected by pressing any of the 8 groups on the left. Keep in mind it is possible to Octave shift and Semitone shift any scale or chord (check TOP BUTTON SECTION). Since chord preferences are highly individual, lower 4 chordsets are left unchanged. It is possible to relatively easy make custom scales and chordsets by editing chordsets.py file. There will be a video tutorial on how to customize these to your own preferences.
-
STEP mode turns your PADS into a Step Sequencer. Each group holds a set of 16 gridbits that can be turned on and off. The gridbits will trigger the currently selected channel. Unlike keys and chords, gridbits cannot be shifted in pitch from the controller (yet!).
TOUCHSTRIP
Touchstrip by default controls the position of the play arrowhead in the song. There are 2 more modes that are activated by pressing buttons PITCH and MOD.
-
PITCH mode controls the pitch of the currently selected channel and behaves exactly like a pitch wheel (snaps back to zero when released)
-
MOD mode (lol) is not handled by default because there is nothing in FL studio API to connect it directly to MOD WHEEL functionality, and besides, FL Studio does not pass MIDI CC to plugins by default, so there is no point in setting it to CC#1 anyway. Instead, what you should do to set-it-and-forget-it is you need to go into your Browser, open "Current project", open "Remote control", click on the "Omni - Mod wheel" and touch your touchstrip while MOD mode is currently ACTIVE. This will link your touchstrip in MOD mode to MOD WHEEL functionality and all you need to do now is save that project as a template and set that template to open by default whenever you load a new project.
-
PERFORM(FX Select) button will link whatever channel is currently selected to whatever mixer track is currently selected. You can select both of them quickly with the 1st and 5th rotary knobs under the screens.
-
NOTES button will open your Project Info settings page to quickly type in notes (see what I did there?) about the project
-
LOCK button will activate and deactivate the snap-to-grid function. The button LED shows if snap-to-grid is currently active.
TOP BUTTONS SECTION
LEFT SECTION
-
PRESET- will select the previous preset in a list of FL Studio presets (.fst files) for the selected channel if that channel is a plugin. It works with any native plugin and it can also work with Serum. This will be explained in a video tutorial.
-
PRESET+ will select the next preset in a list of FL Studio presets (.fst files) for the selected channel if that channel is a plugin. It works with any native plugin and it can also work with Serum. This will be explained in a video tutorial.
-
PROG- will send a PC (Program Control) message on the midi port 0 by default. The currently active program will be displayed in the hint bar. To make a plugin receive this message you need to set its midi in port to 0. Keep in mind that native FL Studio plugins cannot receive this message and since you can control their presets with the PRESET- and PRESET+ knobs there is no need for them to do so.
-
PROG+ will send a PC (Program Control) message on the midi port 0 by default. The currently active program will be displayed in the hint bar. To make a plugin receive this message you need to set its midi in port to 0. Keep in mind t
