PIANO ROLL integrated in Pattern Editor! A Advanced Pattern Editor

Last example looks like the correct way to use it, now there is a 5/16 (or wathever) chance it would turn off on the 6th line, a 7/16 (or whatever) chance on the 7th line and so on.

Last example looks like the correct way to use it, now there is a 5/16 (or wathever) chance it would turn off on the 6th line, a 7/16 (or whatever) chance on the 7th line and so on.

===========

C-4 50

OFF

OFF

OFF

OFF

OFF Y5

OFF Y7

OFF

OFF Y3

OFF

===========

So to avoid the absurd, it would be great to Renoise remove red note-OFFs automatically and add blue note-OFFs (or better yet, do not add anything blue note-OFFs, and work as in the case two).In other words, the Yx command is stronger, and does not need note-offs, is already the top note C-4.

Perhaps the addition of the note-OFF is necessary for insert the parameter Yx in the following pattern, the gap between patterns and for this reason it is necessary to always add… Or not.

What I mean is that Renoise could be more intelligent and avoid things that do not work.For example:

The last red note-OFF should disappear by entering the value Y3.

The first 4 note-OFF should disappear by entering the value Y5.

Renoise and works similar to insert the pure note-OFF (in the third case would becolor green)

Danoise, can you shed some daylight here?

If you mix paste a pattern with a Y command that has no off it would apply the Y command to any existing note on that current column/line, but if Renoise automatically changes the line to a note off just because it had a Y command in it then it would turn the existing note off. Nothing i really run into often myself, but it’s an example of how things can get confusing and end up with unwanted behaviour if Renoise should automatically change stuff you have no control over.

I prefer if Renoise does mostly just what i ask it to do without too much things happening that you would not expect.

I prefer if Renoise does mostly just what i ask it to do without too much things happening that you would not expect.

Yes, I agree. It would be incredibly hard for Renoise to guess the intention of pasting something. It might just be the first step towards something else. I would absolute hate if the program interfered, trying to be clever on my behalf.

Makes me think of Clippy. His single purpose in life was to try and be helpful:

Clippy-letter.PNG

Most of the time he just got it all wrong and annoyed people. Poor Clippy!

Also, the note-off editing approach is quite clever: by default note-off will look back and clear previous any note-off(s) - but you are a single SHIFT modifier away from a “naïve” note-off which will_not_clear existing ones (this modifier works with the track-wide CTRL+CAPS-LOCK shortcut too, btw.). You’re probably aware of this already, but in case someone else was reading :slight_smile:

But to raise a critic voice: it certainly is true that dealing with note-offs in Renoise can be confusing to newcomers. Especially when you are used to piano-roll editors where notes are usually “painted” (which makes the duration a given). This is simply not the case in Renoise, here, a note is always open until you explicitly close it. And to make matters worse, we are using_CAPS LOCK,_ a button that many people would like to see be removed completely from keyboards :slight_smile:

but… the current note-off mechanism could stay like it is. Visually I think blocks would speed up workflow a lot.

I prefer if Renoise does mostly just what i ask it to do without too much things happening that you would not expect.

Maybe you prefer because Renoise has always worked in this way.You are accustomed.The case is not the usual or custom, but do reasonable things automatically to make life easier for the user. So there are programs to streamline processes.

Also, the note-off editing approach is quite clever: by default note-off will look back and clear previous any note-off(s…

Just as that Renoise corrects the note-OFF in this case, it could be applied to other cases.Really you need to add the Note-OFF for the Yx parameter work?Is not the note C-4 above?To this I mean “intelligent”.

What I propose is if it is better not added the note-OFFfor the Yx parameter to work.Yx that work without the note-OFF.This does not confuse anyone.

Case 2) Not Work

===========

C-4 50

… Y5

… Y7

… Y3

OFF

===========

Case 3) Work

===========

C-4 50

OFF Y5

OFF Y7

OFF Y3

OFF

===========

I prefer Case 2) (cleaner and understandable). Yx more “intelligent” (Yx do not need the OFF to act)… and Note-OFF only for close the open note,was created for that.

Danoise, Clippy is middle failed tool :unsure:. Bring a successful case and apply.There are intelligent tools or applications that act reasonably without confusing anyone (they are made by thinking human beings).

Precisely to not confuse novices, it is better than the Note-OFF only serve for one thing (close the note). If there are other behavior functions that, are other parameters no need to include again the OFF value., such as Yx in Case 2.

I think you misunderstood, Raul. Sorry for nitpicking, but this is really important to me:

If Renoise did try and “be clever”, there would be no way to insert X number of note-offs, even though (as it was pointed out) there are perfectly valid reasons for doing so.

The only valid approach is to let people do whatever they feel like doing, and optionally, expose some sort of “cleanup” feature that you can run on the pattern.

So, the removal of elements would become a conscious decision on the users part.

And ehm, yes, my own songs are quite messy.

If Renoise did try and “be clever”, there would be no way to insert X number of note-offs, even though (as it was pointed out) there are perfectly valid reasons for doing so.

