VST LUA beta -- midi scripting VST

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

contrast wrote:I emailed tzec some months ago and he mentioned that he was very busy and did not have much time for vstlua. The site has gone down a few times and he has gotten it back up eventually though.

I still have the source for at least the version I use (which is .06b1 with the console removal and host compatibility changes from .06b2). I can provide it or a compiled version for anyone who wants it. Or if it needs to go up on sourceforge; probably it would be best to at least email tzec to ask about that, if he does not show up in this thread.
tzec licensed it as BSD code, which is an even more liberal license than GPL. Redistribution is permitted as long as the license text remains intact. Here's the license section from Google's cache of his site:

* Copyright (c) 2007, John Williamson
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY ''AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.**

I'd say stick the source on megaupload or sharebee and post a link here.

Post

This is bloody genius!

I have a cheap and nasty e-drum kit which outputs a combination of note on messages and program changes. I can now use the program change messages to remap the incoming notes. Fantastic. My next job is to get it to interpret the NRPN messages sent out on cymbal chokes.

This now means I can use the BFD2 demo as a practice kit instead of the e-drums built in, bloody awful, sounds. Top Banana.

Thanks a lot Tzec, this is an excellent tool and some excellent work on your part. Kudos to you.

Pete

Post

damn, the web site is down again. Sorry, I'll try and get it fixed soon. Anyone who wants to has my blessing to redistribute it in any form -- that was the idea of the licensing it like that :)

Post

@tzec: Great work, thanks for checking in. Hope the Website's back up soon.

Why I shouldn't try to read while scrolling the screen: what I think I'm reading might not be quite right. Here's what my eyes told me I was reading:
~Pd~ wrote:ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARSING IN ANY WAY WITH THIS SOFTWARE [...]

Post

It's back up.I haven't had time to do much development in the recent year. I have a few things nearly finished, but don't hold your breath. If someone wants to put it up on sourceforge, carry on.

Post

Tzec, how to change colours on GUI? If I want to change colour on an activated button or add red colour on a LED button.

Post

The only way to do that is to replace the GUI control buttons (by creating a directory called gui/ and putting a button.bmp in there). However, you can currently only have one type of button -- so you couldn't have multiple colors. I'd need to extend the GUI funcionality to allow that.

Post

Touchscreens are going to replace many midi controllers soon. It is very realistic that a button on a screen will have more different functions, depending of different alt, shift, and growing number of foot switches. My suggestion would be that size and properties of GUI Button could be edited. To make them look like self-labelling buttons, with possibilities to show different characters along edges and in corners. This would allow alltogether nine "labels" i one button-one in senter and eight along corners and edges. Otherwise would it be waste of screen space to have many "labels" around and outside of buttons touchzone. With this would Vstlua be ready to meet increasing number of touchscreen users.

This example would be "improved" Fairlight Xynergi button :

______
|2 56 t|
|f 26 j|
|b 16 u|
|______|

Imagine that this is a regular rectangle. Max nine places to show buttons possibilities. In addition, different background colour and edge colour can give even more information.
Tzec, what do you think?

Post

Hi there,

Thanks for such a wonderful piece of software - this makes everything much easier!

I'd like to re-label VST parameters so that parameters are more easily identified on a hardware control surface with an LCD screen.

Is it possible to re-label VST parameters, or are they always set as "LUA 001","LUA 002", etc?

How do I rename them?

Post

tzec wrote: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!
this is super cool, I started working on a LUA environment with OpenGL based GUI toolkit a while ago but got stuck with some bindings with open source libraries and general timing issues. so I dropped the idea eventually.

does your VST instrument work in all the hosts? If i remember correctly not all of them can deal with instruments that send MIDI ?
Percussa Super Signal Processor Eurorack Module (SSP) | 16in/8out @ 192kHz/32bit DSP module | polyphonic wavetable, granular, sampling, and more | modular in a module | multichannel recorder

Post

I suggest to share our scripts.

this is mine:
midilooper_multiChannel for live use.
go to: here

at the moment file/save loop doesn't work properly (needs coroutine func.)

Post

Does anyone have this?
Tzec's Site is down...

Post

I so would use this right away, but:
tzec wrote:Download it here: http://t-zec.org/vstlua/

Image
The webpage "t-zec.org" cannot be found

DNS error occurred. Server cannot be found. The link may be broken.
Best regards from Johan Brodd.
JoBroMedia since 1996.

Post

Still so...
"Until you spread your wings, you'll have no idea how far you can walk." Image

Post


Post Reply

Return to “Instruments”