New Tool: pattern_pone - Pattern overview and editing tool

Alternative pattern note data editor and overview

Click to view contents

EDIT: 0.73 small update, reorganized the main.lua for future features, note offs are now distinguishable from retriggered notes with colours.
EDIT: 0.76 small update, now supports moving between different tracks in the pattern somewhat.
EDIT: 0.77 small update, fixed selection error
EDIT: 0.83 larger update, general bug fixes, still plenty more to go
importantly, note colours are consistent - move evenly through the spectrum from C (red) to A# (blueish)
index is still absolutely broken unless you use 16LPB :c
EDIT: 0.861 uses native looping now, obviously much better, index hidden for fixing
EDIT: 0.9 all features are implemented, only bugs and alignment issues remain, unfortunately the new index completely broke navigation to other patterns
EDIT: 0.982 lots of bugs fixed, alignment issues pretty much neutralised, if there are any bugs that you encounter if you don’t press the dialog closing ‘x’ button, please report them.
EDIT: 1.0 version is technically final, please report if there are any bugs not related to the scale of the sliders, concerning launching a new song while the dialog is open, just avoid that for now.
EDIT: 1.01 neutralised the new song notifier bug
EDIT: 1.04 fixed note bitmap ghosting, neutralised new song timer problem, added resizing compatible version (uses buttons, but is a bit slower),
EDIT: 1.06 Might have fixed the new song issues, kind of loosing interest of having this on the tool page, haha.
Added a keybind: shift-l is loop on/off
Added 1 feature: you can now define the selected region by using the buttons as markers and then pushing shift-s to select it.
The correct math formula to calculate the line position from the sliders position still isn’t made, so you may have to add/remove a line to make it work for the region you need.
The resizable version will need you to go into the tool’s main.lua and edit these two values to what you want:
local BUT_HEIGHT = 20
local BUT_WIDTH = 10

EDIT: 1.11 fixed sudden note misidentification issue Very last update. Made some optimisations, fixed bugs, removed sliders.

EDIT: 1.13 fixed note offs not being displayed, added some new keybinds:

Selection and loop markers are set by clicking the line and column buttons, then push shift-s for selecting or shift-l for looping, if 2 markers are not placed, i.e. no 2 buttons are clicked, the key combination will disable looping or deselect the region respectively. You can mark a single line and column by double clicking a button. Looping a very small region may not be possible. You can move in edit steps with the up and down arrow keys, move by 1 line with alt-up/down. You can move the contents of the currently edited note column to before or after a line by using shift-up/down, you can move them by edit steps by using ctrl-up/down, note that if there’s data in the way moving is not possible. Moving between columns in a track is done with the left and right arrow keys.

EDIT: 1.16 Added text help dialog, accessible with shift-h. Added the detach-dialog function, use shift-o. Added adjustable refresh rate (in the help dialog), reopen the tool’s dialog to use the new values. If you want to change the defaults I’ll ask you to navigate to main.lua and do it yourself (now in the first 4 lines), I remember having issues with saved tool preferences, so I’ll avoid that function.

Still haven’t got size suggestions, so mostly everyone is satisfied? I was planning to have 2 more.

EDIT: 1.18 Fixed issues thatwouldhappen if you’d install the toolbeforerenoise would load a new song.Added 1 more size, ‘huge’, roughly the size of renoise’s ‘huge’ maybe a bit bigger than your definition of huge. Use the shift-h for help. Won’t be making more sizes because I’m forced to make them by hand with the software I already have (128 bytes/s internet connection).

EDIT: 1.2 Fixed a small bug no one would notice under almost all circumstances. Changing the constants no longer needs the window to be reopened. I hope the latter doesn’t add more bugs.

EDIT: 1.22 I guess the tools isn’t done yet. Added effect column as well, you can now pause updating of the notes or effects using shift-e and shift-n. I’m still not sure how to quickly generate an image out of a .wav easily, so that a sample overview would be possible, don’t get too excited though, it’s just render_pattern_track>save_as_.wav>generate_a_bmp>load_bmp_into_tool_window, should be handy, as with a bit of personal work you can align the automation view with the tool’s window.

