Simple Pianoroll: com.duftetools.SimplePianoroll.xrnx


A simple piano roll tool for Renoise with many useful shortcuts.

Tool page download:

Short instruction manual / Keyboard shortcut list:
Sourcecode on Github: Github
Made a little video showing v2.0 in use: Youtube

Alternative download on Github (click download):

Hope you like it. Feedback as always is welcome.

Other piano roll tools for Renoise:
Piano Roll Studio PRS by ulneiz
Vertical piano roll PRE by ulneiz



For dragging, I think you need to use a background xypad. That’s when things are starting to get complex. Lots of tounge-in-cheek class layout and area detection.

Just some small pointers that could save you some time:
Xypad snapback can be used to detect mouse release.
Super quick hiding/reshowing of a button will make the xypad catch the click (IIRC).


Well done friend and thank you

1 Like

looks awesome!
the biggest point for me would be to able to ‘disable snap-to-grid’ if possible? or i’m overlooking something? thanks


Looks great and easy to use, thanks.

1 Like

Sorry, but after renaming i can’t drop it on Renoise, if I load it by double clicking, Renoise load it like sample. What I do wrong?

Technically probably nothing. If you just rename the zip to xrnx the actual tool is sitting one directory level too deep in the zip file.

@pigfront Sorry, my fault. I thought renaming the zip was enough. I’ve changed the download link and i will push a ready to use xrnx to github, too.

@4tey Thx for help.

@dspasic You mean note delay, right? Currently not, but its on my todo.

1 Like

Thanks for all

1 Like

Thanks for your tool, well done, looks super slick. ! thing i would suggest ( if possible in the API ) is that a new note lane is created when we create a chord in the piano roll instead of having to manually doing it 1st in the tracker.

1 Like

Thx for suggestion. I’ve added this with v0.3.

@toimp Great job, thank you !!!

1 Like

Scrolling or at least Pageswitch if play long patterns would be nice. :slight_smile: Windows resize or at least Window maximizing would be nice too.

happy tracking

Window resize is currently not possible with the API. What i can do is adding fields for changing the grid size. Or maybe buttons for different predefined versions like (Small, Normal, XXL).

Scrolling / Pageswitch: you mean follow play cursor (auto scrolling, auto page switch)? Scrolling is possible for patterns longer than 64 lines, it should add a slider to the bottom, where you can scroll through your pattern.


At any time you can change the width or height of any object with “width” and “hight”. You can do it using the identifier of each object.

Navigating and modifying the window complicates the design of the tool, and should be studied before creating it. If the window is static, you will save yourself a lot of headaches.

Congratulations on the tool! You will see that creating new content is fun!

1 Like

Thank you. Yeah i know. That’s the reason, why i’ve wrote that adding fields for changing the grid size would be a solution for this. When i read window resize, i’m thinking about stuff like this. Dynamically change the window size using the window borders:

I don’t know if it is possible using an underlayer with xypad. But if I used xypad, I wouldn’t use it for this, least of all for a piano roll.

As you say, a better alternative would be to set the number of octaves (vertical) and the number of lines (horizontal) with two separate controls.

1 Like

The Best Alternative would be native implementing in mainprogram!

1 Like

This is really nice. Though I wouldn’t try to hack the system, if the system doesn’t really allow you to do drag’n’drop, scrolling or other required fundamentals, you only will frustrate yourself. It’s taktik’s turn now.

1 Like

My comment was referring to the current API, to create tools with LUA.

This will most likely never happen. In fact, if there was time to develop something new, it would be a good idea to invest it in further boosting the tracker, improving the automation editor, and other details. Renoise still has bugs that need to be fixed as well.

On the other hand, there are LUA programmers with great programming capacity. If there was a better API for building more complex things people would be surprised. Renoise is a very powerful DAW thanks also to its API for building tools.