It does not have to be this way.You can paste with Ctrl-V (or Ctrl-P) infinite Note-OFFs.But at the time of using a Yx (or similar), Renoise can automatically clean up the leftover OFFs, since hinder the function of the Yx parameter.

Cases 1) Absurd!

===========

C-4 50

OFF

OFF

OFF

OFF

OFF Y5

OFF Y7

OFF Y3

OFF

===========

===========

C-4 50

OFF

OFF

OFF Y5

OFF Y7

OFF Y3

OFF

===========

===========

C-4 50

OFF

OFF Y5

OFF Y7

OFF Y3

OFF

===========

===========

C-4 50

OFF

OFF Y5

OFF Y7

OFF Y3

OFF

===========

  • If Yx always needs a Note-OFF to work, Note-OFF should automatically be added if the line is empty. (I prefer to Yx work without Note-OFF).
  • If you add a parameter Yx down (Y5), automatically delete note-OFFs above, since they cut the note and hinder the Y5 parameter.
  • If you want to place a note-OFF untidy anywhere, no problem.
  • Renoise not deleted Note-OFF if not necessary.

Look at this case:

===========

C-4 50

OFF

OFF

OFF

OFF

OFF

===========

===========

OFF

C-4 50

OFF

OFF

OFF

OFF

OFF

===========

These cases are compatible with the above.Put your Note-OFF wherever.

I would just leave the editing workflow as-is and not try to make assumptions about the intent of the user.

Take your first case, for example. What if my intention was to add a whole bunch of Yxx commands. The only way I could actually achieve this (if it worked like you suggest) would be to work my way _top-down_through the pattern - otherwise, everything above the cursor would get zapped.

Really, this sort of stuff would make me angry, for real :angry:I would have no problem with a generic “clean up pattern” command though.

What if my intention was to add a whole bunch of Yxx commands…

Add Note-OFF automatically together with Yx. I understand that I will only work if is the Note-OFF (or even a note)).

Do not be angry ^_^, they are only observations of possible operating.

Don’t worry, I’m also a strong believer in constructive (and even not so constructive) discussion.

This whole “note-off” discussion was spawned by the visualization of note lengths - I simply wanted to add my own experience with “loop based” composition.

So, to get back to that -

A tracker works differently from a piano-roll based DAW in more than the visual way - it also affects when and how notes are triggered.

Imagine you have a piano-roll that looks like this:

(the number represent beats, the vertical lines are loop start/end markers)

0 1 2 3 4 5 6 7 8
  | |
  | [C#4=================]
  | |

This is pretty easy to imagine: the C#4 is triggered on the second beat, and when looped it will stop until playback again reaches the second beat.

In Renoise, the result could easily be a different one

0 1 2 3 4 5 6 7 8
  | |
  ------------[C#4=================]
  | |

Here, the note is also triggered on the second beat_but will continue to play when looped_since the note is not released.

(the dashed line from 0-2 represent the note as it is played back when looped)

Yes, you can enable autoseek on samples toprevent this, but otherwise it is the defaultbehavior - also for plugins.

And that it works like this is a good thing - it opens the door to interesting creative possibilities. I mentioned how a glide command can make the C#4 an endless, “triggered once and then looping” note. And with 3.1, we even got a new per-song option to control whether automation respects looping or not, so it’s definitely something being considered.

This is one example of why I would want to insert a note-off in apparently strange locations - but also, why a note-length visualization isn’t always representing what is actually going on.

Still, I’m not against it - just wanted to add some complexity to the discussion :blush:

This is one example of why I would want to insert a note-off in apparently strange locations - but also, why a note-length visualization isn’t always representing what is actually going on.

Still, I’m not against it - just wanted to add some complexity to the discussion :blush:

Everything in this topic is complex ^_^. Can be also consider adding an activation option. Renoise to behave differently, for example, as I describe, or the like.I like to think that is not all done, and everything can be improved.

Don’t worry, I’m also a strong believer in constructive (and even not so constructive) discussion.

This whole “note-off” discussion was spawned by the visualization of note lengths - I simply wanted to add my own experience with “loop based” composition.

So, to get back to that -

A tracker works differently from a piano-roll based DAW in more than the visual way - it also affects when and how notes are triggered.

Imagine you have a piano-roll that looks like this:

(the number represent beats, the vertical lines are loop start/end markers)

0 1 2 3 4 5 6 7 8
| |
| [C#4=================]
| |

This is pretty easy to imagine: the C#4 is triggered on the second beat, and when looped it will stop until playback again reaches the second beat.

In Renoise, the result could easily be a different one

0 1 2 3 4 5 6 7 8
| |
------------[C#4=================]
| |

Here, the note is also triggered on the second beat_but will continue to play when looped_since the note is not released.

(the dashed line from 0-2 represent the note as it is played back when looped)

Yes, you can enable autoseek on samples toprevent this, but otherwise it is the defaultbehavior - also for plugins.

And that it works like this is a good thing - it opens the door to interesting creative possibilities. I mentioned how a glide command can make the C#4 an endless, “triggered once and then looping” note. And with 3.1, we even got a new per-song option to control whether automation respects looping or not, so it’s definitely something being considered…

I find it very interesting to contemplate the difficulties and complexities with the issue for implementing a new tool as this topic.Some things would be complex of represent them in blocks, as in commentary #36

Maybe you prefer because Renoise has always worked in this way.You are accustomed.The case is not the usual or custom, but do reasonable things automatically to make life easier for the user. So there are programs to streamline processes.

It’s not that i’m against any form of changes in Renoise, it has developed a lot since i started using it and i hope it continues to do so. What i meant was that i want to tell Renoise what it should do and it will do exactly that and not behave on it’s own. If i write just Y8 i don’t want Renoise to add OFF to that line without me telling it to do so. It’s really no big deal for me anyway, i’m used to OFFs and i have no problem with it and i think it does what it should, but i can understand that it’s not as intuitive and visual as dragging a box.

It’s not that i’m against any form of changes in Renoise, it has developed a lot since i started using it and i hope it continues to do so. What i meant was that i want to tell Renoise what it should do and it will do exactly that and not behave on it’s own. If i write just Y8 i don’t want Renoise to add OFF to that line without me telling it to do so. It’s really no big deal for me anyway, i’m used to OFFs and i have no problem with it and i think it does what it should, but i can understand that it’s not as intuitive and visual as dragging a box.

I wonder whether you really need to add a Note-OFF for the parameter Yx work.That is, work as in case 2).

Case 2) Not Work… Yx no work!!!

===========

C-4 50

… Y5

… Y7

… Y3

OFF

===========

In other words: Yx does nothing if is not the Note-OFF.It seems like the Note-OFFliaises with the top note. The Note-OFF Is it necessary to appear written?It can not do the entire job the Xy parameter?A comparison example:

Case volume parameter column (Work to grow the volume):

===========

C-4 50

… 40

… 20

… 10

OFF

===========

Volume parameters need not repeat constantly the note:

Case volume column (“Absurd to grow the volume of note C-4”) :

===========

C-4 50

C-4 40

C-4 20

C-4 10

OFF

===========

Note: in all cases, the instrument value not added!

Anyway, I agree with you, they are small things…

Another separate issuewhich relates to this topic (#43).Here:Help LUA: function to create a Group with two Tracks, one collapsed???

This topic has history, because it ends right where I wanted ( create a LUA script to sort the notes by octaves )

I have been opening the way to create a scriptto order the notes per octaves based on a selected track (“Original Track”).Selecting a track with a complex melody notes, the notes are ordered in 120 columns of note, 10 tracks “of octave” (octave 0 to octave 9) within 1 group. Finally, the octave tracks are empty, are erased.For me, this tool or script is very advantageous!

Currently, the script is deadlocked, due to “a bug” (rather lack of more code,I have called, “parameters lost”), caused by lines with “parameters lost” in column notes in the Original Trackbefore converting. joule has done a great job helping me in this concept.Basically joule just created the necessary code, he alone.He has been very kind!

Please, any forum member who knows LUA,are invited to examine the code to improve it.So far, the code can sort all notes and their parameters on the same line.If there is a lost parameter, without a note on the same line, it returns error:


C-4 00 50 40 FF …

OFF


Is ok!


C-4 00 50 40 FF …

… 40 <----- error (“lost parameter”)

OFF


This script is used to play notes in live with a midi keyboard first,and then order these clean notes in octaves… If there are not “lost parameters”, works!

Thanks to any member that helps! :slight_smile:

This screenshot reflects the idea (the blue columns is the same as all white columns after conversion):

[sharedmedia=core:attachments:6762]

In the white columns, you can visually understand the melody, and even find errors composition (Pattern Matrix in maximum zoom to better understand).

The velocity without note is used for polyphonic aftertouch.

The velocity without note is used for polyphonic aftertouch.

Hi ffx

Yes. If you use the current script to sort notes per octaves, after live recording with effect polyphonic aftertouch,will return error to find the first “lost parameter” (actually write a note-off instead,and stops converting the remaining notes).If the code is perfected in the future,also it works for polyphonic aftertoutch.This script does not understand of parameters, simply ordered what is written, but missing the condition of what to do when there are lost parameters (lines with parameters but without note).

The issue is to associate these “lost parameters” with the above note to that affect.In fact, more worrying is to achieve -avoid mistakes-.

To be more precise, you can usepolyphonic aftertouch with MIDI Keyboard after invoking the current script to sort notes per octaves, However, any “lost parameter” generates an error,in any case.

To understand us,I call "lost parameter"any parameter that has no right note beside, in the same line.You can follow this comment(in “Bug 5”). Here is the impasse! :blush:

All this to me is directly related to this topic. If you look well:

[sharedmedia=core:attachments:6762]

…It is very much like this:

[sharedmedia=core:attachments:6738]

:slight_smile:

Enjoy! :slight_smile:

Oh sorry, I misread… Keep on filling Taktik’s brain with useful ideas!