Project terminated unless requested. Moved on to reaper’s midi editor.

Use shift-h while the tool is focussed to show the help dialog.

wow, looks complicated :slight_smile:

no it’s not! It’s brilliant. superuseful!

This is great start!

Hmm, too bad the viewbuilder API doesn’t feature a proper range-slider for this kind of thing.
But nice to see such a creative workaround :slight_smile:

Nice upgrade: every “lpb line” (lets say every 4th or 8th) would have different color for better orientation.

Later I’ll add an index, with line numbers on beats and visual markings of the beat parts.

I might be able to fix the index and other issues this week.

I’ve also changed my previous tool for recording not-quantised-to-lines automation, now using Illformed’s position calculating script, so now the tool works properly-ish, see link bellow.

pretty much final update

Some quick observations while testing v1.01…

If I delete a block of notes using Alt+F4, Shift+F4, etc., then the tool does not update its view correctly, and shows some kind of residual ghost notes:
5175 pone-bug-1.png

Likewise, if I use Backspace or Insert to shift the notes up or down, I get similar ghost notes appearing:
5176 pone-bug-2.png

If I keep the tool interface open while creating a new song, I get this error:

*** std::logic_error: 'trying to access a nil object of type 'class SequencerTrack'. the object is not or no longer available.'  
*** stack traceback:  
*** [C]: ?  
*** [C]: in function '__index'  
*** [string "do..."]:36: in function   
*** main.lua:505: in function 'terminate_tool'  
*** main.lua:529: in function <523><br>```

</523>

I see, the tool doesn’t overwrite the bitmap data to ‘’, the if loop skips lines without a note, will be dealt with in the next version.
Will have to make some deeper digging to see what’s with the new song bugs, will take a while longer.

Is there a way to adjust the size of the interface? It’s so tiny on my screen I can’t see anything.

The feature is not yet properly implemented (the index does not react), but you can, open the main.lua file in the tool’s folder find

local BUT_HEIGHT = 20
local BUT_WIDTH = 10

and change it to what you like

Fixed the reported bugs

I was beginning to write a tool that would allow you to move throughout the beat/pattern using steps of your measure of choice, but since moving entirely to using pattern_pone instead, I have no use of it anymore, if anyone needs the tiny bit of code: http://pastebin.com/msr62YF3

A little head’s up for those interested, I don’t know how to handle the issue with modifiers and using multiple-key keybinds not being skipped properly by the tool (the tool should ignore them and let renoise have them, you can simply keybind your qwerty non-piano keys or bind your midi controller (most advisable, because you’ll be able to record lag-free while the tool is running)

** If anyone could figure out the correct math formula to calculate the sliderto line number conversion, that’d be great **

The observable error that happens if you hadn’t launched this tool in a song and release it will be fixed in a later version.

I’m thinking of having the index drawing be slightly optimised and maybe adding a sister-tool that would work for effects columns, also adding the function to ‘detach’ the tool and have the window become static and independent, for observing other tracks while changing your current one.

Project closed.

If there are bugs please report, otherwise, final update.

hotfix

small feature and bugfix patch

Found a small ‘accidental garbage’ collection bug, fixed it, will upload in next version.

Next version will featureseveral sizes, adjustable speed for the refresh and a detach-dialog from tool function making it inert, useful for comparing multiple tracks.

I need to ask you what sizes you want, go to the tools folder and find main.lua, then ctrl-f for BUT_WIDTH and BUT_HEIGHT and change them, don’t change slid_size, it’snow only theseekbar height.

On windows you’ll find it in C:\Users\YOUR_ACCOUNT_NAME\AppData\Roaming\Renoise\V3.0.0\Scripts\Tools\gova.tools.Pattern_pone.xrnx

Thank you.

On windows you’ll find it in C:\Users\YOUR_ACCOUNT_NAME\AppData\Roaming\Renoise\V3.0.0\Scripts\Tools\gova.tools.Pattern_pone.xrnx

Hey, if you want to point someone to the tool path, cross-platform style:

Renoise menu > Tools > Tool Browser > (Right-click installed tool) → Reveal in Finder / Explorer / etc.