Audio Programming Environment 0.3 - x32/x64 on win + mac (vst/au)!

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

fantastic! i've been meaning to do something like this with clang for a while. Is there a mac version planned?

Post

great stuff!!! congrats and thanks!

Post

i read the OP in more detail. If you'd like any help porting this to IPlug (or JUCE) i'd be happy to assist. If it's going to be an open source GPL thing anyway JUCE might be simpler since it already has a code editor built in, any many nice options for the GUI.

Post

arakula wrote:
Mayae wrote:e: i will consider rewriting it to conform to C++98.
If you put it on Github, I could as well create an "Oldtimer" fork 8-)
Hah, we could definately do that.
Doogle wrote:This looks ace and I'll be giving it a go soon.

Just wanted to say though.... if you wanted to move away from TCC, take a look at clang, part of the LLVM project. It takes up a bit more disk space, but it'll build SSE* code and can do auto-vectorisation. The entire LLVM system is a joy to use and incredibly powerful, whether being used as command line tools or integrated libraries.
I hope you do! Yes I've been looking at clang for a long time, and i'll most likely develop a compiler for this project in the near feature. Goal is to have many different compilers and support many languages as well. I was hoping to look at python soon, as well.
hibrasil wrote:fantastic! i've been meaning to do something like this with clang for a while. Is there a mac version planned?
Yes, there is. Currently, the only obstacle is I haven't been able to find libtcc for OS X. The core itself and scintilla should be nearly ready. Then there's the problem with VSTGUI and 64bit on OS X, which i honestly dont know what to do about. 32 bit should be possible though.
lalo wrote:great stuff!!! congrats and thanks!
Thank you so much :)
hibrasil wrote:i read the OP in more detail. If you'd like any help porting this to IPlug (or JUCE) i'd be happy to assist. If it's going to be an open source GPL thing anyway JUCE might be simpler since it already has a code editor built in, any many nice options for the GUI.
That would be amazing. I haven't found the time to look at JUCE but i didn't actually know it was GPL. I would prefer a smaller library like IPlug but if JUCE also incorporates GUI design (IPlug doesn't, right?) it might be a more simple solution!

Post

IPlug does have GUI functionality, but it is basic compared to JUCE, or Qt etc. You can see a gallery of IPlug creations here: http://forum.cockos.com/showthread.php?t=122276 , so there is quite a lot that you can do. To be honest both JUCE and IPlug are quite large libraries.

It might be worth investigating VST3 since it supports dynamically changing the i/o and the parameters of a plugin IIRC. I have developed a new version of IPlug (not yet public) which is built on top of VST3 which I can show you if you like.

Post

hibrasil wrote:IPlug does have GUI functionality, but it is basic compared to JUCE, or Qt etc. You can see a gallery of IPlug creations here: http://forum.cockos.com/showthread.php?t=122276 , so there is quite a lot that you can do. To be honest both JUCE and IPlug are quite large libraries.

It might be worth investigating VST3 since it supports dynamically changing the i/o and the parameters of a plugin IIRC. I have developed a new version of IPlug (not yet public) which is built on top of VST3 which I can show you if you like.
Okay. Well i consider VSTGUI 3 to be pretty basic and i'm fine with that (i'm not gonna spend time on graphics myself, unless it severely strains my eyes).

VST3 is nice, but unfortunately a couple of hosts (including ableton) does not support it, which is why i initially dropped it.

Post

Mayae wrote:Yes I've been looking at clang for a long time, and i'll most likely develop a compiler for this project in the near feature. Goal is to have many different compilers and support many languages as well. I was hoping to look at python soon, as well.
If you want a dynamic language, you should try embedding LuaJIT. It implements Lua with a combination of a fast interpreter and a ridiculously good trace-compiler and it's very nice and clean package to embed (that's what Lua was designed for).

Post

Look forward to trying this out Mayae!

Post

Looks interesting. Thank you.
Regards, Mike
Image

Post

Very cool examples, but it needs a way to save the source code into the plugin for project recall.

Post

Looking forward to a Mac version!

Post

mystran wrote:
Mayae wrote:Yes I've been looking at clang for a long time, and i'll most likely develop a compiler for this project in the near feature. Goal is to have many different compilers and support many languages as well. I was hoping to look at python soon, as well.
If you want a dynamic language, you should try embedding LuaJIT. It implements Lua with a combination of a fast interpreter and a ridiculously good trace-compiler and it's very nice and clean package to embed (that's what Lua was designed for).
Yea, I've been looking at LuaJIT - I'm definately gonna play with it at some point. I'm not so sure how LUA fits to DSP code though (no built in complex numbers - if you're using a dynamic language anyway, no integer math).
camsr wrote:Look forward to trying this out Mayae!
I hope you do :)
mn wrote:Looks interesting. Thank you.
No problem.
camsr wrote:Very cool examples, but it needs a way to save the source code into the plugin for project recall.
True. This will most likely be implemented with the introduction of projects, instead of single files.
Urs wrote:Looking forward to a Mac version!
Working on it :)

Post

This is pretty cool, thanks! :)

Just fooling around a bit, and comparing APE to REAPER JS: APE is about 25% slower, testing with a Fourier series square wave oscillator. Not too bad I guess.

A random issue I happened to run into: If I press Ctrl-S in the editor it inserts a "DC3" char instead of saving the source file.

Post

Tale wrote:This is pretty cool, thanks! :)

Just fooling around a bit, and comparing APE to REAPER JS: APE is about 25% slower, testing with a Fourier series square wave oscillator. Not too bad I guess.

A random issue I happened to run into: If I press Ctrl-S in the editor it inserts a "DC3" char instead of saving the source file.
Glad you like it :)

As it says in the manual, hotkeys are not supported ;)

Okay, so due to the growing amount of comments about TCC and its speed, i have written a system wrapper compiler, that allows (through .bat files) to use external compilers. I had fun using visual studio's compiler. Right out of the box there was at least 4x speed performance improvement. Oh, and it can ofcouse understand C++ ;)

This also opens up another world of possibilites. So long as you through a set of .bat commands can produce a .dll, APE can run it directly. This means you can write in delphi/pascal if you have a compiler for it, or c/c++/asm if you have GCC or visual studio on your computer.

I will probably release an update over the weekend containing this, and some bugfixes.

Post

Mayae wrote: This also opens up another world of possibilites. So long as you through a set of .bat commands can produce a .dll, APE can run it directly. This means you can write in delphi/pascal if you have a compiler for it, or c/c++/asm if you have GCC or visual studio on your computer.
Yeah, that sounds like a great setup actually, as it also means it's possible to do custom preprocessing as well (essentially, C++ templates are not my personal favorite code-generation framework). :)

Post Reply

Return to “DSP and Plugin Development”