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

FLWrd wrote:Great! I'm going to give it a try!
I got it to work. Pretty easy, but during validation (on opening Logic), I got the message 'cannot open document "Untitled"' a few times. I'm going to try a few things with it. Thank you very much for the effort you put into this.

Post

FLWrd wrote:
FLWrd wrote:Great! I'm going to give it a try!
I got it to work. Pretty easy, but during validation (on opening Logic), I got the message 'cannot open document "Untitled"' a few times. I'm going to try a few things with it. Thank you very much for the effort you put into this.
Nice, excited to hear. Yes, that is a small bug - pretty harmless.

It happens if you open ape and don't open the editor, and continue to save the project and recall it (the editor never opens a textfile, and thus when it is restored it is asked to restore a 'untitled' file). Pretty stupid but it is fixed next release. :)

Thanks for trying it out.
camsr wrote:I will put it through it's paces soon,trust me :D
8)

Post

This tools is fantastic for prototyping.

I've created a simple lua build script so that I can modularise a little :) The script concatenates header/implementation files based on a list of modules with the headers being written first.

Code: Select all

--  ---------------------------------------------------------------------------
--  Writes .h/.c files into a single .c file for APE
--
--  example ape_setup.lua
    --[[
        setup = {
            modules = {
                apeMain,
                iirFilter
            },
            
            output = "outputFile.c"
        }
    ]]--
--
--  Header files are written first, so from that setup, the following files in
--  the order below will be concatenated into "outputFile.c":
--  1. apeMain.h
--  2. iirFilter.h
--  3. apeMain.c
--  4. iirFilter.c
--  ---------------------------------------------------------------------------


function loadSetup()
    return dofile ("ape_setup.lua");
end

function writeModuleWithExtension(extension, modules)
    for i, currentModule in pairs(modules) do
        local filename = currentModule .. extension
        local file = io.open(filename, "r")
        
        -- File exists ?
        if file ~= nil then
            io.write(file:read("*all"), "\n")
            file:close()
        end
    end
end

function writeModules(outputFile, modules)
    io.output(outputFile)
    
    writeModuleWithExtension(".h", modules)
    writeModuleWithExtension(".c", modules)
    
    io.output():close()
end

function main ()
    local setup = loadSetup()
    writeModules(setup.output, setup.modules)

    print("Press any key to continue ...");    
    io.read()
end

main()

Post

looks very promising
Why should something easy be simple?

Musica Electronica
Free tracks
BCR2000 presets

Post

It would be great if I could load my code through a build script, then it's just F7 to immediately see if it compiles, and there can be a parameter to automatically activate if successful too :)

Post

NM

Post

It would be a awesome addition for the KVR DC . I will check it later.

Thx for the hard work!

Post

Will there be a way to add more inputs in the future?

Post

keldon85 wrote:This tools is fantastic for prototyping.

I've created a simple lua build script so that I can modularise a little :) The script concatenates header/implementation files based on a list of modules with the headers being written first.

Code: Select all

--  ---------------------------------------------------------------------------
--  Writes .h/.c files into a single .c file for APE
--
--  example ape_setup.lua
    --[[
        setup = {
            modules = {
                apeMain,
                iirFilter
            },
            
            output = "outputFile.c"
        }
    ]]--
--
--  Header files are written first, so from that setup, the following files in
--  the order below will be concatenated into "outputFile.c":
--  1. apeMain.h
--  2. iirFilter.h
--  3. apeMain.c
--  4. iirFilter.c
--  ---------------------------------------------------------------------------


function loadSetup()
    return dofile ("ape_setup.lua");
end

function writeModuleWithExtension(extension, modules)
    for i, currentModule in pairs(modules) do
        local filename = currentModule .. extension
        local file = io.open(filename, "r")
        
        -- File exists ?
        if file ~= nil then
            io.write(file:read("*all"), "\n")
            file:close()
        end
    end
end

function writeModules(outputFile, modules)
    io.output(outputFile)
    
    writeModuleWithExtension(".h", modules)
    writeModuleWithExtension(".c", modules)
    
    io.output():close()
end

function main ()
    local setup = loadSetup()
    writeModules(setup.output, setup.modules)

    print("Press any key to continue ...");    
    io.read()
end

main()
:) I'm glad people put it to use!

Interesting script. I thought of adding build phases, but I'm not sure if it's the right direction for APE (making it more bulky, standardish IDE)?
jeejeestudio wrote:looks very promising
It is!
avasopht wrote:It would be great if I could load my code through a build script, then it's just F7 to immediately see if it compiles, and there can be a parameter to automatically activate if successful too :)
Noted for next version (and it can be tedious to press both buttons constantly).
wehkah wrote:It would be a awesome addition for the KVR DC . I will check it later.

Thx for the hard work!
I thought about that too, but looking through the rules it has to be new though :(
camsr wrote:Will there be a way to add more inputs in the future?
Should only be a matter of recompiling it

Post

So that means v0.4 will have them? or..
"camsr, stop being lazy and compile the project yourself" :D

Post

camsr wrote:So that means v0.4 will have them? or..
"camsr, stop being lazy and compile the project yourself" :D
Looking through the code, there's only one file that deals with the buffers (the engine) and it should resize the buffers (that is, amounts of buffers) automatically, so it should really be a matter of telling juce which i/o configurations are supported on compilation.

It will be included in v 0.4 for sure, but it might be a month or two before it will see the daylight, i need to deal with exams firstly. If i have some sparetime i might release a small update though.

Post

Thanks, appreciate the effort very much so far!
I might try compiling it myself, what file do I need to modify?

Post

camsr wrote:Thanks, appreciate the effort very much so far!
I might try compiling it myself, what file do I need to modify?
Do you have the juce / vst / au sdks? and what target are you compiling for (platform, architechture?)

Post

I just have the VST SDK, targeting windows and x86 VST mainly, x64 less.

Post

camsr wrote:I just have the VST SDK, targeting windows and x86 VST mainly, x64 less.
What input/output configurations do you have in mind? Ill just try and see if i can get it working.

e: this seems to work without much hassle:

Image

However i haven't got logic to recognize it as a 5.1 capable plugin, yet..

Post Reply

Return to “DSP and Plugin Development”