Simple Pianoroll: com.duftetools.SimplePianoroll.xrnx

com.duftetools.SimplePianoroll V3.0 (for Renoise 3.3)

Happy new year, everyone! New year, new update :slight_smile:

I’ve added chord detection. I found this very useful for several cases. I didn’t study music theory, rather taught myself a lot. I hope I didn’t made any mistake there. It works for playing and selected notes. It also use the current scale to detect the scale degree:

chorddetect

I’ve added a new way to do step sequencing in the piano roll view:

stepseq

Just use the computer keyboard to play notes and then cursor keys right to draw the notes. Please note, this works, when the song is not playing. There is a video about how this is this is working in Ableton. Its a similar approach.
Right cursor key to draw notes. Left cursor key to remove notes.

Full changelog:

  • feature: add chord and scale degree detection
  • feature: add step sequencing with cursor keys and currently playing notes
  • feature: add option for shading root notes
  • improved: better handling of losing window focus (try to get focus back)
  • improved: add edit with piano roll to mixer view
  • fix: wrong root key labeling in scale auto mode
  • fix: note doesn’t move instant sometimes, when using mouse
  • fix: shading was going to default color value “{0,0,0}”
  • fix: bad preview polyphony for transposing
  • fix: wrong piano key coloring, when playing notes during scrolling
  • fix: bad ghost track index error, when ghost track was deleted
  • fix: some more nil errors
9 Likes

Happy new year for you too and thanks for further development your awsome tool.

happy tracking :slight_smile:

1 Like

If have some suggestions in optics for better oversight in config dialog. smal things i know, but smal things
count too. :slight_smile:

image

  1. the input boxes should be placed in same vertical line and with anchors / aligned to right

  2. the optiontext in Value select boxes (combobox) should aligned on right to

  3. 2 possibilitys for control lenghts of the input/comboboxes

       3.1. make its so long till the left description labeltext (Value: [          I n p u t b o x    C o n t r o l          ]
    

or

      3.2 use a line of points till controls horizontal startpos (Value: ............[Inputbox Control]

hope you understood what i mean :slight_smile:

the mixershortcut in V3.0 is nice!

happy tracking :wink:

1 Like

Suggestion, but I don’t know if it is possible in current version of Renoise 3.3.2.

Can you add a UI component similar to Note Length, Velocity, etc. which will assign Instrument number? For example, if first use the pattern editor to input notes for instrument 02, but when I open the pattern in the Simple Piano Roll, I want to highlight one note and change just that note to instrument 03.

1 Like

Yep sure its possible. This would allow us to use multiple instruments. Its currently restricted to just one instrument at the moment. I’ll add this to my todo.

1 Like

com.duftetools.SimplePianoroll V3.1 (for Renoise 3.3)

Hello everyone, new update. Just several minor changes and fixes.

Automatically remove unused note columns
The piano roll already supports to add automatically new note columns, when the option is enabled. And now it also removes empty ones. Will be applied automatically on note editing actions.

Mouse warping compatibility mode
There is a mouse warping compatibility mode. It will disable some functions where the current left mouse button state is needed (visible select rectangle for example). This will fix the mouse cursor jumping. Its still recommend to disable mouse warping.

Easier note slides (VSTi)
I recently used note sliding alot, also in my last song: Sunbeams.
I found out that FLStudio always plays the last added note in a row first. With this in mind, its pretty easy to create note slides. Just draw you melody first and then add note slides afterwards. No delaying of these slides notes is needed.
Renoise is playing the notes per column from left to right on each line. So the piano roll now tries to add new notes to the first non conflicting available column. It moves the other notes on the same line to the next column on the right.
noteslides

Edit a track via instrument per context menu
It’s searching for the correct track in all patterns, switch to it and opens the piano roll.

Full changelog:

  • feature: easy switch between relative minor / major (button in set scale dialog or while holding ctrl key and click current scale)
  • feature: edit pattern with simple pianoroll from instrument box
  • feature: add option to set Renoise computer keyboard velocity to the current preview velocity
  • feature: add option to allow move and scale of notes in pen mode
  • improved: also automatically remove note columns, when option for automatically add note columns is enabled
  • improved: add mouse warping compatibility mode (fix mouse jumping, when mouse warping is needed)
  • improved: realigned input fields in preferences
  • improved: add menu entries for piano roll and preferences
  • improved: reduce full piano roll refresh on selection changes
  • changed: when removing notes, move other notes on the same line to free columns
  • changed: try to force new notes always on the first column for better legato portamento without delaying (playback order new notes first)
  • fix: missing undo description for step sequencing
  • fix: also sort notes by column, so notes doesn’t jump between columns to often
  • fix: click issue with scale note button on overlapping notes
  • fix: wrong fake alpha blending coloring
12 Likes

this guy should join the Renoise Developers Team :slight_smile:

8 Likes

Outstanding work my friend and thanks for your effort on this

3 Likes

Very good work mate! I love the 2 new options for getting trackcolors as notecolors! i found a little bug. If you have both of these option activated and open pianoroll window all works correct, but when you change the track he dont use the colors from the actual track to repaint pianoroll notes, he use the colors from the [selected channel] predecessor.

That means if you have three tracks with track colors

track1 red track 2 yellow track3 green

  1. you open track 1 → Notecolors painted red (correct)
  2. you change track to “track2” colors should repaint as yellow, but painted still red (only new played colors change to yellow)
  3. you change track to “track3” colors should repaint as green, but painted still yellow (only new played colors change to green)

the behaviour is reproducable

Maybe a missing repaint() call bug at trackchange event, or a colorarray Indexbug i think, should be easy to fix. :wink:

happy tracking :slight_smile:

1 Like

Wow i just discovered this tool - it’s awesome! Congrats and respect to the creator.

I did have a few crashes though. Mainly when pressing UNDO. Will paste here.

Please contact the author (dufte (toimp)) for assistance…
std::logic_error: ‘invalid selected_note_column_index index ‘3’. valid values are (1 to 2).’
stack traceback:
[C]: ?
[C]: in function ‘__newindex’
[string “do…”]:22: in function <[string “do…”]:9>
main.lua:826: in function ‘jumpToNoteInPattern’
main.lua:966: in function ‘updateNoteSelection’
main.lua:4184: in function ‘fillPianoRoll’
main.lua:5275: in function main.lua:5244

Also, on my trackpad (mac) I could get it to scroll up and down with 2 fingers, but not left & right?

It also keeps turning my main renoise pattern scroll/follow off. is that a bug or a feature? Either way I would appreciate it if it switched it back on after the piano-roll is closed.

And finally - every now and then, it puts random notes in to the grid. Strange.

But again, man, wow, thank you !

1 Like

Got this sometimes, too. I made a small change to fix this in the upcoming version. When you have an easy way to reproduce this issue, it would be nice.

Its because this gesture will be triggered as “scrolling”. Left to right swiping is currently not possible do API limitations, but you can use it with option key / alt key and up and down to scroll left and right.

Maybe a double click event will be fired. Try to set it to the lowest value, if you don’t need it at all:
image

1 Like

Thank you. I have been singing the praises of this piano roll on social media since i discovered it yesterday :slight_smile:
Could you please just let me know regarding the renoise playhead scrolling being switched off. Is that by intent? Not end of the world just slightly annoying.

Regarding the “undo” crashes, this is “fairly” easy to reproduce for me, if I draw something in while renoise is playing, then press undo while still playing, it crashes.

Cheers!

1 Like

Currently yes. It will disable it on note editing tasks to prevent issues during playback, when it switches the pattern. I could add an option to disable this, but it could be confusing, when you edit a pattern during playback und it switches it. That’s the reason, why i’ve added this.

I tried it with the current build. Cant reproduce it yet. Maybe my last change fix it. Could test this, too? I’ve pushed the latest xrnx to github: Download

Currently yes. It will disable it on note editing tasks to prevent issues during playback, when it switches the pattern. I could add an option to disable this, but it could be confusing, when you edit a pattern during playback und it switches it. That’s the reason, why i’ve added this.

No worries at least I know it’s not me doing something weird. MAYBE a ‘polite’ thing to do would for it to turn itself back on once pianoroll is closed, if it was on when it was first opened. this would work for me. (maybe a user pref).

I tried it with the current build. Cant reproduce it yet. Maybe my last change fix it. Could test this, too? I’ve pushed the latest xrnx to github:

I only tried it for 15 mins but couldn’t crash it!!! Really positive!!! Will play some more tomorrow.

One final suggestion, and forgive me for not reading the manual yet so could be a reason for it… to duplicate notes you hold the Control (mac) button down while in select mode. Fine. But why only in select mode? Maybe allow shift+control to duplicate parts in pencil mode. Just saves unnecessary tool switching. No worries if not possible.

All the best

1 Like

Good point. There is an option to allow note moving and scaling in pen mode. So its more like the FL piano roll. With this option, note duplication with shift or ctrl shouldn’t be a problem, too. Would this solve your request? At the end, this option should mimic more the FL like workflow.

Yeah, it could backup the follow player state on piano roll open, and when the idle function is called, when the piano roll is closed, it can set it back to the old state. I’ll try to add this. Hope it doesn’t causing other quirks.

Edit: I’ve pushed another test build which allow you to do note duplication in pen mode. Just enable this option:
image

Bitw. hold alt key to draw notes in select mode is something i’ve used for years in Reason from version 2.5 till Version 11. Muscle memory :smiley:

1 Like

Fantastic, can’t wait to try it. Am out till this afternoon but back later.

Still can’t believe this exists, and not only that but how responsive & caring you are about making this into perfection. And succeeding!!!

Can I send you donation or anything? You must have put soooo much time & energy into this now.

Cheers!

2 Likes

Thank you, but it’s not necessary. :slight_smile:
I was waiting and hoping for a piano roll tool in the past. One good start was Work in progress: Piano roll But was never released. After some research of other tools to learn how the API is working, i got some time to develop my own. I’m using it a lot since and its currently my way to go for melodies.

Edit: Btw. its crazy what Renoise allow us users to do with this API feature. Something we cant do in FL, Reason or Bitwig. That’s the reason i love to work in Renoise so much.

3 Likes

Wow that’s an amazing attitude you have. As you won’t take anything then may the universe bestow good karma on you good sir!

One question - is it possible to make “delete”(backspace on my mac) delete notes? That would feel intuitive to me. Infact other than double clicking a note i can’t seem to remove anything on the piano roll itself. Cutting (Ctrl+X) had some crazy results, removing seemingly random notes. Is this a potential bug?

Cheers!

I’ve uploaded a test build again. Backspace is working now. Del is working, too. Ctrl + X works fine for me, maybe you can record this?

1 Like

Hey :-). Delete now works perfectly, thank you! Cut works… but the thing is that on MAC the shortcut for “cut” is always Command+X. So it’s currently not consistent with the rest of the OS or Renoise itself. I probably confused you on the previous post as I made mistake writing Ctrl+X, sorry about that.

Cheers!