What curves for automation do you want to have with a click of mouse?

Hi guys.We all like curves, right? :smiley: I’ve been developing a tool for a few weeks, which is almost ready to be considered finished. This tool is called VPDpro and it brings several windows to control different things for editing in the pattern editor.If someone is curious, I have been discussing some LUA issues in the Scripting API Development Q&A forums. Some details of the tool have been described here as well::https://forum.renoise.com/t/keyboard-shortcut-to-increase-or-decrease-values-in-the-v-p-d-fx-colum/47938

This is the general aspect of the tool “VPDpro v1.0 (build 92)”:

[sharedmedia=core:attachments:7709]

Recently I added a new window module ( Automa32 ) designed to create and manipulate automation curves, including a preview panel. The fact is that this tool includes up to 32 buttons to be able to trigger specific curves. The tool can control up to 32 + 1 points independently or in groups.

I would like to ask everyone what kind of automation curves you would like to have available at the touch of a button, and later, to be able to manipulate this curve from the tool.

Each point in a curve has a time and a value. Imagine a pattern of 64 lines, where you can distribute 32 + 1 points. Which curves do you consider the most used and which ones do you use the most?

If someone wants to help, you can draw the curves with the Paint, the stroke and if they are coherent, I can add them in the tool. Actually the tool will have no limit curves. It has up to 32 buttons (a pad of 4x8 buttons), but more pads can be easily added as banks, so it is possible to add 32, 64, 96, 128 buttons to invoke specific preset curves.

The " VPDpro. Automa32":

[sharedmedia=core:attachments:7710]

Basically:

  1. Press a button to generate a predefined curve, or create a curve with the lower distribution, slope, mirror, random, etc. controls.
  2. The curve will appear in the preview panel, with points identifiable by color (up to 32 + 1 points in total).
  3. With the lower sliders you can manipulate any point in real time, for example, raising or lowering the value of the point, without fear of changing your time.
  4. You can choose a specific time (the line selected in the pattern editor) where you want to include the curve with your chosen points.
  5. Later, you can add more points if you wish.

With this scenario, what useful curves do you think they should be?

I have been practicing with the tool, and I have been able to create even saw teeth, horizontal or inclined, of course slopes or random curves of all kinds.Imagine what curves could doto be able to manipulate them later from the tool, without having to touch anything of the automation editor yet.Does anyone want to share their most desired curves?

It looks like a cool tool idea, similar in funtion to the automasher tool.

It would great if it could do variable depth curves like The autobender tool in the tools catalogue.

Two curves come to mind. One, a straight slope over time,either up or down. The other is a sigmoidal (I think that’s the name).

At the moment, with Automa32 it is possible to create simple curves with the tools that are integrated below. For example:

  1. Horizontal line (basically a point, which can be valid for On / Off)
  2. Slope inclined straight, from 2 to 32 + 1 points.
  3. Curved inclined slope, 2 points.

Any reverse or mirror of these curves. In other words, you create these curves and you can turn them around with just one click.
5.
Control of points with even values, odd values, all values, values > 0.5 or <0.5.Thanks to this they can be made, for example, saw teeth.
6.
Curve in the form of a staircase, each step is formed by a horizontal line and another inclined line.
7. Pyramid curve, 3 points.
8. Gaus bell curve, 3 points.
9. Aleatory control, until 32+1 points.
10. Exact slopes of several points or inaccurate slopes, adjusted to each line.

To create exact curves, for example a quarter of a circle, it is necessary to use multiple points in linear, similar to the Autobender.The automation editor of Renoise is limited by the curve line. It only works with sinusoidal curves, and it is not possible to manipulate the curve to attenuate it (open or close the curve more, exaggerate it).Then it is necessary to add many points and that starts to get out of control. Personally, I do not like to fill a pattern of multiple points, much less to create a perfect quarter-circle curve, which should be defined by only two points and its stroke.

The theme is to create curves with just one click. To be able to manipulate them later from the tool, with the minimum possible operations, being able to create traces with 2 or up to 32 + 1 points, from any line, and that also close well at the end of the line (final time of the last covered line by the stroke or curve).

Personally, I use a lot of smooth straight slopes and very exaggerated slopes. What initially interests is to be able to create curves that are really useful, not traces that really do not make much sense. The aumatization editor can control any parameter of any device in the effect chain of the selected track. You can do wonders with traces of curves, depending on which parameter is controlled. It is a pity that the automation editor does not have elaborate integrated tools to create a multitude of different curves (buttons, sliders …). There is no odd or even control. Increasing or decreasing the group value in a selection of points is even dangerous for the times of each point. It is easy to waste time when raising or lowering the value with the pointer. In the end it is difficult to handle and the user does not feel comfortable. Above, to know the value of each point, it is necessary to click on the point, trying to guess. If you fail, you will move the point. The point has no tooltip to indicate its value.

What gives me a bit of anger, is that adding the functions and buttons controls to create a multitude of specific curves is not too complicated to program. But to be really agile, everything must be in the automation editor, not in an external tool. It is not about filling a drop-down menu with a few pre-established curves, but control buttons to create new curves and manipulate curves already created.

Whichever you use assiduously the automation editor, you could leave painted the curves that you use the most inside this topic.

I want to have a line with a handle for curve… Very simple in usage, just like in Bitwig or Cubase. No need for predefined presets, never won’t fit to the individual case.

Also I want the API to finally provide proper graphics drawing, a.k.a. line drawing, curve drawing, bitmap layering. Also I wan the API to provide proper custom storage in a song for tool data, within a bin-encoded node in the song xml. No nasty workarounds anymore or saving alongside using another file.

I want to have a line with a handle for curve… Very simple in usage, just like in Bitwig or Cubase. No need for predefined presets, never won’t fit to the individual case.

Also I want the API to finally provide proper graphics drawing, a.k.a. line drawing, curve drawing, bitmap layering. Also I wan the API to provide proper custom storage in a song for tool data, within a bin-encoded node in the song xml. No nasty workarounds anymore or saving alongside using another file.

I wish everything was integrated, to be able to create new envelopes very easily. But I also believe that if there are different control buttons for certain things, you can create envelopes with some symmetry, almost impossible to build adding points one by one.In addition, a tool or the automation editor itself could insert a new predefined curve from the selected line. And if it also allows you to control the height of the selected points or a group of points from the selected line to the end of the pattern, you can control, for example, all the values> 0.5 or <0.5 or the line points or odd or all, and that implies up / down buttons, left / right.

If it is possible to manipulate the envelopes in this way, very good curves can be created for specific parameters. In addition, it is possible to create a curve, place another from the different lines later, within the same pattern.

However, the automation editor, apart from being basic when it comes to control tools, has certain limitations, for example:

  • The most serious, from my point of view, is that there is no tooltip at each point, indicating the time and the value. It’s something so basic and information so useful that I’m surprised it’s not implemented.
  • It is not possible to use a curve and a straight line within the same pattern (or it is all curves or it is all straight, or points).
  • It is not possible to insert 2 points in the same time (same vertical divisor), (for example, the first instant of a pattern line). It is necessary to insert two points, one at time 1, and the second at time 1’010, I think. That makes the control of the curves more complicated, but in the end it is filled with too many points.Always an envelope must be defined with the minimum number of points.
  • Something “strange” also occurs at the last point of the pattern, which ends with a time of x.999. This means that you always have to fight between the final time of the first pattern and the initial time of the next pattern, putting together two points, but in most cases you will have a jump or cut in the automation.
  • Inserting specific control buttons (and its functions) under the hood of the automation editor is not complicated, without needing to change the base of the API. But it is more complicated to want to draw a line defined by 2 points, and then have a handle where to grab the line and draw it to turn it into a curve. That implies a change in the GUI too.
  • And the weak point remains in wanting to create curves that encompass several patterns.Although it is possible to generate curves that occupy several consecutive patterns, it is a complicated task, because each pattern has its envelope, its container of points.

With some tools made with LUA, it is possible to alleviate all this.However, it is common for available tools related to automation, contain errors or do not work well,and with the documentation available for the automation editor, it is more complicated to control the _observables, so it’s more complicated to coordinate Renoise with the tool, rather than the other way around.For example, remove an envelope from the automation editor and have the tool react.

In this link there is a small demonstration XRNS of what can be done with automa32:https://forum.renoise.com/t/development-of-vpdpro-automa32-some-demonstrations/48454

A related screenshot:

[sharedmedia=core:attachments:7718]

Really have respect for the huge work you are doing, and totally agree with your points about what’s missing - Still I believe that you basically will loose you time doing such a complex tool, since automation editing needs to be fixed on core level.

Really have respect for the huge work you are doing, and totally agree with your points about what’s missing - Still I believe that you basically will loose you time doing such a complex tool, since automation editing needs to be fixed on core level.

Actually, the tool is not very complex to build. Simplifying is like controlling the coordinates (X, Y) of a point in a plane, with the time (the X) variable. Then you use iteration to add more points and that’s it. LUA has mathematical operations that help complete the conditions in the functions, so creating a tool of this style is not complicated. It is more complicated to make a tool like Autobender, which generates curves with many points, which is just what I do not want to see. But yes, it would be great if everything was under the hood of Renoise. But you already know that Renoise’s development is “parked” and maybe, a deserved improvement, would imply rewriting the entire automation editor. As it is a more laborious task, it is doubtful that in the end it will be carried out.Possibly, if some control buttons and the tooltip were added at each point and little else, many would be at least a little more satisfied.

But meanwhile…

Nor would I mind throwing the tool away if in the end the automation editor is drastically improved by the Renoise team. In fact, I am convinced that I would not take long to update the tool.So any change is not a problem.The problem is just the opposite, that nothing changes, nothing is improved.

When will a beta (or alpha) be available for us to try?

Also: crazy impressed by the GUI. I find it a struggle to get decent layouts. How did you get so good?

When will a beta (or alpha) be available for us to try?

Also: crazy impressed by the GUI. I find it a struggle to get decent layouts. How did you get so good?

Thank you!

I was about to publish the VPDpro tool a couple of weeks ago. I even asked for permission to be enabled in my account in order to publish the tool at www.renoise.com. But then, it occurred to me that something was missing, and that something was Automa32. Actually, the VPDpro main window is finished, as well as the EffectPad and ChordPad windows and all its MIDI Input links. I need to “calibrate” and refine Automa32, which still has some faults that have to do with mathematics and with the limits of values.

If you want to have the current version as I have it now of VPDpro, send me a PM with your e-mail and you can try the VPDpro tool, even though Automa32 is not yet finished.Until Automa32 is finished, I will not officially publish the first version of VPDpro.Nor am I going to publish a beta or alpha version. I do not want to have anything published of my creation that does not work well.This is my first rule after publishing my GT16-Colors, a tool that is not completely polished for multiple reasons (I tried to build things that can not be done with the Viewbuilder).

I started with this from LUA relatively recently, less than 2 years ago. I have been very persistent in the Renoise forums related to programming to create tools, and at the beginning Danoise, 4Tey and Joule have helped me a lot to understand many things about LUA, and especially about the available Renoise API.But I was also very persistent looking on the forums by myself. If I did not know something, I would ask, and luckily, there is almost always someone who answers.

To get a good GUI I have several rules of my own:

  1. The first is not to copy anyone.Copying the way of programming of others generates that you inherit their vices.It is better to try it for yourself.and continually invoke the famous trial-error.That does not mean that you ignore the programming of others.But it is necessary to build the GUI from your taste, from your way of thinking.
  2. You have to like to code. If not, you will not make good GUIs.This seems silly, it is not. You have to enjoy doing it.But, do not waste your time doing it!
  3. Never try to program something of the GUI that can not be done. I have had serious problems with the GUI precisely because I want to do certain things and then I have crashed into a wall, because the Viewbuilder does not provide them, and I am not able to program it on my own with LUA. So I focus on just what can be done with Viewbuilder.That means completely understand the documentation related to the Viewbuilder.There will come a time that you will not need to consult the documentation, because everything will already be in your head.
  4. Luckily, the API allows you to build any tool pixel by pixel. Pixel by pixel implies that you know very well the properties of each element within the Viewbuilder.
  5. Withviewbuilder there are several tricks that look great.
  6. Color elements, within the established limitations.
  7. Create your own switches. Personally, I do not like the API checkbox.prefer a button turned into a switch, using a variable, so that switch can be more than two positions, so that each position is a condition.So with conditions “if … then” and iterations “for …, … do”, you can control many things and all based on using only buttons, buttons with certain style (colors, icons and tooltips that change)…
  8. Creation of icons I am very fond of building my own icons. 95% of the icons of my tools are mine.
  9. Use “the trick” of layering.This may sound strange, but Viewbuilder allows layers to be overlaid. This means using what viewbuider offers at all times, and not inventing code that complicates the tool.For example, if you create a main row,and within it you put 2 rowsthat will be displayed horizontally (“row A” and "row B"you can place a negative spacing inside the main row.This causes that row A remains still, and row B, moves to the left, superimposing a layer.you use spacing = -3, you will join the two elements. Imagine that in each main row you put several buttons. Thus, you can join buttons, or generate layers by making the tree grow by adding more rows.The same with the columns. You can combine columns with rows, and play with negative and positive spacing, as well as negative and positive margin, to better adjust your GUI.In this link you have an explanation of this concept.So it is possible, for example, to create a virtual piano.But it also allows you to better adjust pixel to pixel the distribution of your GUI, so it seems better ordered, or something different.
  10. Know well how to use “active”, “visible” and "add_child"and use the one that suits you best.
  11. The rest depends on your taste and your skill in the design of your GUI.
  12. And a basic rule. If you do not know something, ask it in the scripting forums of Renoise.For some reason, these forums are usually quite empty.In general, there is not much interest in building tools, and I think that’s why there are not many decent GUIs of tools either.
  13. And finally, a good GUI makes it easier to understand the tool. That’s why I’m continually fighting to create a minimally decent GUI.But my taste may not be to everyone’s liking. Each person thinks in one way.

I am still 50% of what I should know to make good GUIs. Imagine if I knew the rest.Believe me, it is possible to build even better GUIs.

PS: I’ve been watching your website. I see that you are many tools published for Renoise :).

I thought this is a Renoise 4 Update or something!. Looks like an independent - standalone program , but not a tool ! Waiting to test this out !Like you can call it Curvesculpt or something :stuck_out_tongue:
Btw, can i create a virtual sidechaine-alike curves with it?

I thought this is a Renoise 4 Update or something!. Looks like an independent - standalone program , but not a tool ! Waiting to test this out !Like you can call it Curvesculpt or something :stuck_out_tongue:
Btw, can i create a virtual sidechaine-alike curves with it?

:slight_smile:

View this:https://forum.renoise.com/t/development-of-vpdpro-automa32-some-demonstrations/48454

Download the XRNS (vpdpro-automa32-boomerang-demo.xrns) and view the envelope of Pre Volume inside the automation editor.You mean a curve like this?That constantly goes up and down the pre volume.This is possible because separate groups of points can be injected. For example, first the top points in a group (Y max), and then the bottom points (Y min), in another group displaced 0.010 in the time (X).And that with 4 clicks.

I listened to the demo song and looked at the automation waves. It’s interesting how there are things I don’t bother to consider because the automation would be too hard.

I just want Illustrator style automation points, it would make it very easy to make the curve the way you want it without too much hassle.

I just want Illustrator style automation points, it would make it very easy to make the curve the way you want it without too much hassle.

Is this not the same as what FFX says?You basically define a straight line with 2 points. Between those two points appears a handle to be able to stretch the line and turn it into a curve to your liking, without adding more points.

These things should be under the hood of the automation editor. In a tool it is impossible. The most similar thing is to autobender, but it injects many points, and that’s a bit of a mess. In theory, a curve should not have more than 2 points, origin and end, and attenuate it with a lateral handle.And of course, with tooltip in each point without clicking.

On the other hand, here are some practical examples of what Automa32 is capable of doing:https://forum.renoise.com/t/development-of-vpdpro-automa32-some-demonstrations/48454

[sharedmedia=core:attachments:7735]

These things should be under the hood of the automation editor. In a tool it is impossible. The most similar thing is to autobender, but it injects many points, and that’s a bit of a mess. In theory, a curve should not have more than 2 points, origin and end, and attenuate it with a lateral handle.And of course, with tooltip in each point without clicking.

