Where to start???

Is extensive research and computer science degree required in order to get a grip on all this scripting??? I’m a noob…

I would love to contribute to the community but I don’t know where to begin or if my ideas are even possible…

Tools I would like to see:

-VST brower for folders rather than authors

-modulate start, loop start, and loop times with the native sampler

-Auto MIDI mapping like Ableton

-Save and recall Grouped tracks

-Global Macros

-Time measuring tool that automates default pattern length, highlighted areas, LPB, and can change through out the song.

Any feedback is appreciated

Thank you all for your contributions!

Is extensive research and computer science degree required in order to get a grip on all this scripting??? I’m a noob…

Have you done any programming?

Have you tried doing relatively simple stuff, such as making your own tool that perhaps does no more than add a menu item or pop up a window?

Programming (broadly speaking) involves a few different things. You need to know something of the programming language in use (Lua, for example). And then if you’re scripting in a specific environment (i.e Renoise) you need to know what the options are and how they work. Often one can have no probelm getting a grasp on the programming language while getting stuck understanding a specific API for an application.

And then you need to be able to combine those things in ways to solve specific problems, such saving and recalling grouped tracks.

None of this requires a comp sci degree. Some research is needed; you need to know how Lua works, and you need to know something of the Renoise API (though mostly you need to have an idea of what’s possible and where to look for the details).

Lua is a very nice programming language that is, as languages go, simple enough to pick up with some self-study. There are a few core concepts that can serve as strong starting point (e.g the idea of “tables”).

There is a lot of example code to look at as well; I figured out how to write Renoise tools by looking at other people’s tools.

I’ve been programming for many years, but I still think that f you can grasp the key concepts of programming with Lua and start making your own tools by copying and hacking around with other people’s code you can do quite well.

You can always ask questions here and get help as well.

1 Like

modulate start, loop start, and loop times with the native sampler

You found a tool that does it, pretty much as good as the API allows:

https://forum.renoise.com/t/new-tool-3-0-loop-control/41463

Auto MIDI mapping like Ableton:

This comes pretty close?

http://www.renoise.com/tools/getpluginparams

Save and recall Grouped tracks

Hm, I guess you are looking for a way to save partial snippets of a song?

Phrases might be an interesting workflow to explore…I don’t think a tool exist for group-based “presets”.

Global Macros

Sounds cool, I wonder what they are :slight_smile:

Time measuring tool that automates default pattern length, highlighted areas, LPB, and can change through out the song.

Perhaps you could explain what you are trying to achieve here?

Hey Psynapsex,

Self taught renoise scripter here from zero programming background. Its a tough road but its great that you have some ideas for scripts already to get you motivated. You will need some spare hours and lots of patience.

It`s worth checking out the links danoise gave to save yourself re-coding anything already in existance.

If you want some Lua starters guides you can see them in my sig below.

I suggest reading the entire non C part of the reference manual after you have a basic grasp of lua, not to know it by heart but to know what concepts are already available, otherwise you’ll constantly be reinventing the wheel. Afterwards you should read the files in c:\Program Files\Renoise 3.0.1\Resources\Scripts\Documentation\ (assuming you’re on windows). The most important after the introduction is song.lua.

But all in all I suggest you go onto the renoise IRC and ask any questions there.

-VST browser for folders rather than authors

The contents of renoise gui elements can not be accessed directly (this is written in introduction.txt I believe), most parameters can though.

-Auto MIDI mapping like Ableton

I’ve edited the script danoise suggested a little to no longer require actual searching of the parameter name

[sharedmedia=core:attachments:5259]

Can’t quite remember what was in ableton, but it’s not possible to automatically bind any non-not-song-independent as you do with ctr-m.

-Save and recall Grouped tracks

Possible, but considered the complexity, you might just as well learn/set the keybind for saving an effects chain and load what you need from the disk browser via drag and drop or otherwise. There’s a tool calledxrni merger, you might look at that.

-Global Macros

If I understood correctly, use a hydra

-Time measuring tool that automates default pattern length, highlighted areas, LPB, and can change through out the song.

You can not edit those parameters, except LPB, also changing anything via scripting in close to real-time is not guaranteed, you can achieve pseudo realtime if you’re repeating code is efficient enough, Illformed made a efficiency benchmarking tool for lua scripts some time ago.

May I once again recommend coming to the IRC, you’d get answers for small questionsmuch quicker. :stuck_out_tongue:

You found a tool that does it, pretty much as good as the API allows:

https://forum.renoise.com/t/new-tool-3-0-loop-control/41463

No knob for “Sample Start” as opposed to “Loop Start”

Perhaps you could explain what you are trying to achieve here?

Exotic time signature menu maybe. A tala and raga generator would be cool too. Not sure really…

Off to the warehouse I go…

You can do a sample start for non loops by ‘automating’ via the api either a sample offsetcommand, the cool thing is that you wont have to worry about it not working correctly when playing back and the gui thread being overloaded, but you only have 256 positions in the sample though. Not sure if sample start would work with slice markers.

Is extensive research and computer science degree required in order to get a grip on all this scripting??? I’m a noob…

I would love to contribute to the community but I don’t know where to begin or if my ideas are even possible…

I’ve been programming for many years, but I still think that f you can grasp the key concepts of programming with Lua and start making your own tools by copying and hacking around with other people’s code you can do quite well.

+1 … I’m new to renoise scripting, but I’ve also been programming for many years (only some Lua … but now I have a reason to learn the whole language heh)

Personally, I plan to start here once I feel like I have some reason to dive into scripting – https://github.com/renoise/xrnx/tree/master/Tools/com.renoise.ExampleTool.xrnx

Make some kind of trivial change to this tool…even if you do not know Lua, you can probably figure out something that you can change so that you can see the result in Renoise…then see if you can package it up according to https://github.com/renoise/xrnx/blob/master/Tools/howto-package.txt, and see if it still works! (what’s the worst that could happen?)

Learning how to get into the debugger will also be critical, I’m sure. The not-so-fun side of programming is the hours (or even days!) you will spend tracking down your own bugs… I’d rather be writing tracks! You have to be able to figure out WTF is going wrong in your code – https://github.com/renoise/xrnx/blob/master/Documentation/Debugging.txt looks like it is a good intro into how to do this in Renoise.

There are " three great virtues of a programmer ; Laziness, Impatience and Hubris". You often don’t have to start from scratch, maybe there is already a tool that mostly does what you are looking for, but it just needs a slight twist or enhancement…might as well start there! One of the great things about everything being in Lua is that all of the tools are essentially open-source. If you have the .xrnx file, you can always unzip it, modify the source and repackage it…

Also a self taught tool maker here, you don’t need prior programming knowledge and lua is quite easy to pick up.

I suggest you set yourself the challenge of making a really basic tool, perhaps something to slice a sample into x number of slices, or fill a pattern with notes. You can build your skills from there.

Bonus tips:

  • Use the built in scripting editor and try out a few commands from the docs, you can try commands out and see their results without having to write a script.

  • Use the ‘Create Tool’ tool to save you doing lots of tedious steps: http://www.renoise.com/tools/create-tool

  • Learn to use the ‘oprint’ and ‘rprint’ commands

1 Like

It’ll be okay man, it’s just Lua. Honestly, I don’t think there are languages that are much more intuitive than Lua when it comes to being conductive to coding newbies who come expecting a procedural logic and simple type system. You’ll be fine.

The real problem is Haskell hackers like me who pick up some Lua and suddenly find, in a terrible flash of realization, that languages like Lua still depend heavily on cross-cutting mutable state and OOP, syntax that reminds me of something that doesn’t come directly from the heart of modern abstract mathematics, and kludges like duck typing. x(

cross-cutting mutable state and OOP, … kludges like duck typing. x(

… which other programmers enjoy a great deal! :slight_smile: