Audio Programming Environment 0.3 - x32/x64 on win + mac (vst/au)!
-
- KVRian
- 876 posts since 24 Jun, 2002 from Berlin
fantastic! i've been meaning to do something like this with clang for a while. Is there a mac version planned?
-
- KVRAF
- 1579 posts since 14 Oct, 2002
-
- KVRian
- 876 posts since 24 Jun, 2002 from Berlin
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.
-
- KVRian
- Topic Starter
- 573 posts since 1 Jan, 2013 from Denmark
Hah, we could definately do that.arakula wrote:If you put it on Github, I could as well create an "Oldtimer" forkMayae wrote:e: i will consider rewriting it to conform to C++98.
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.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.
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.hibrasil wrote:fantastic! i've been meaning to do something like this with clang for a while. Is there a mac version planned?
Thank you so muchlalo wrote:great stuff!!! congrats and thanks!
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!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.
-
- KVRian
- 876 posts since 24 Jun, 2002 from Berlin
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.
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.
-
- KVRian
- Topic Starter
- 573 posts since 1 Jan, 2013 from Denmark
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).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.
VST3 is nice, but unfortunately a couple of hosts (including ableton) does not support it, which is why i initially dropped it.
- KVRAF
- 7890 posts since 12 Feb, 2006 from Helsinki, Finland
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).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.
- u-he
- 28063 posts since 8 Aug, 2002 from Berlin
-
- KVRian
- Topic Starter
- 573 posts since 1 Jan, 2013 from Denmark
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).mystran wrote: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).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.
I hope you docamsr wrote:Look forward to trying this out Mayae!
No problem.mn wrote:Looks interesting. Thank you.
True. This will most likely be implemented with the introduction of projects, instead of single files.camsr wrote:Very cool examples, but it needs a way to save the source code into the plugin for project recall.
Working on itUrs wrote:Looking forward to a Mac version!
- KVRian
- 519 posts since 12 Apr, 2010 from The Netherlands
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.
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.
-
- KVRian
- Topic Starter
- 573 posts since 1 Jan, 2013 from Denmark
Glad you like itTale 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.
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.
- KVRAF
- 7890 posts since 12 Feb, 2006 from Helsinki, Finland
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).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.