@ffx. Of all the tools I have built, the most fun to program has been this.
At first everything seems very easy. As you progress, on the fly you find problems that stop you from doing certain things, especially in the visual section (how do you represent a thing without leaving the script, which is Renoise).
It would be interesting if you started your own project, even if it was a prototype and you didn’t even publish it. Simply, when you see it working, you compare it with all those tracks that Renoise has, with all its 12 columns of notes, observing the rectangles of the notes and the rest of the information. Let’s see if you are able to go to a specific value that is in the pattern editor and change it quickly. In any case, the project would be interesting simply because of the code itself. Building any piano roll is more fun than any other tool, because you put it all together.
For the record, making a visualizer (with standard piano roll notes, even colored for multiple tracks) isn’t very complicated when using OO. Editing them, relying on bg xypad, is quite complicated to wrap your head around and design properly (perhaps easy if you do programming as a profession). Doing something like multiple selection + multiple note-off drag a little more complicated, again.
And on top of it all you have to decide the mechanics of handling note columns.
I understand why nobody have done it, even though it’s possible.
The prospect is a bit more tempting now that we have access to key modifiers.
The complexity indeed comes with the note-on/note-off separated commands and the columns (and note delays). You need an abstraction like something which gives you a note object including note length, position, neighbour references (including offsets), or similar, and a two way converting from reality->oo model and oo model->reality. So you wouldn’t care about placing/interpreting columns and note-offs at all.
To start xypad is limited to use it with CTRL + drag with the mouse. If you don’t press CTRL, the pointer goes too fast. That is, you have no other modifier keys to control it (as far as I know), nor the specific control of the pointer speed. In addition, it would be appropriate for a new overlay cursor to appear.
Programming all this should work in a coherent and “perfect” way, adjusted to Renoise, otherwise it would not make sense. For example, if there is no direct way to eliminate a note shutdown from the roll, its handling would be slow. It’s an example. You cannot be constantly changing several switches to make simple operations. Now, with API6, this would be easier, because we can use modifier keys (CTRL, ALT, SHIFT) along with the mouse click. Even so, it’s time to study all the details. Not only is the representation of rectangles.
Exact! With API5 I don’t see it reasonable. The advantage of the piano roll is that you can do it all with clicks. Do not depend on switches. API6 is closer to that. You have up to 7 + 1 different clicks with combinations with modifier keys. That is, you can execute 8 different functions with the “click” (that I have counted).
Yourselves can do your tests, even without publishing anything, to experience how it would look. Maybe, there are “quick edition” problems that yourselves didn’t consider.
Anyway, I would not waste time on such a project, until the API allow to control the entire mouse:
left button.
right button.
center button (under the wheel).
roll up.
roll down.
… and more advanced control of the xypad, at least. I mean the speed of the pointer.
Yeah, it’s kind of a dealbreaker. And slowing it down with mouse warping set to off, you don’t seem to have access to ctrl finetuning, so that’s a no-go too.
EDIT: A small tweak to the xypad behavior would go a long way, but the chance of seeing that is probably very slim.
Taktik has already done a lot doing a patch on the API5 to be able to release the keys of the physical keyboard and be able to use the modifier keys together with the click of the mouse. Only for these two things API6 is much better for tools of this type.
But as I said before, some problems appear when you program and test an already functional prototype.
Deep down, the simpler you build everything, the better. From a global point of view, Renoise is very simple. It has a trigger note and another shutdown note and the duration of each line. That’s it! It doesn’t distract you with other things. Do the same with a piano roll and you will have a fast and direct editor. In the background this is the objective.
If you build a piano roll with rectangles, it is better that the rectangles do not become an “obstacle” (I mean the visual aspect and the control aspect). From theory everything looks much easier.
It is a new feature of API6. You must study the new documentation. Take a look at this:
renoise.app().key_modifier_states
You can use it as a condition in your function. For example, in the notifier of a button. Certainly there should be published examples on how to use all these developments. For example:
local rna=renoise.app()
if (rna.key_modifier_states.alt=="pressed" and rna.key_modifier_states.control=="pressed" and rna.key_modifier_states.shift=="released") then
--your code
end
Equivalent to [ALT + CONTROL + Click]. I already integrated all this in PRE6. It works well.
I’m seeing that I could optimize the code a bit more:
local key_sta=renoise.app().key_modifier_states
if (key_sta.alt=="pressed" and key_sta.control=="pressed" and key_sta.shift=="released") then
--your code
end
The scale highlighting where do you want it? In the Chord Builder you can visualize the scales to be able to build specific chords and take advantage of all its chord slots to build your banks.
In the PRE6 you can enter specific chords with a single mouse click sent from the Chord Builder directly on the roll, or build chords with clicks very easily without worrying about the note columns (this was requested by another user) or even enter chords with the alphanumeric keyboard.
The “step poly” I don’t know what it is. Can you explain it? I am sure that PRE6 will feel better to enter and manipulate the notes more easily, especially the subject of chords.
@xbitz It is also possible to highlight the scale in the two virtual pianos, upper and lower, or simply in the upper one (this is not yet implemented). But the change of scale and its key must be done from the Chord Builder panel. There is a switch with an anchor. If activated it synchronizes it with the selected instrument. That is, each instrument slot works with a different scale, so you must check it every time you want to use one.
If the instrument scale is activated, you can use the roll directly to enter the notes within the scale. If you write an off-scale note, it will be self-corrected to the lower semitone within the scale.
About the step poly. With the PRE6 you can enter chords directly on the same line, with the advantage that the notes will sound. This is now possible because modifier keys are combined with the click of the mouse.
On the scroll, you cannot write a note out of scale (It will be possible to do it from the virtual piano). To enter several notes on the same line, you need to press [CTRL SHIFT Click]. The notes will sound!
It would only be necessary to highlight the scales on the two virtual pianos, or at least the one above.
I hugely announce that the new version 6.0 of Piano Roll Editor as just published! Read the first comment for more information. To know all the news, display the list of the new version in “Update History”.
To update the tool to the latest version for all those users who have their Personalized Use License of Full Version, please follow this steps:
Uninstall the old version of PRE.
Install the latest version of PRE.
Reinstall your Personalized Use License.
Other considerations:
Remember to backup your custom chord banks, before reinstalling the tool, so you do not lose them.
For the rest of users, they can try the free Demo Version.
Thanks for the support and enjoy it!
PRE6 is now compatible with HiDPI (retina), includes many, many new icons. It also offers many more control capabilities for the mouse (combination of modifier keys with the click of the mouse) and now allows you to play the notes with the alphanumeric keyboard (the notes sound!).
A left slide bar has also been added to navigate between the lines and it will be easier to enter chords with the mouse without worrying about jumping between columns of notes, easier to select an area and cut, copy, paste, transport, transpose. Everything is easier now using the mouse.
These are just some news. Some of the requests of some users have been integrated.
Please, if in doubt, take a look at the user guide. There are many novelties there…
If you are interested in the Full Version of PRE and in supporting the developer, get your Personalized Use License!
Warning about the last update of the PRE6: PRE v6.0.271 (released on September 5) has been uploaded to the server again with a couple of necessary changes related to the transpose scales, the tone style of the blocks and a couple of secondary details (they are all added).
If you have downloaded this version before September 9, 12:30 p.m., it is highly recommended that you download the new installation file again, and reinstall the tool. That is, download all the content again, including the user guide.
The main reason is "to prevent the user from getting confused when using the transpose scales to enter chords through the mouse, or another method, from this tool.
What could happen is that the user did not see directly that he has activated a scale in the selected instrument (because the PRE6 virtual pianos are not marked in yellow). Upon entering notes, all will be recorded within the scale. If you record a note outside the scale, it will be corrected automatically, always moving that note to the left (the immediate note within that scale).
So, now PRE6 will show those marked in yellow on the keys, synchronized with Renoise at all times.
I apologize if this has caused any discomfort. But I could not leave this version finished without these added details.
Haven’t used it for a while and just updated to v6. You have created a monster!!! Still struggling to wrap my head around all the buttons
one quirk I have discovered, (not really related to only this plugin, happened in other tools as well):
If you rightclick on one of the arrows of a field that changes note values,(the root note value in the chord builder for example) it de/increases 10 semitones instead of an octave like in main renoise. Is there a way to fix this behaviour?
This is an intrinsic behavior of the valuebox object (only taktik can modify it, or give us access from the API):
Left click: increase or decrease 1 value.
Right click: increase or decrease 10 values.
It is not intended for octaves, and the API has no control over this. That is, I as a programmer of window tools cannot change this behavior.
By the way, in Renoise it works the same in many valueboxes. Some valueboxes have specific behaviors:
The volume of the instrument: 0.5 values.
The pitch of the instrument: 12 values.
BPM & LPB: 10 values.
In addition, the API does not give access in any way to be able to differentiate the right button of the left button or the central button. You can only use these controls on specific objects, such as the valuebox.
…
PRE6 is a turning point. A before and after in this project. Mouse editing has been substantially improved thanks to the modifier keys (CTRL, ALT, SHIFT) combined with the mouse click. This changes the perspective of this super tool.
Did you know that you can directly insert chords from your USB alphanumeric keyboard? Now the notes will sound. Press and hold one key, press and hold another key, press and hold another key. Finally release the 3 keys. You will have inserted a chord of 3 notes in the same line (in 3 adjacent note columns) and you will not lose your initial position.
With the mouse you can also insert chords manually and directly, without worrying about the note columns. You can do so by also inserting its notes off associated with each note, and even directly manipulate the position of each note off. Everything is now much easier with the mouse.
I am slowly moving forward. This interface is something you have to earn. Kudos for cramming so much functionality into so little space. but the GUI is pretty intimidating at first…
anyway 190909_traul.xrns (15.0 KB)
open PRE with 1-8 octaves, first track selected. increase LPB value for fun