SynthMaker

External DLL support

Archive · 2006 22 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

ffx ·

Hello,

wouldn't it be nice to have the ability to include external DLLs for example for including C++ programmed DSP code or resources into SM projects?

Thanks & regards,

ffx 🙂

infuzion ·

welcome to the forum FFX Does it have to be C++? I want to program in Rexx 😉

Shifrin ·

I voted don't care as I personally have no use for such a feature, indeed I dumped C++ for SM! I could see uses for it, but I'd probably stay clear of such things 😉

REXX?! Woah, I've not heard that mentioned since I used to dable with ARexx on my Amiga many years ago 😮 😀

Bring on the Brainf**k interpretor 😈

Shif.

ffx ·

Also it would be cool if there was a processor detector module available, so I could load different optimised DLLs for each cpu type.

ffx ·

Hehe, who vote for no???

stefan ·

If I'd feel it was right for me to vote I would vote no 🙂 I want SynthMaker to be as self-contained as possible, and hence I want as much as possible to be doable _within_ SM, instead of externally. When I started using it, it was instead if C++, so for all my DSP stuff, I stopped using C++ and started using SM instead.

Why not do your DSP code within SM? I know some things are a bit cumbersome, but it'd be good to know what's hindering you.

Cheers!

rl ·

stefan wrote: ... Why not do your DSP code within SM? I know some things are a bit cumbersome, but it'd be good to know what's hindering you.

Cheers!

here is why I would vote for a SDK (even if it had limited possibilities):

- no support for double (sometimes needed) - currently the codemodule is not suitable for bigger tasks (FFT, iFFT, PSOLA) (or pls. show me how to implement FFT, iFFT with windowing size/function using the current feature set.) - no subroutines in code module - limited loop support (no variable loop boundaries (BTW: how about allowing them for non vectorized vars)) - no support for binary files (e.g. to extract special chunks from wavefiles, read midi files,....) - easier port of existing dsp algorithms - VST hosting - sidechaining - ... general: go beyond the existing possibilities

(enough is never good enough, you know)

stefan ·

I don't see why it wouldn't be better to have native support for those things 🙂 Ofcourse, it might take a while, so one would have to be able to cope with that, and just because I can you don't have to 🙂

What do you mean by sidechaining btw?

rl ·

mixer sidechaining, e.g. for a ducking compressor/limiter: Have a plugin in one "mixer-channel" that "side-chains" to another mixer channel to control a compressor/limiter.

Tom7777 ·

I agree with Stefan on this, i think that the code module should just get updated a bit and it should all be done in SM.

stefan ·

rl wrote: mixer sidechaining, e.g. for a ducking compressor/limiter: Have a plugin in one "mixer-channel" that "side-chains" to another mixer channel to control a compressor/limiter.

So instead of routing the two channels to the same effect you'd have two effect instances with a shared memory area?

I know what sidechaining is, I just didn't know what you meant was missing for it 🙂

ffx ·

You don't have to use dll support if you don't want...

I also would like to use sm modules in most cases. But sometimes it could be a good feature.

I am writing about the possibility to load dlls and use its resources or code within a SM dll loader module.

There are a huge lot of reasons and also unpredictable reasons, this could be very helpful.

Some more reasons:

- Using SM for structure and gui - Including a wide range of open source projects - Complex algorithms like neural networking or fft - Speed improvements - Transferring data to other applications or network etc.

I believe it would Synthmaker be an even more professional audio development application, maybe even a new standard application?

stefan ·

The most valid points I've seen so far, I'll give you that! 🙂

infuzion ·

good discussion; I was attracted to SE because I could use it as a skelton for C++.

doug4350 ·

I voted (unofficially) for this early on when I jumped on board. I was informed it is possible to have an sdk and would more than likely be possible down the road. I also heard there was concern on function call overhead, but there's ways around that. rl and ffx pretty much hit my reasons, which are to overcome limitations in SM that might otherwise hold me back or be 10x harder in SM than in C. No slam intended, I have all the confidence in SM. This has been demonstrated by the past several releases which have fairly significant new features and not just maintenance.

Maybe this is a blessing in disguise to the dev's. I bet there'd be fewer posts here with an sdk on the streets 😉 .

Aloha, Doug

MyCo ·

I voted for "yes", but my C++ is so bad that I couldn't use it But I could translate the SDK to Delphi, so I'm shure that I would use Delphi DLLs. But a big disadvantage is, that if you publish your osm in the board, or your VST in general, you also have to include other DLLs. And if there are several DLLs flying around in the board, there will be big projects with a large number of DLLs. May be there will be commercial DLLs (like you know it from VST plugins), then you have to buy these DLLs, before you can use a free Plugin...

TheAudiophileDutchman ·

BUMP

How to implement an efficient realtime convolution algorithm within SM? For sample-based VSTi's, convolution is become fairly standard these days....

See also: Convolution

stefan ·

TheAudiophileDutchman wrote: BUMP

How to implement an efficient realtime convolution algorithm within SM? For sample-based VSTi's, convolution is become fairly standard these days....

See also: Convolution

Some kind of stream FFT/iFFT will probably be added further down the road, which basically is what you need for convolution.

TheAudiophileDutchman ·

Wow, that's great stuff, Stefan!

TomC ·

stefan wrote: Some kind of stream FFT/iFFT will probably be added further down the road, which basically is what you need for convolution.

Any news concerning this?

Tom

Acrobat ·

stefan wrote: If I'd feel it was right for me to vote I would vote no I want SynthMaker to be as self-contained as possible, and hence I want as much as possible to be doable _within_ SM, instead of externally.

I agree with Stefan. Also for me SM must grow on its own... and perhaps using external resources like SE could bring also lots of compatibility issues and crashes, or at least the software behaviour and performance will be less "controllable" by the developers, in my opinion..

matti ·

ffx wrote: Some more reasons:

- Using SM for structure and gui

- Speed improvements

Yes! The gui is great! But unfortunately some dsp things are really slow in SM compared to inline assembler inside C++. With the exact same code SM is 4x slower Could be cool to bypass the slowness this way.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.