Man !! cant wait to test it ! This will be really interesting in Dubstep and idm stuff ! Genius ! @_@

Man !! cant wait to test it ! This will be really interesting in Dubstep and idm stuff ! Genius ! @_@

Do you mean the supposed improvements that a new version of Renoise can contain with a better automation editor? Is that what you want to try? Then you will have to wait a long time. I do not want to be a pessimist, but I have not read anywhere that there are plans to improve the automation editor, either soon (next version 3.2) or in the future. I do not know.FFX seems to assume that the automation editor will receive improvements. I have doubts about it. But of all that there is of Renoise, it is the automation editor that I would most like that Renoise Team (Taktik) improve.

Meanwhile, I am entertained with Automa32.Now I understand why Danoise likes this to do the code of his tools. Sometimes I even engages programming, and I spend hours with trial and error, and when one thing works well, I feel fulfilled. I wish there were more people doing code to create tools, and I would discuss the code in the forums. I miss this kind of activity in the forums.

With Automa32 the whole goal is to create envelopes, not only small curves.This implies a much broader vision or field. For the experimental production, idm, sidechaining, etc,it can be a good tool.But I am very aware that all these functions, if they are really useful, should be integrated under the hood of Renoise, with an automation editor that allows to create complete curves and envelopes and manipulate them more easily.

With effect chains it is possible to create oscillating effects. But the automation editor allows you to draw different behaviors over time, and that’s great to coordinate with the flow of music.The most beastly thing is that the automation editor can control any parameter of any device within the chain, and that’s great. That’s why I want a much better automation editor. In fact, I’m sure many users do not use the automation editor because they do not feel comfortable with it.It’s a real shame, because it has enormous potential.

With a little control when selecting the work area, it is possible to create curves that respect certain symmetry, and that allows generating useful behaviors for the composition.In short, expand creativity by using the automation editor,do not conform only with the basic controls; for other work areas ok, but for the automation editor no, it should be much better, precisely because it allows controlling all parameters. I do not know if most of you are aware of the potential for this… It’s huge!!!

What? No. I don’t assume anything anymore, also have zero information about what is going on or not.

What? No. I don’t assume anything anymore, also have zero information about what is going on or not.

It will remain a mystery :lol:.

…No need for predefined presets, never won’t fit to the individual case.

…never won’t fit to the individual case. This has been a dilemma for me, when starting the code of this tool (Automa32). The reference I have taken is always to add curves from left to right, and to have the reference of the “value” of the last point (the one that has the last “time” in the envelope). I think that Automa32 will be able to include in intermediate sections also without influencing the rest of the envelope.

But there is another interesting subject to keep in mind. The composer can create the curve before composing the pattern. This provides a certain game when it comes to creating. Normally it is the other way around, you create the pattern, and according to the rhythm of the music or melody, you generate the curve or the whole envelope. But you can control all the parameters of the devices with envelopes, and this gives a lot of play, even doing the procedure backwards: create the curve first, and then compose the pattern.

Anyway I intend that Automa32 can offer an agile way of creating curves or complete envelopes, but also that you can adjust them in the corresponding section, both in the X (time) and in the Y (value).

I also had to think about a grid.For each pattern there is an envelope.This involves forcing a little the end of each curve so that it occupies the entire width of the envelope, and can work from the tool without having to add single points with the mouse.Adding a group of points ordered with one or two clicks can save a lot of work, even if it is a pre-set curve that does not fit your pattern, at least in most curves or simple lines.If it is a bit mismatched, you can always adjust a group of points by dragging.This tool forces us to work more with groups of “ordered” points than for single points (for single points it is better to use the mouse. The controls with the keyboard commands are not as agile).For this reason, at least with the automation editor, the more things you can do with the mouse, is better.

I must recognize, that of all the tools I have built so far, Automa32 is the most dynamic and fun.You can experience new things with curves. You will have curves impossible to create with the mouse and find new sound textures.

Edit: by the way, the Automa32 tool is already prepared to configure 96 preset curves, through 3 banks of 32 buttons.It is necessary to add the values of time and value of each point and the icon of each button. It’s fun! :slight_smile: