Prepare Yourself For Renoise 2.6 Scripting

so can somebody give me an idea of the kind of things that will be possible when this new scripting functionality becomes available?

I used to write music when I was tired of programming! (Which used to involve a fair amount of programming/coding).

So your saying my relaxing hobby will make me actually think again, instead of just mashing keys on my keyboard and hearing what comes out!? =)

I have absolutely no idea why a scriping language would be useful. I’m not doubting it, and I’m sure it’s even discussed in several pages in the 2.5 beta thread… but I just don’t understand really. Unless it’s things like opening files when another is done, things for live performance or something. But within a song itself doesn’t the interface provide what we need without needing to code something?

Well, it’s obvious that wouldn’t be done without reason so I’m sure I’ll find out why. I was hoping for some features in the latest release that would make playing looser timings and more organic music a bit easier to digest. (Count-in, sliders instead of hex on delay timings). Anyways, I guess everyone has their priority list. =)

I bet with scripting one can create groove per track through calculating delay values?

well, i think it would be enough to provide a basic api listing. or a special flag hidden and marked unsupported that allows loading lua scripts externally in a renoise 2.5 beta ;)

personally, I am willing to add some devices for supercollider allocation and control of synths; i just finished my thesis about my own sequencer that uses supercollider externally for audio-synthesis (of course, in realtime), so most of the code would be a matter of porting and filling the gaps (additional OSC message handling).

I hope the renoise api will facilitate to save own config/preferences data in project files.

scripting :ph34r:
i’d like to get started, but it’s just a daunting little universe.

Well, the main reason we’ve added it was because we needed (or lets say wanted) it internally. So even if no one here will find it useful, its no big deal after all.

Further, of course no one will force you to write scripts, but of course you can also use scripts that others have written - if you find them useful. If there are many useful scripts, we maybe do end up in something like this: https://addons.mozilla.org/en-US/firefox/ where you can look for extensions that others have been done for you.

Regarding what you can do with it and what not:

Right now its limited to non audio real time operations. You can access/manipulate the whole document (notes, instrument, track settings and so on), access sample data (generate, process samples) and can create GUIs for all this that just look like Renoises GUI: Creating a dialog to set up options or to create your own editor, whatever. Or your tools to Renoises context menus, add custom key Bindings, custom MIDI mappings and so on.

You can right now NOT create new DSPs, can not interact with Renoises audio player directly. Right now. This thing is not done yet, thus I can not promise what finally will be possible and what not. We simply don’t know yet.

And hold your breath. This is not going to be released that soon. We’ve got to finish Renoise 2.5 first, then concentrate on this again.

Patience and prayers to the heathen Gods of Hex have always worked so far… Although I don’t think my mortal imagination can comprehend the vast awesomeness if the Gods of Hex would bestow their powers to co-create the Hexiverse upon us… Taktik, just in case, I brought a blood offer to the Alter… I hope you like gutted pig!

…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 :)