Support for 3rd party modules in Projucer

I’ll be at today’s JUCE meetup in london, in case anyone wants to discuss this further.

1 Like

It’s a multi-platform/IDE project manager and exporter with some extra tools like Binary Builder.

Not sure what you mean by this.

A compilation database is a simple standardized data format to communicate build information to IDEs and external tools.
Conceptually it is a list of all commands you need to run to build your project:

[
  {
    "directory": "/home/user/project",
    "command": "/usr/bin/clang++ -Ipthread -DFOO=BAR  file.o file.c",
    "file": "file.c" 
  },
  ...
]

Many build-systems can export builds into this format.

I tried conan a few weeks ago, it’s a mess and hosting requires paying.

I would love to offer ATK as a package somewhere, but currently who knows which one will win? So lots of time for not much benefit, as people can get the repo and point the Projucer to the juce_module folder.

To us, the hosting aspect and integration into the Projucer would be completely secondary. The first step should be to have a single website somewhere that provides links to all 3rd party JUCE modules. We don’t even know what to Google for. Do we try “juce 3rd party modules” or “juce modules”? “juce extras”, “juce utilities?”

We found more stuff by accident or by following links here. Having a single place where they are all listed (with a short description) would solve the problem us. We don’t create new projects every 15 minutes and need auto-updating, auto-integrating modules. We would rather download and integrate that stuff manually, to have 100% control over which version we build with.

6 Likes

How about I create a public repository that just contains a readme.md with a table of 3rd party juce modules (with short description and link) and then everybody can do pull requests and thus add their own projects / make corrections that way?

I promise to handle pull requests in a timely manner and I wouldn’t mind adding other people with write access that can then merge pull requests themselves. So if we have 3-4 people with write access, there should never be more than a few hours (maybe a day at most) where a pull request doesn’t get merged.

4 Likes

That’s what I was about to propose :smile: But now that you proposed it, it wouldn’t nice of me to do the same. Let me know if you would like me to start working on something now though.

1 Like

You can either send me pull requests, or simply send me a link here (or via a PM) and I’ll add it as soon as I’m able to.

2 Likes

Should I also add a column for the license? That way people can quickly filter the ones out that they can’t use (e.g. I would never consider GPL licensed code, unless there was another, commercial license available that doesn’t require us to open source our products).

3 Likes

Thanks a lot!

A license could help some people to decide what to look for.

Great idea. I’ve added Tracktion Engine and a licence field to this but I’ve done it as an issue as it seemed the quickest way to do it?

Thanks for the initiative guys :slight_smile:

Hopefully this md can be moved to the JUCE repo once it gains enough traction.

4 Likes

I think the good folks at Roli might be a bit too busy to keep it up-to-date. They have other priorities, so I wouldn’t mind maintaining this for the time being. Maybe once it becomes more “stable”, they can just copy it over.

1 Like

Yeah I understand that. I don’t think there are a vast number of 3rd party modules out there yet though.
My main fear is that if this directory is separate from JUCE, you’d have to know it’s there before being able to use it which doesn’t help new users to JUCE.
All in good time though. This is the correct way to start.

1 Like

We could have a sticky thread with a link or some links added to the JUCE website, would probably require some legal notice to indicate that ROLI hold no responsibility etc. that should make it easy enough to find for new comers then.

2 Likes

There is a category in the forum for that purpose:
“Useful Tools and Components”.

But to be honest, the new forum style doesn’t really incentivise using the categories. I always read through all, since there are now many categories…

1 Like

Two modules for your list. The debug module in juce-toys is popular…

3 Likes

Thanks. Both have been added now.

2 Likes

Just saw this today: https://github.blog/2019-05-10-introducing-github-package-registry/

tl;dr: GitHub are introducing their own platform-independent package registry. I wonder if it might one day be able support C++ and JUCE modules…

While I’m here, @reFX please add https://github.com/adamski/RestRequest to your list.