Prepare Yourself For Renoise 2.6 Scripting

…and I was just about starting to learn Python for scripting in Reaper - and now Lua comes in on the radar… well Harmony Assistant uses Lua as well so it makes sens for me anyway. I’m really looking forward to what this community will create extending Renoise :dribble:

… cool, I started to learn Python in order to do scripting of Renoise rendered xml data (that I’ve stored on HDD). :)

Btw, thanks for the information about this Harmony Assistant software, I’ll check it out because it sounds interesting. Have you checked out Synfire Pro and Harmony Navigator?

These kinds of tools, along with Melodyne and some other cool stuff, make a lot of difference to the process of music production. Renoise’s scripting will (hopefully) open up for many new tools that saves us time and gives us more inspiration to produce kick-ass music.

Lua is a very cool language. It doesn’t take much time learning the basics because the basis are very simple, but it’s well conceived and has quite some depth in it. If you know some javascript, the structure of lua is quite similar, even if the syntax is different.

What i like is that you dont have to use an object oriented paradigm, but if you want to, it lets you do so with some syntactic sugar.

I want to thank you devs for doing that. I remember posting about a year ago about how a scripting engine to renoise would be nice, and remember being told that it was way too complicated (by some user). I’m happy i was right, and i sincerely think you wont regret doing that.

Also i fear you’re gonna see a few homemade piano rolls in the next monthes :D

Harmony Assistant is a very mature software and I think you can compare it with Sibelius and Finale - and cost €70! It’s continously developed since 10 years or so… the community is just as friendly as the Renoisers here… Score editors and trackers have more in common than with piano roll sequencers. Monophonic tracks and strict quantize grid (limitations that now can be overidden…)

Yes, I’ve previously checked them out a bit… Synfire looks very very interesting. But the price €890 is completly out of reach for me. Harmony Navigator is also very tempting but I went for Harmony Assistant instead. Not the same though…

Curious here, could this potentially mean (batch)processing the sample(s) in sample editor/instrument list with offline-timestretch and/or offline convolution reverb? B)

yes, you will have read/write access to instruments an an array of references, samples as an array of references inside each instrument, and sample data as an array of samples (i.e.: actual bytes of audio) inside each sample.

Had kinda hoped it might be LUA, while I’ve not sat down and learn any properly yet I have seen it in use and tried to get ot grips with a few scripts as it’s used for scripting in a freeware game I was playing/wasting my time with a while ago. They were doing scenarios with it and planning on using it for their improved AI so I could see it was quite powerful and looked quite graspable.

Python could of been good if that’s what Reaper uses though, as a lot of people do use both alongside each other…

As long as Lua’s OS library isn’t crippled too much, stuff like os.execute() might still enable us to use our Python scripts (or scripts made in whatever language) outside of Renoise and get that data back into Renoise.

Super-cool feature: launch scripts via MIDI. E.g. assign a button on your midi-controller to launch a script that takes the pattern selection contents and processes it. I see thousands of possibilities, and just as Peter Kirn at Create Digital Music suggests:

Renoise might very well set new standards in the entire DAW world, because it will definitely become the choice of music production for a lot of creative nerds, who won’t be late to add their own ideas/scripts to the overall software experience.

Looking forwards to a live beat chopper type affair.

Track Group 1 - Drums: Cut into 16 slices and rearranged on the fly on a grid pattern, any section reversible, multiple slices playable at a time. :D

Some of the Live possibilities that will hopefully open up with this are going to be astounding!

its going to be our very own version of max4live

just way cooler :drummer:

PÖEPLEZ OF PLANET EARF! I may just have the right thing for anybody wanting to have a dabble… LÖVE! for Win/Mac/Linux :D

http://love2d.org/

I don’t think it can possibly get any easier than this… there’s a bunch of cute demos included, too.

Just started getting some grip on Lua. After dozen of lines I can say it’s not
that bad but I’d prefer Python still… However the latter is too big to be
embeddable so Lua is the right choice.

For me the major advantage will be manipulation of patterns. For an example I
have just a common 64 sized one but I need add few triplets (in a convenient
way). The best would be scale pattern by 3x (to 192), do recording and then
shrink it back (using delay column values) to 64.

wow yes radek! this would be VERY useful… someway of expanding and shrinking pattern length with patterndata and its relation to each other kept intact! i really really hope this gets done :)

Wow, lua scripting in renoise? This is getting seriously wicked :P

Precisely I was thinking yesterday: if only renoise could be scripted, blender style, so people like me could use renoise as a source for demotools, without having to write a separate exporter in python/php/whatever that would parse the song.xml and extract the interesting data and all that… Yeah and now I see this thread :)

Looking forward to it!

Almost tempted to start a new thread with another possible game/way to start getting used to what we need for scripting in Renoise.

Let me introduce Glest.

http://glest.org/en/index.php

Freeware real time strategy game, based quite solidly around XML for game parameters and user modifications, additional troupes, armies, skills etc etc. XML is also used by Renoise for all song data so this may help you get your head around that.

Now vanilla Glest has been pretty much superseded by Glest Advanced Engine. This adds a fair amount of other functionality, most important to us is LUA scripting for AI, scenarios and more. Maybe a chance to also get familiar with LUA :)

GAE seems mostly to be kept up to date and linked through stuff on the main Glest forum.

http://glest.org/glest_board/index.php?board=15.0

Last time I actually looked at this was 6-9 months ago when trying to find a freeware RTS that me and my housemate (who is far more of a games fan than me) can play against each other so not sure how active it currently is.

Since taktik has already confirmed that the 2.6 scripting engine will, after all, be able to make you coffee in the morning :rolleyes: – we might just push this even further than ever before!

Let’s go for the Unreal Development Kit ( http://www.udk.com/ ), develop a 3D-game that assigns XML and soundfiles to physical objects or zones, then we can simply wander around in that game and compose music along the way while the .xrns gets rendered in the background. :)

No, seriously, let’s cut it. We don’t want to upset taktik now when we’re so close to finally get scripting. Let’s refrain from speculations and I-will-make-this-cool-stuff-with-the-scripting-engine posts. Let’s just do it, when we have it.

I only meant something to get you used to the syntax and learning how to call procedures that will allow you to edit xml from lua, as that is something that has been stated will be possible. Somewhere that both xml (which Renoise uses for song data) and lua (which we have been told will be the scripting language) are already both used together.

Obviously the API will not be in any way the same and we can not expect the same functionality or anything like that but there is no harm with trying to get to grips with the basics with some such method as far as I can see.

If you’re already quite savvy at programming, know xml well and already understand the song’s xml structure then there is probably no point. For others it may be useful, and possibly even fun.

I love a good mystery.

I somewhat recall what could have been the beginning of this.

Taktik posted a question to us about 2 years ago I believe, if we thought it would be cool to have scripting.
Everyone said yes, of course. :)
Also during this, Taktik sort of alluded to the idea or more that we would do be able to do much more within a similar vein of the advanced edit panel. *Like an enhanced & advanced edit panel, that extends outside of renoise, or least that’s what I got from all of it.

What I kind of glean from this adding of LUA support, using the previous info and what the Team Members have already said isn’t possible* :) I believe that basically we will be able to do things similar to what we can do from the advanced edit, only greatly enhanced in 2.6. By being able to direct all kinds of new methods into the pattern editor.

more LUA toyful! :w00t:

http://code.google.com/p/grafx2/

Well, let’s first wait and see who shall be the first person to create a new nibbles version in Renoise with the existing API already before adding extra toys and plugins…