New tool (3.3.2): Piano Roll Editor v8.5 build 326 (September 2021)

The PRE tool depends on the available API. This API does not give direct access to be able to edit directly in the Phrase Editor. That is, it is not possible to use OSC messages to play notes (sound) and thus be able to edit them in the Phrase Editor (add/delete notes).

In fact, as far as I know, the API for the phrase editor “is incomplete”. It is not as advanced as for the Pattern Editor. Moreover, if you select the Phrase Editor, PRE cannot record any, because the Pattern Editor is not selected. In this case, from the PRE, the OSC messages will play the constructed phrases, even if you have the Phrase Editor with the “edit mode” enabled.

It is as if the API was prepared to expand things, but there is a lack of content so that the tool programmer can work extensively with the phrases (edit in the Phrase Editor through OSC). I don’t know if there is any “hidden” direct way of doing it. If there is, let expert someone comment.

I am referencing Renoise 3.2.0 / 3.2.1 at all times…

For trigger notes, inside OSC exists this messages (used in the PRE):

/renoise/trigger/note_off(number,number,number)
/renoise/trigger/note_on(number,number,number,number)

This only works with the Pattern Editor. There are no 2 equivalent messages that do the same but only for the Phrase Editor. Therefore, it is not possible to add this way of operating.

If you have a phrase with a note in the first column of the first line, you can get the value of the note:

print(renoise.song().selected_phrase:line(1):note_column(1).note_value)
If it is C-4, the note_value = 48

That is, it is possible to enter the notes in the Phrase Editor, but not from OSC:

renoise.song().selected_phrase:line(1):note_column(1).note_value=48

or the note-OFF:

renoise.song().selected_phrase:line(1):note_column(1).note_value=120

or clear the note:

renoise.song().selected_phrase:line(1):note_column(1).note_value=121

But the notes will not sound! Renoise (and your API) is not yet designed/finished for this. The only way from the API to sound the notes is to use OSC.

By the way, in the API I think there is no “selected_line” for the Phrase Editor. Have I missed something? This prevents locating the current line to be able to edit over it. Everything seems to indicate that the API is incomplete for editing phrases.

1 Like

The PhraseTouch tool has not been developed for a long time. I am currently concentrating on keeping the Piano Roll Editor tool, which is a lot of work.

The PhraseTouch tool stayed for version 3.1.1 of Renoise. To update it I should review it and also add / edit a lot of additional (larger) icons to make it compatible with Renose 3.2.0 (and following), and its GUI scaling.

Thank you for the detailed explanation. Maybe there will be a update to the API someday, until then i’ll use PRE in the Pattern Editor. Nevertheless, PRE is pretty cool!

New development of the Phrase Manager module for the PRE:

phrase-manager

This is a developing beta version. Basically it is a phrase manager, to quickly manipulate its main features and be able to see data from several phrases at once.

It will allow you to select several phrases to export in a folder, import an entire folder of phrases (up to the first 126), rename phrases individually or the selected set, export / import data between the pattern editor and the phrase editor.

This tool does not serve to edit phrases (within the phrase editor, which, from what I have seen and achieved, cannot be developed). But it will help to better manage their main characteristics and have a global vision of the phrases together, quickly locate and identify the phrases by name and be able to compare differences between duplicates.

I hope this window is an integrated part of the PRE, although its development is being worked entirely separately.

For those interested in phrases, suggestions are accepted!

New look of the Phrase Manager. The image says it all…
image

1 Like

Added the ON / OFF button for the “Hex to Dec Converter” module, for PRE7.
hex-to-dec-converter

This allows you to analyze hexadecimal values (convert to decimal) in the following sub-columns (for all types of tracks, only for the pattern editor):
Inside of the note column:

  1. note
  2. instrument
  3. volume
  4. panning.
  5. delay.
  6. sfx amount.

Inside of the effect column:

  1. effect amount.

Related topic: Dec Hex conversion

1 Like

Now that we have version 3.2.1 of Renoise, I hugely announce that the new version 7.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:
  1. Uninstall the old version of PRE.
  2. Install the latest version of PRE.
  3. 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.

Piano Roll Editor 7 includes some interesting news, as well as some corrections and improvements. The User Guide has also been improved to make reading more enjoyable, including color labels.

PRE7 now comes with a new “independent” window tool, the Phrase Manager. If you use the phrases regularly, you will appreciate this tool. I have wasted a lot of time programming this.

The Hex to Dec converter window tool, now includes a new on / off switch, to synchronize the table with the cursor of the pattern editor, for the sub-columns of values.

Another interesting thing is that PRE7 now includes the ability to jump lines between notes (skip to the next or previous note). In addition, it includes a new function to sort notes stacked, among other things…

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!

Thanks for the support and enjoy it!

@Raul I downloaded from your website, but want to let you know that the download link points to the manual.


Also, i installed the last PRE version and get a hangup if i start PRE.

Termination gives…

If i let the script run, it takes another second and then seems to run fine.

Yes, my mistake, I simply did not update the download identifier correctly, I got confused. It is already corrected. Thanks for notifying!

I would like to test this situation in version 3.1.1. I think that version 3.2.0 / 3.2.1 seems to be a bit more restrictive with the execution time limit of a chain of functions.

The code really is fine. Simply, on slower CPUs it will take longer to perform the first load and Renoise will show that “busy error”.

What exact CPU model are you using? Can it be an Intel i3 or similar?

At the moment, you can ignore that window and press the “NO” button.

PRE7 load is the same as version 6. I have only added a separate LUA file that will not load its part of the GUI on the first load, because it is a different window.

I suspect that the compatibility of larger GUI scaling needs more time to load. And that is because Renoise has changed, and with it the compatibility of the GUI scaling tool.

I will investigate this, to see if I can optimize it in some way.

It works on Linux. Haven’t had the possibility to test on Windows yet, but i guess it will work, too. I’ll let you know if it doesn’t. Thank you!

Solved then! In Windows it should work exactly the same as in Linux. The PRE tool use exactly the same code. If there is any difference, it will not depend on the tool. With the current download package, the “busy window” will not appear.

Yes, please, when you can do a test under Windows, see if it works correctly. Thus we eliminate doubts. It is better to try more machines.

@spktkpkt Can you tell me which CPU model you use? I could use to know for have all these things under control for the future…

Of course, sorry.

The current Linux system has a Dual-Core Intel® Core™ i5-2520M CPU @ 2.50GHz

I’ll let you know the CPU of my other Windows system when i have tested PRE on it.

EDIT: @Raul, testet on Windows, works fine. This system has a Intel(R) Core™ i7-8750H CPU @ 2.20GHz

Sebastian, thanks for confirming!

I have used an Intel i3 slower than your two processors for testing. So, it is quite certain that Renoise will never show that busy window with version 7.0.286 of the PRE.

In fact, now the first PRE load is a little faster. It shows a little faster in powerful processors.

You have the Phrase Manager window to test things with the phrases. You may find it useful.

Enjoy it!

The only real advantage a Piano Roll would give me would be the option to highlight note lines, so I could work out chords, the same as you can do with DAWs with native piano rolls. Can this be done with this tool?

It is possible to do several things:

  • Create chords from the keyboard (it is easier than using renoise).
  • Create chords from the mouse.
  • Create or use chords from the Chord Builder. Save them and reuse them.
  • Cut, copy, paste, transpose, upload, download, the entire line (or selected note column).
  • It is not possible to drag.

Can you highlight a note? Ive seen it in DAW’s with built in Piano Rolls that you can select the note and it will highlight the note part of the roll in a another colour and then do so with another note and so on, which is handy when creating melodies and chords, because you can see where the chord pattern is and allows you to stay within it when composing.

You can mark a line, to return to it later (with the mouse or with the keyboard [ALT B]). Then, in Renoise you can have a different selection and move wherever you want and later, return to the highlighted line that is in the PRE roll. As if you had a support viewer.

You can go to comment 1 of this thread. There is available the user manual where everything is explained. You can download the demo version and try it too.

As you know, I am in charge of maintaining this tool. For those interested and followers of this tool, at the end of January I plan to launch the next version of the PRE, version 8.

This version will bring interesting additions to control and play multiple instruments at once from the same piano MIDI controller (or several), deepening the piano division in up to 16 parts with 15 cuts, each part capable of being transposed on the fly (one important news), all integrated into the ChordBuilder, which is probably one of the best tools that exist today for Renoise related to shooting/stopping notes.

ChordBuilder is capable of firing up to 7 notes at a time from a single key, configurable between a range of 4 octaves. This is useful for firing chords, but also for setting up complex drum kits. In addition, it allows you to save forever the settings of the custom chord or group of notes to shoot, with up to 120 chord slots / groups of notes per bank, offering up to 99 banks that can be changed on the fly.

Another interesting addition is the ability to mute the ChordBuilder’s pads to be able to change the shot firing chords while playing from a piano (the pads will not sound and therefore will not record notes, but will change the chord). This is tremendously useful for live performance or recording even for 2 or 3 users.

If you have a piano MIDI controller (or several) and want to do more with it, I recommend you at least try the PRE, especially the new version 8 that is to come and everything that has to do with the ChordBuilder.

Another addition, finally, is the ability to load MIDI mapping files prepared for the PRE into new projects, focused on mapping all virtual pianos with one click (the superior mirror piano and lower virtual piano, as well as the 120 pads of the Chordbuilder). This topic has always been annoying (having to map many controls to create an XRNM file to save later). With the new version of the PRE, the whole theme of MIDI mapping is much more direct. Unfortunately, the API does not allow loading an XRNM file without first deleting all the MIDI mapping that the song could already have. From my point of view, this is a design error.

Users who do not understand programming, it is good that know that programmers can not do everything they want, because the API is “limited.” I have received some requests in private that I cannot attend due to this reason. Here is an example:

-- Load/save all global MIDI mappings in the song into a XRNM file. 
-- Returns true when loading/saving succeeded, else false and the error_message.
renoise.song():load_midi_mappings(filename)
  -> [boolean, error_message or nil]

This code removes the existing mapping and then adds the mapping of the filename. @taktik, if you read this, I think that the operation renoise.song():load_midi_mappings(filename) should be modified only by adding the mapping of the filename, retaining as much as possible of the existing mapping. That is, do not erase the existing mapping, just overwrite what is necessary.

If the programmer wishes to eliminate the existing mapping before, it has the following code:

-- clear all MIDI mappings in the song
renoise.song():clear_midi_mappings()

It would only be necessary to stack it like this (in the case of changing the load_midi_mapping):

local function load_midi_map()
  renoise.song():clear_midi_mappings()
  renoise.song():load_midi_mappings("folder/file.xrnm")
end

If it is not possible to change the behavior of load_midi_mapping, it would be appropriate to add a new one, like this:

-- Overwrite all global MIDI mappings in the song into a XRNM file, preserving the existing mapping as much as possible. 
-- Returns true when overwrite succeeded, else false and the error_message.
renoise.song():overwrite_midi_mappings(filename)
  -> [boolean, error_message or nil]

Solving this would allow you to add or change portions of MIDI mapping in the middle of the project (without losing the existing mapping).

3 Likes

Hi,

I’m interested in purchasing a license. However, as a new forum member, I’m not allowed to send PMs – can you send me the details?

Thank you.

Go to your inbox. There you have all the details … Thank you for your support! :slight_smile: