Simple linux VST with source code

Official support for: energy-xt.com
RELATED
PRODUCTS

Post

[del]AudioLinux sucks.[/del]

Post

jorgen wrote:plastique, did you manage to compile on linux?

cheers
jorgen
Nope, don't have Linux installed here right now. I wanted to put it onto my workstation but couldn't risk any ongoing projects up to now (would want to change mainboard as well if I do so etc.). I'll just install Linux now on my media computer just to prove the concept, and it can remain there for a while :)

I see no reason why it shouldn't compile though, if it works for you :D The GNU compiler is the standard compiler on almost every distribution now, isn't it ? I'll let you know how it went. The code looks ok, should be no trouble to also compile on Windows as well ...

Post

May be the VSTGUI3 is some usable thing. It is free available and has support for Motif. So its not far away from xlib :) But I have not idea if modifications are allowed? The VSTGUI is available free from sourceforge at http://sourceforge.net/projects/vstgui/

Post

Alright, could compile the synth with Bloodshed Dev C++ 4.9.9.1 on my Win2k machine

Had to change:

Code: Select all

#ifdef __GNUC__ 
AEffect* main_plugin (audioMasterCallback audioMaster) asm ("main");
#define main main_plugin
#else
AEffect *main (audioMasterCallback audioMaster);
#endif
into:

Code: Select all

#if __GNUC__ && (WIN32 || BEOS)
#define main main_plugin
extern "C" __declspec(dllexport) AEffect *main_plugin (audioMasterCallback audioMaster) asm("main");

#elif MACX
#define main main_macho
extern "C" AEffect *main_macho (audioMasterCallback audioMaster);

#else
AEffect *main (audioMasterCallback audioMaster);
#endif
for ext to recognise it as a dll

Works though :)

Post

Why exclude linux though and not go the whole way :)

Code: Select all

#if __GNUC__ && (WIN32 || BEOS)                // Windows or Beos
#define main main_plugin
extern "C" __declspec(dllexport) AEffect *main_plugin (audioMasterCallback audioMaster) asm("main");

#elif __GNUC__ && !(WIN32 || BEOS || MACX)    // Linux ...
AEffect* main_plugin (audioMasterCallback audioMaster) asm ("main");
#define main main_plugin

#elif MACX                                    // Mac OSX
#define main main_macho
extern "C" AEffect *main_macho (audioMasterCallback audioMaster);

#else                                         // others
AEffect *main (audioMasterCallback audioMaster);
#endif 
Does this seem right ?
Just from top of my head, gonna test once I got Linux installed :)

Post

Jorgen, be careful in using the vst name.

VST is copy written and trademarked by Steinberg, they own the name "Virtual Studio Technology" so there can be no such thing as "Linux-vst's".

If you don't use the Steinberg sdk then the can be called something similar, the reason why there is now LV2 and a new logo for it.

The sooner you have a new name and logo for your api the better!

A name and logo comp......? :hihi:

fake
You cant beat people up then have them say "I love you"

Post

fake wrote:VST is copy written and trademarked by Steinberg, they own the name "Virtual Studio Technology" so there can be no such thing as "Linux-vst's".
:?:

If you use the steinberg vst sdk, it's a vst instument/effect, right?
Image

Post

farlukar wrote:
fake wrote:VST is copy written and trademarked by Steinberg, they own the name "Virtual Studio Technology" so there can be no such thing as "Linux-vst's".
:?:

If you use the steinberg vst sdk, it's a vst instument/effect, right?
Yes but I dont think jorgen is planning on any api that depends on the steinberg headers. If any synth created does not rely on steinberg then it can't be called a vst or linux-vst.
If it relies on steinberg then it will be closed source as far as linux is concerned and could not be freely distributed.

Its the old problem of using mixed code in binaries and the gpl.

fake
You cant beat people up then have them say "I love you"

Post

fake wrote:If it relies on steinberg then it will be closed source as far as linux is concerned and could not be freely distributed.

Its the old problem of using mixed code in binaries and the gpl.
why not slap a bsd (or whatever) license on it then :shrug:
Image

Post

In any case, what is missing is the obligatory "VST technology by Steinberg" message or something along those lines.
Name change of the website ? You must be kidding ...

And then, I don't know where you get the idea that there will be a new api :shrug:

Post

Jorgen announced a while ago that he was developing a new api for linux and was developing "native linux synths", from what I understood it would not rely on any steinberg stuff. That way there would be no license problems and anything can then be redistributed easily within the linux rules.

I may have that bit wrong but the sample code posted does not rely on the steinberg sdk but is called a "simple linux vst"

What I'm saying is if it don't use the sdk it's not a vst and therefore cant have the name vst included. :shrug:
Personally I cant wait to get away from the sdk restrictions and I hoped any dev would keep away from it as it causes major problems with licensing on linux. One of the reasons why ladspa was born and why a new version slv2 is planned, and as lump said the reason why ardour and lmms with vst support cannot be distributed.

The waters are dark and plentiful.

So, what say you jorgen? :wink:

edit:

Just read the bit about including the sdk to compile :oops: ............... :roll:

fake
You cant beat people up then have them say "I love you"

Post

fake wrote:I may have that bit wrong but the sample code posted does not rely on the steinberg sdk but is called a "simple linux vst"
The sample code provided requires the vst sdk. Jorgen is just not allowed to redistribute the vst SDK itsef.. so you have to download it on your own from Steignberg. The point has been that the vst sdk will tend to compile fine on the linux platform, it's just that you have to rethink the GUI part (or that's been my understanding). ;)

edit: just read your edit.. :hihi:
ModuLR / Radio

Post

the source code comes in separate files

1) generic synth code, that can be made into a vst, ladspa, dssi or dxi plugin
2) an example on using the synth inside a VST pluing, this require that you get the sdk yourself.

It would be cool to add code for using the synth code inside other formats like ladspa or lv2 in the future (maybe when I get out of jail :hihi:)

cheers
jorgen
Half developer half human
XT Software
http://www.energy-xt.com

Post

:lol:

BTW, just compiled the two examples fine here (currently Fedora Core 6) :)
The first synth strangely shows some empty controllers when loaded into xt2 , the second synth shows the two existing ones correctly.

I had Knoppix installed before for a while (Debian), and I noticed the same freezing probs which was reported from others when dragging plugs into xt (KDE prob most likely ?) Also the plugin folder was not saved (not recognized ?) in the settings. Gnome seems to work fine though.

Not tried much else apart from installing a few linux variants and see which does what :cool:

Post

can anyone post some binaries?
zort!

Post Reply

Return to “energyXT”