Page 1 of 15

VST LUA beta -- midi scripting VST

PostPosted: Mon Nov 05, 2007 10:13 am
by tzec
Being frustrated with the number of small utility VSTs that are often needed to do simple midi tasks, I decided to write a simple, clean VST which could easily script MIDI manipulation. And, thus, VSTLUA was born. The lovely language Lua is used for simple and efficient scripting.

This allows you to quickly develop scripts to mangle midi events and test them without the pain of VST development. It has a basic custom GUI system, so GUI controls can be scripted from Lua.

Here's an example script (in its entirety):
Code: Select all
--simple keytracking for synths that respond to CC74
function midiEventCb(event)
    if event.type==midi.noteOn then
        mevent = setCC(74, event.byte2/2, event.channel)
        mevent.delta = event.delta
        sendMidi(mevent)
    end   
    --remember to send the original event!
    sendMidi(event)       
end


Download it here: http://t-zec.org/vstlua/

Image

Remember, this is beta and chances are, it won't work for you. Let me know what happens and I'll try and fix it. And post your scripts so I can include in future releases!

PostPosted: Mon Nov 05, 2007 10:19 am
by Dewdman42
:love:

OMG, this has been on my todo list for years. Looking forward to checking this out. thanks.

PostPosted: Mon Nov 05, 2007 10:25 am
by whyterabbyt
many thanks indeed. :D :D

PostPosted: Mon Nov 05, 2007 10:37 am
by robenestobenz
Incredible stuff. Something like this has been needed for ages and it's going to get a lot of use here.

PostPosted: Mon Nov 05, 2007 10:54 am
by shamann
Neat. Looking forward to trying it.

PostPosted: Mon Nov 05, 2007 11:01 am
by Dozius
:hyper:

PostPosted: Mon Nov 05, 2007 11:53 am
by pljones
Have to add to the "well done" sayers! This could save tons of problems.

PostPosted: Mon Nov 05, 2007 11:57 am
by koolkeys
Wow, this sounds extremely useful. I've been intrigued by the KSP language and all it can do, and so this also gets my attention. I really think this will become immensely popular around here.

Many thanks!

Brent

PostPosted: Mon Nov 05, 2007 12:03 pm
by mauseoleum
Hmm why don't you hack the SciTE source to do lua midi mangling stuff as well :P

j/k

PostPosted: Mon Nov 05, 2007 12:11 pm
by foosnark
Brilliant. :party:

PostPosted: Mon Nov 05, 2007 12:20 pm
by Dewdman42
What is SciTE?

PostPosted: Mon Nov 05, 2007 1:05 pm
by rl
looks great, but...
how is it supposed to work? e.g. print_notes.lua shows incoming notes, but it doesn't seem to send midi. When loaded in ext2 it does not show a midi out connection

PostPosted: Mon Nov 05, 2007 1:13 pm
by tzec
err, it should show a midi out connection. I must have missed something out in the VST initialization that eXT expects. Try drummachine.lua -- that definitely should produce output.

PostPosted: Mon Nov 05, 2007 1:21 pm
by runagate
tzec, that looks immensely useful

tagging this thread for when I have time to learn to understand it 8)

PostPosted: Mon Nov 05, 2007 1:24 pm
by marce
Very Intersting!

I use Harmony Assistant, a Notation and music editor, that use scripts for all kind of tasks (enhance notation, filter midi things, etc) and it use the LUA language. It has made Harmony very powerfull, since users can make their own features and add to the program. If it can make something similar to the midi processing in this VST, i guess your VST will be a succes.