New Tool (3.1.1): KangarooX120 v1.1 build 030

About KangarooX120

KangarooX120 is a massive notes routing tool, compatible with MIDI Input and OSC. It is specially designed to play and record live percussion sections and pianos, with routing of different notes, instruments and tracks. Your GUI is designed for HD screens (1920x1080 px.) or larger monitors, although it can work in more compact screens…


KangarooX120… an original tool by ulneiz

It has a pads panel of 120 notes in 8x8 + 7x8 configuration, with different color options. It includes a virtual piano of 120 notes , also routable (instrument, track) to write notes from the mouse and mappable using MIDI In. Through the piano, it is possible to route the entire pads panel, note by note.

In addition, you can save and load up to 96 banks according to the specific settings/routings of the pads panel. You can read each bank through MIDI in for instant use. Touch and change the banks quickly!

  • Tool name: KangarooX120
  • Version: 1.1 build 030
  • Compatibility: Renoise v3.1.1
  • Tested with: S.O. Windows 10 64 bit. USB keyboard: Corsair Strafe RGB Silent (anti-ghosting). MIDI devices: Novation Launchkey 61 & Akai MPD218 (both velocity sensitive)
  • Licence: GNU General Public Licence. Prohibited any use of commercial ambit.
  • Development date: June to July 2018
  • Published: October 2018
  • Locate: Spain
  • Programmer: ulneiz

KangarooX120 Download

KangarooX120 is available in the tools section at Make sure you always install the latest version:

  1. KangarooX120v1.1.030 (October 2018 recent version):
  2. KangarooX120 v1.0.029 (August 2018, old version)
  3. KangarooX120 v1.0.021 (July 2018, old version)
  4. KangarooX120 v1.0.020 (July 2018, old version)
  5. KangarooX120 v1.0.017 (July 2018, old version)
  6. KangarooX120 v1.0.016 (July 2018, old version)
  7. KangarooX120 v1.0.015 (July 2018, old version)

Updates History

Updates History

KangarooX120 v1.1.030

  • Releases the initial boot of Renoise. Renoise will charge faster! The tool will only load the first time it is invoked. It will remain in the memory throughout the Renoise session.
  • Small corrections in the routing function of the MIDI In device to control the velocity.
  • Code revision.

KangarooX120 v1.1.029

  • New advanced operations panel: include new controls to specific operations: auto-sequence and clone sequence, clone pattern-track/track, clone note column, transpose notes, moddify instrument value, moddify values (volume, panning and delay) and a creator of automation slopes for multiple sequence. Press [R.CTRL] to access it.
  • Initial recognition of the color to mark the buttons according to the skin. In this way, the appearance is more faithful to the skin used by the user. Tested with Windows, ready for Linux. Not tested with Macintosh.
  • Code revision.

KangarooX120 v1.0.021

  • Preferences: deep revision. Selection of the velocity of two devices separately, one for the pads panel and another for the piano.
  • Code revision, especially related to the selection of MIDI devices for velocity values.

KangarooX120 v1.0.020

  • Pads panel & banks: correction of the hexadecimal notation to correctly indicate the value of the instrument inside each pad.
  • Banks: added keyboard commands: CTRL + F1 to CTRL + F12 to load the first 12 banks.
  • Popups & valueboxes: also compatible with infinitely rotatory 360 degrees knobs for MIDI Input [range 0 to 127].
  • Valueboxes INS & TRK: added compatibility for MIDI Input: Relative Map Mode (any), for rotatory 360 degrees knobs (return ±1); valid for unlimited ranges (above the value of 127).
  • Preferences: added direct access to the “banks” folder.
  • Info documentation: added the Update History.
  • Code revision.

KangarooX120 v1.0.017

  • Pads panel & virtual piano: extended compatibility for velocity sensitive devices for up to 16 MIDI channels (Note On range: 90 to 9F; MIDI channel 1 to MIDI channel 16).
  • Code revision.

KangarooX120 v1.0.016

  • Preferences: added direct access to the XRNM folder
  • Code revision.
    KangarooX120 v1.0.015
  • Initial Release(July 10, 2018).


Put a “K” to your Renoise!!!

Reference MIDI Devices

  • The ideal MIDI device to use this tool is a MIDI pad controler of 64 velocity sensitive pads. Reference device: “Novation Launchpad Pro” or Akai MPD226.

  • For expanded use, it is possible to use 2 MIDI pad controlers of 64 velocity sensitive pads. Reference devices: 2 x “Novation Launchpad Pro”.

  • For a more everyday use, it is possible to use a MIDI keyboard with 49/61 keys and 16 velocity sensitive pads. Reference device: “M-Audio Code 61”.

  • For a basic use, it is possible to use a MIDI keyboard with 25/49 keys and 16 velocity sensitive pads. Reference device: “Novation Launchkey 49”.

  • Also, for a basic use, it is possible to use a MIDI pad controller of 16 velocity sensitive pads. Reference device: “Akai MPD218”.

  • It is not recommended any MIDI pad controller not velocity sensitive!!!

General Characteristics

  • Control and record different instruments/notes directly and at the same time. Specially dessigned for percussion sets and piano/synthesizer.
  • Compatible with MIDI In (include velocity for pads) and OSC (to sound and write the notes).
  • For live recording, live play and editing.
  • GUI with different views of size and compact mode.


KangarooX120: compact mode and piano views

  • Pads panel with 120 pads with velocity sensitive. Play with MIDI In or from the mouse.

  • Each pad include a velocity knob (with MIDI In) and checkbox selector.

  • Each pad is routable individually: note, instrument & track.

  • Transposition of notes to the pads panel. Transpose all the pads panel to the fly, in configuration 3x4 or 8+4 or white keys (special for percussion).

  • Pads panel with 15 color options to distribution.

  • 96 banks with name for configuration of the pads panel.

  • Each bank include the routing of note, instrument, track and velocity of all the pads, and color distribution.

  • The “banks” folder can serve to make backup copies of the banks or to share them with other users, even to accompany a song. This folder is inside the root folder of the tool.

  • Virtual piano with 120 notes with the octaves and notes indicated (except black keys), and a general velocity knob. Play with MIDI In or from the mouse.

  • Virtual piano routable on the whole: instrument & track.

  • The keys of the virtual piano also serve to route the notes of the pads.

  • Virtual piano to write the notes with the mouse inside the pattern editor.

  • Split virtual piano to write/distribute the notes of the same intrument into two [Tr1 | Tr2*] or three consecutive tracks [Tr1 | Tr2* | Tr3]. *Select the intermediate track Tr2 to start.

  • Three modes of touch to pads panel and virtual piano: press an release (default), hold, and hold with chain.

  • Panic button for pads panel and panic button for virtual piano.

  • Knobs and valueboxes MIDI Input mappable with “Absolute 7 bit” Map Mode and work with takeover. Hardware knobs of 270 or 360 degrees (range 0-127).

  • Separate reproduction and recording between the pads panel and the virtual piano. Both can play sound at the same time without crossing.

  • Play several instruments at the same time with a MIDI device and the mouse.

  • Specific keyboard commands (more of 40) for navigation and edition from KangarooX120 (the window must be in the foreground).

  • (Renoise CTRL+M) MIDI Input route to MIDI Mapping: “Global Mappings/Tools/KangarooX120/…”

  • Keybinding for invoke the tool: “Renoise: Preferences/Keys/Global/Tools/KangarooX120/…” Use “K” for current assignement. Also use “K” key to close the tool.

  • Access to invoke the tool: “Renoise: Tools Menu/~KangarooX120…” or Renoise: Pattern Editor(right click mouse)/~KangarooX120…".

  • All the keyboard commands are configured inside the file “…lua/keyhandler.lua”.

  • All MIDI Input mappings are configured inside the file “…lua/midi_input.lua”.


KangarooX120: pads panel & virtual piano

KangarooX120 Window Scheme

The KangarooX120 window is divided into 6 areas. It has different display modes (folding areas), expanded or compact for larger or smaller resolution screens…

  1. Pad Panel (120 pads)
  2. Controls
  3. Banks (96 banks)
  4. Virtual Piano (120 keys)
  5. Advanced Operations
  6. Preferences


KangarooX120fully deployed

Instructions for use. Steps to Basic Use

  1. INSTRUMENTS & TRACKS. In Renoise, load your desired instruments and the tracks that will form your song. Make sure you order them consistently. For example, you can use a group that contains tracks to route percussion instruments…

  2. OSC & PREFERENCES. Enable OSC in “Renoise: Preferences/OSC/…”. Invoke the KangarooX120 tool. Then, show the preferences panel with the preferences button of the tool ((KangarooX120: press “RETURN”) and follow the instructions to set the configuration. Use the protocol Udp and port 8000.

  3. MIDI MAPPING DEVICES. Connect your MIDI keyboard or your MIDI pad controller or both and configure (Renoise: press CTRL+M) the MIDI Mapping of the pads panel (top panel) and the virtual piano (bottom panel), as well as the rest of controls of the KangarooX120 tool that you need. Take advantage of the different MIDI channels of your device for greater flexibility. KangarooX120 window is divided into 5 areas, from top to bottom: Pads Panel, Controls, Banks, Virtual Piano & Preferences. Each area is MIDI mappable. When you finish the mapping, save your XRNM mapping file/files.

  4. ROUTING PADS THROUGH PIANO. Show the velocity knobs of each pad using the specific button (KangarooX120: press F6). Now you can select each pad (lower right checkbox) to route it through the piano. Use the NTE, INS and TRK valueboxes to specify each value. The selected pad will change its name, showing the notes, instrument and track routed. Use the automatic pad selection button to streamline the routing process. (KangarooX120: press F7).

  5. TOUCH PADS PANEL & VIRTUAL PIANO. Now you can play the pads panel routed in a specific way. The pads panel and virtual piano includes different trigger modes: press and release, hold, and hold in chain (KangarooX120: press “BACK” key or “<” key to more information). You can play the pads panel and the virtual piano at the same time.

  6. KEYBOARD COMMANDS CONTROL. KangarooX120 has common keyboard commands (more of 40) to move between the different instruments, patterns, tracks, and lines, enough commands to be able to edit the patterns from the tool. Press the F1 to F12 buttons, for different options. You can also press SHIFT+UP, SHIFT+DOWN, SHIFT+LEFT, SHIFT+RIGHT to swap the note selected in the cursor inside the pattern editor (with edit mode enabled), among other commands…

  7. LEARN WITH TOOLTIPS. KangarooX120 has more controls for more flexibility. Read the tooltips of each control for more information about how to control them.

  8. KEEP YOUR BANKS! Save your banks for later sessions. You can make a backup manually of the “banks” folder before uninstalling the KangarooX120 tool to keep the banks. You just have to replace the folder with the saved banks after installing the tool again. Share your banks with other users, even along with your song. The banks are XML files of about 14KB.


KangarooX120 & its colored pads!

KangarooX120 jump and hit very hard!!! …enjoy it! :wink:

Wow that’s again a nice interface, Thank you Raul for this new super tool !
There is again a secret button or fonction ?:slight_smile: I didn’t again find it in Phrasetouch :)))

Wow that’s again a nice interface, Thank you Raul for this new super tool !

Thanks! Do not forget to activate the OSC and map your MIDI device with KangarooX120. Although it is possible to use it with the mouse, it is best used with an appropriate MIDI device, or several devices…

There is again a secret button or fonction ? :slight_smile: I didn’t again find it in Phrasetouch :)))

:huh: ^^ ^^the gem was well hidden inside PhraseTouch!!! Here is a clue… One of the buttons you must press for 2 seconds with the mouse (no kidding). Then, a new panel of controls will appear.

No, KangarooX120 has nothing hidden. However, it has quite a few advanced features. You will only notice if you make the most of the MIDI Input mapping of your controller device, and also know some keyboard commands.

thank you for your effort and time you put in this tool Raul

thank you for your effort and time you put in this tool Raul

Thanks Rpnz!How much patience we have :)!!!KangorooX120 is the result of many hours of research and study, as a result of other tools. Possibly it is the most mature tool I have built so far.It should work like silk!

Make sure you always install the latest version. It is possible that I update the tool with small fixes or additions.

If someone finds any strange behavior or bug, please let me know with a comment inside this thread.

Muchas Gracias, Raul! :yeah:

New release published: KangarooX120 v1.0.017.

Inside the spoiler of the first entry is the Updates History with more information…

Thanks for your dedication!

One question (for starters):

I don’t understand how to assign a track to a pad.

E.g. I want to assign pad 13 to track02, how to do that.

8139 renoise_kangaroo_question.jpg

Or is this not the tool for that (sorry I feel like I didn’t grasp the concept completely).

@dired , of course!

Yes, KangarooX120 serves for that, you have understood the concept well!I regret not having time to develop a detailed user manual for this tool. However, I think it’s quite intuitive to handle.

Steps to transpose the routed notes of the entire pads panel & to routing an individual pad

A pad is made up by:

  1. First line: number of pad (always 01 to 120)
  2. Second line: note value & instrument value.
  3. Third line: track value.
  4. Right: velocity knob (velocity sensitive MIDI devide) and checkbox selector to routing.

8140 KangarooX120-routing-pads.gif

Finally, pad 13 has been routed with the note A-3 , instrument 01 and track Tr04

To routing each pad:

To route any pad, you must first select it, with lower right checkbox of pad.Use the Automatic Pad Selector to automatically change the selection after routing.Then, you just have to change the INS & TRK valueboxes and click on the piano keys to route each pad.

  • To assign a note, you have all the keys of the virtual piano.
  • To transpose all the notes, you have the NTE valuebox.In the preferences panel there is a lock to block it (lock NTE valuebox). Be careful with this valuebox. Save your bank before losing it!
  • To route any instrument to each pad you have the INS valuebox.
  • To route any track to each pad you have the TRK valuebox.
  • To change the pad selection, you have: 1) the PAD valuebox , 2) the Automatic Pad Selector or 3) the manual selection (click directly in the lower right checkbox selector).

Note: all the valueboxes (NTE, INS, TRK, PAD) accepts the writing of values directly. For example, inside the NTE valuebox write the value " C4", and apply the note " C-4", or write " C#4" and apply the note " C#4", or write " n" and apply " NTE".It is programmed to be fast.Press CTRL + up-down mouse wheel to change the values of the valuebox more slowly, with greater precision.

Save your banks!

After the routing process of all the pads, be sure to save a bank (XML file). Assign a name to identify it and save it in a free slot (there are up to 96 bank slots ).Remember that you can load the banks on the fly! This makes this tool into something magical!!!

A bank stores the name assigned and all the routing values of the 120 pads ( note-instrument-track-velocity ), including the velocity value for the knob and the general color setting for all the pads panel.

Make a manual backup of your “banks” folder before uninstalling the tool to avoid losing them. The “banks” folder is in the root directory of the KangarooX120 tool.After reinstalling the KangarooX120 tool, you just have to replace the “banks” folder with the folder that you saved previously. You can also share your “banks” folder with the other users.

As there is no user manual, carefully read the tooltips of each control to know what they are for…If anyone has any questions, just comment on this thread.

1 Like

New release published: KangarooX120 v1.0.020.

Inside the spoilerof the first entryis theUpdates Historywith more information…

This update has some interesting additions and some correction. KangarooX120 is also compatible with 360º knobs. The INS and TRK value boxes also accept the Relative Map Mode that returns values of ±1.

Generally, the 270º knobs return a range of values from 0 to 127. But also some 360º knobs are limited to this small range of values. Renoise accepts more than 128 tracks and more than 128 instruments, so this issue can be a Mapping problem.

A practical case is the Akai MPD218.Through the software it is possible to switch between “CC” Type for Map Mode: “Absolute 7 bit” (return 0 to 127) or “INC/DEC 2” for Map Mode “Relative…” (any), return ±1.

In this way, if you want to use 360º knobs to navigate between all the tracks or all the instruments, make sure your MIDI USB device is compatible with this MIDI data send.

Also, I forgot to convert the values of the instruments into hexadecimal notation for the pads. That is corrected now in this new version.

New release published: KangarooX120 v1.0.021.

Inside the spoilerof the first entryis theUpdates Historywith more information…

8157 kangaroox120-07.png

Preferences deep review

New release published: KangarooX120 v1.1.029.

Inside the spoilerof the first entryis theUpdates Historywith more information…

Inside the spoilerof the first entryis theUpdates Historywith more information…

User theme support, cool !! I will try it on OS X

User theme support, cool !! I will try it on OS X

Yes, please!It would be good to be sure!

This is the code used:

Click to view contents
local rns_version = renoise.RENOISE_VERSION
KNG_CLR = { MARKER = {235,235,235} }
--capture the native color of marker (for Windows: C:\Users\USER_NAME\AppData\Roaming\Renoise\V3.1.1\Config.xml)
function kng_capture_clr_mrk()
  --print ( os.currentdir() )
  --Config.xml path:  
    --Windows: %appdata%\Renoise\V3.1.1\Config.xml
    --MacOS: ~/Library/Logs/, ~/Library/Preferences/Renoise/V3.1.1/Config.xml
    --Linux: ~/.renoise/V3.1.1/Config.xml
  local filename = ""
  if ( os.platform() == "WINDOWS" ) then
    filename = ("%s\\Renoise\\V%s\\Config.xml"):format( os.getenv("APPDATA"), rns_version )
    --print("Windows:", filename )
  elseif ( os.platform() == "MACINTOSH" ) then
    filename = ("%s/Library/Preferences/Renoise/V%s/Config.xml"):format( os.getenv("HOME"), rns_version )
    --print("MacOS:", filename )
  elseif ( os.platform() == "LINUX" ) then
    filename = ( "%s/.renoise/V%s/Config.xml"):format( os.getenv("HOME"), rns_version )
    --print("Linux:", filename )
  --print( filename )
  if ( io.exists( filename ) ) then
    local pref_data = renoise.Document.create("RenoisePrefs") { SkinColors = { Selected_Button_Back = "" } }
    pref_data:load_from( filename )
    --print( pref_data.SkinColors.Selected_Button_Back )
    local rgb = tostring(pref_data.SkinColors.Selected_Button_Back)
    local one, two, thr = rgb:match( "([^,]+),([^,]+),([^,]+)" )
    KNG_CLR.MARKER[1] = tonumber(one)
    KNG_CLR.MARKER[2] = tonumber(two)
    KNG_CLR.MARKER[3] = tonumber(thr)

My doubts have always been how to correctly define the complete path of the “filename”, so that it is compatible with the 3 operating systems and with all the possible Renoise versions. Do you think this code will always work?

Basically, a color is defined first (KNG_CLR.MARKER ={235,235,235}). After, the function takes the “Selected_Button_Back” color within the “Config.xml” file and, if the path exists, changes the color KNG_CLR.MARKER. If the route does not exist, it does nothing and preserves the previous KNG_CLR.MARKER color.This will only work when loading the tool for the first time.This type of tool is only loaded once in the memory, and remains there all the time, until Renoise closes. It would be necessary to restart Renoise or the tool in case of changing the Renoise color theme.

Edit:I am trying to get a reliable code to use it in all my tools.

couldn’t really see all interface elements on my 1366x768 screen.

couldn’t really see all interface elements on my 1366x768 screen.

The graphic design of the KangarooX120 is designed for HD screens (high of 1080 pixels) to see all the pads. However, its window design is cut in 2 parts. The first will show a mesh of 8x8 pads (64 pads, 966x648 pixels), and the second 7x8 pads (56 pads, 966x588 pixels), adding a total of 120 pads, designed for smaller resolutions. Use the 4 buttons on the left, above the piano, to change the graphic interface in its 3 viewing modes, or press F1, F2, F3 or F4.

New release published: KangarooX120 v1.1.030.

Inside the spoilerof the first entryis theUpdates Historywith more information…

I try to use this with addictive drums to make every drum instrument notes be written to separet tracks during midi recording with e-drums. Is this possible? Sorry for the spelling

Yes, it is possible. With the valuebox “PAD”, you can select each pad to configure it. Enable the swith of the left to change the selection of the pad automatically.

You can route each pad, being able to change 3 things:

  1. The instrument. Use the instrument box of Renoise to change the instrument index, with the valuebox in “INS”.
  2. The track. Change the track with the valuebox in “TRK”.
  3. The note. Use the virtual piano to change it, with the valuebox in “NTE”, after completing points 1 and 2.


At the end of the process, you can save a bank, to retrieve it later in another session.

Edit: If you want to distribute groups of notes of one or several instruments in up to 10 separate tracks, you may be interested in using the Chord Builder of Piano Roll Editor v4. A very common case is to have a native instrument that is a complex drum kit. With the Chord Builder you can configure it very quickly, even trigger multiple notes from a single pad or a key. In this sense, the Chord Builder is more advanced than the KangarooX120. But if you only want to distribute single notes of different instruments on separate tracks, KangarooX120 will serve you. Remember to map the MIDI input to enjoy it.

I noticed that in the download section of the KangarooX120 tool at the images are destroyed with the last migration. When I have time I will look to restore them with new images.