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?
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:
- 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.
- 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!
- 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.
- 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.
- Withviewbuilder there are several tricks that look great.
- Color elements, within the established limitations.
- 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)…
- Creation of icons I am very fond of building my own icons. 95% of the icons of my tools are mine.
- 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.
- Know well how to use “active”, “visible” and "add_child"and use the one that suits you best.
- The rest depends on your taste and your skill in the design of your GUI.
- 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.
- 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 :).