pongasoft / jamba

A lightweight VST2/3 framework
https://jamba.dev/
Apache License 2.0
122 stars 3 forks source link

Support for newer Steinberg SDK versions #5

Closed igorski closed 4 years ago

igorski commented 5 years ago

Hello, first up: great project! Tremendously easy to use, allowing one to focus on the fun part: writing the darn plugin!

Not so much an issue, but rather an enquiry:

I have read that Jamba is currently tied to SDK 3.6.9. Having looked at the current SDK 3.6.12 I see there are some breaking changes (mostly in VSTGUI, also in /base source Makelists). Is there a plan on how to add support for a wider ranges of SDKs ? Am I correct in assuming that Jamba is dependent upon Steinberg make list restructuring (and therefore making it hard to support just any SDK version) ?

ypujante commented 5 years ago

@igorski Thank you so much for the feedback. Very glad you find it easy to use as this was the intent.

Jamba is indeed requiring SDK 3.6.9 at the moment. I never thought that Jamba would support (for a given version of Jamba) multiple version of the VST SDKs. The main reason being that, as described in the introduction, you are still writing VST SDK code and Jamba is only here to help doing that and providing many helpers along the way. Since APIs tend to change willy-nilly in the SDK, then Jamba would have to become an abstraction to hide all the changes (to have different implementations based on SDK version) and then you would not write a VST plugin but a Jamba plugin.

In regards to the specific version 3.6.9, when I started writing Jamba this was the one available and I thought I was going to upgrade with the SDK but then a few things happened:

The conclusion is that I have not found the right way on how to make the VST3 SDK evolve in Jamba but I am thinking about it as I also do not believe I can stay on 3.6.9 forever.

igorski commented 5 years ago

Thanks for your explanation. It makes sense that Jamba will be tied to the Steinberg SDK's frills.

I agree killing VST2 is a harsh thing to do as it's real-world usage is very much alive and widespread (heck, Ableton doesn't event support VST3...) but I can understand Steinbergs frustration with VST3 having been available for 10+ years...

With regards to version 3.6.9: the link in the README is outdated, seems like Steinberg doesn't like keeping archives of older/more stable versions. I think the version you were linking to is reflected in commit 985d945639f5a2f7498d9483e8b5e6d921bcb580 of the vst3sdk repo.

Thanks!

ypujante commented 5 years ago

Ouch :( That is not good at all. This is what I was talking about "not following good software practices". I have never seen an open source project that doesn't let you download an old version.

The issue with the vst3sdk repo is that it does NOT contain VST2 (on purpose...)...

Guess I need to address "finding a solution" sooner than anticipated since Steinberg pulled it with no warnings...

ypujante commented 5 years ago

I was able to find a quick fix for the link (it works again), but I definitely need to come up with a long term solution fast!

aidv commented 5 years ago

Guys I tried to build using vstsdk3612_03_12_2018_build_67 on Mac.

It seems to be working fine?

ypujante commented 5 years ago

@aidv I have not personally tried, so I do not know if it works or not with 3.6.12, but I am a bit surprised it does: as far as I remember from the 3.6.12 release notes, there was a bunch of changes in the CMake files including renaming some variables which I believe jamba uses. For sure you will not have VST2 support.

aidv commented 5 years ago

@ypujante aah i see. It compiled fine for me though.

Out of curiousity, why don’t you update the framework to the latest SDK, say, every 3 or 6 months?

ypujante commented 5 years ago

It is explained in this very thread first response

aidv commented 5 years ago

Oh I missed that.

ypujante commented 5 years ago

@aidv np. If you end up using jamba successfully for you project, please do let me know. I am very interested in how people use it and if it is useful. Also if you have feedback and/or comments do not hesitate to create new issues.

aidv commented 5 years ago

Oh I def will. You seem to have a set of skills that could be very useful for my project. Are tou available to take on a new project and how could I contact you outside of GitHub?

ypujante commented 5 years ago

You can find my contact info on my blog (https://www.pongasoft.com/blog/yan) if you want to contact me outside of GitHub. I am currently not really looking for new projects but can provide help if you need some (currently traveling until mid march though...)

aidv commented 5 years ago

Alright I’ll shoot a message some time withon a week. Happy traveling.

ypujante commented 4 years ago

With the release of Jamba 5.0.0, I found a way to support the latest version of the SDK (3.7.0 as of 08/2020) while still allowing support for VST2. So I am closing this issue.