Renoise Expressions

/me has been meaning to play about with buzz for a while now.

Damn I hate working all the time :-/

I’m -totally- for anything that deals with scripting inside of renoise.

I like scripting :)

wow! i was hoping this discussion would get resurrected…

so what’s renoisescript based on? lisp? python? ruby? :lol:

i hope a kinda simplified c.
rEnOiSeBaSiC would be fine too ;)

C64 Assembly

Nah Z80 all the way :)

an SQL style language would work well for pattern editing… i mean the pattern is just a big table with typed fields. would be a yummy way of doing advanced edit type stuff without a mouse… sigh :rolleyes:

Z80? what the f****!?! ok… my new vote’s for qBASIC…

Z80 Assembly rulez 4eva! Second that. It’s simply and effective :yeah:

To be truthful I can’t actually remembe any of my Z80 codes. Been a long time since I had to touch it ;)

Yeah pretty long time passed … So i still remember some codes…like LD or JP :P
But i’ve completely forget special coding technix and combos :(

ECMA standard would be my suggestion. JavaScript/Java/Actionscript2/C++/C#. These languages are immediatly readable by total newbies if written easily. MyObject.myProperty = myValue; Perhaps ditch stuff like semicolons and have python-style blocks, such as tabs instead of {} and linebreaks instead of semicolon.

hi guys, nice idea!
did any dev ever say they are
going to look into this type of feature?

there was a little hint from taktik that this is not a bad idea at all. ;)

Sounds like a useful feature.
ECMA-ish is probably the way to go. It’s familiar and very readable. Maybe Kontakt 2’s scripting language? ;)

bump

I’ve thought about this before too, come on devs!
Let’s see this in the next round of voting eh?

I imagine some new pattern commands would be needed for this, one being:

X00 - trigger script - script number

The script editor could have FF ‘slots’ in a library for the little programs, which could be triggered with the new pattern command.

So if you wanted to link mastervolume to an LFO momentarily:


SCRIPT1:
_root.MasterVolume = _track3.device4.LFOamplitude;

SCRIPT2:
_root.MasterVolume = 100%;

Then in the pattern editor you could turn this ‘effect’ on and off by triggering the programs:
X01
X02

What would also be nice:

WHILE loops.

It would be good to be able to have local variables inside each script, and then also access to the _ROOT variables of the whole track (mastervolume, tempo, etc). Each script ‘slot’ could also access the variables inside other running scripts, eg:

Inside SCRIPT1:

_root.MasterVolume = _root.script23.x;

I’m gibbering a bit here but you get the general idea, I want the scripting to be like Flash Actionscript basically…

Please, more discussion, this needs some serious thought as it would make Renoise the absolute mintest music program in teh world!

I think everything that’s sayable about this topic has been said. If the Renoise team decide it’s worth spending time on, i’m sure this discussion will be resuscitated.

Flash actionscript is a good comparison. I’m not sure if you’d need triggerable scripts though, we already kind of have that. The important thing is being able to automate a great number of changes by connecting attributes.

To keep the flash actionscript image in mind, here’s a renoise script as i’ve pictured it:

onTick{
if(song.position>=song.length/2){
master.volume = 40;
}
myFilter.resonance = myOtherFilter.cutoff = myDistortion.wetOut/2;
if(master.output>master.maxOutput){
myCompressor.ratio = master.maxOutput-master.output;
myCompressor.active = true;
}else{
myCompressor.active = false;
}
}

onEnterPattern{
myFilter.cutoff = song.position/song.length*100;
}

Very pipedream right now… I guess all the scripts would have to be compiled somehow after you’ve written them, so you’d have a “compile on save” function or a compile scripts button. This stuff would seriously slow down playback if it’d have to be interpreted at runtime.

How many developers are working on Renoise?

This sounds like a great idea, but a useful script language sounds like a complicated project on its own. Renoise needs more active developers for it all to be realistic.

Just out of interest, is there a VSTi that has its own scripting language? Or something which is tailored for script heads?

i remember, there was an unfinished java-vst somewhere. otherwise i saw
a formula controller in fruity loops (as u can use fruity as vst).
buzz has a pythonscript- machine called Pybuzz (by paniq).

and to your question:
check this

( :lol: next time ill try it first, i think its currently unavailable, sry)

ohmy sunjammer is preaching my gospel! scripting in renoise would be oprah tits :)

Great idea! - maybe it’s not worth the time to develope in version 1, but could be a serious feature for a version 2 feature.

I’m still longing for recording and/or better midi command modulations (pitch etc.). Maybe expressions could help here, to make custom pattern commands? :rolleyes: