yse-soundengine icon indicating copy to clipboard operation
yse-soundengine copied to clipboard

What modules of juce are used in the project and for what?

Open adderly opened this issue 8 years ago • 9 comments

Hello again @yvanvds ,

Now that i am going through the library, it feels that JUCE dependencies are not so nice in terms of fees and licensing. What parts of the JUCE library is used in yse, and what are they used for?

I came to the idea of try to build it around sdl, which provides some of those audio formats and it has a better license. And more attractive to developers. ;)

Tell me what you think about it.

adderly avatar Dec 08 '15 21:12 adderly

hey

What do you mean by `not so nice'? I always thought the license was quite reasonable. Juce is only used in a few places though: audio file reading, audio output, and the synth module. The latter could be replaced with a few days work, i guess. I also think the introjucer is great for keeping project files for different platforms up to date, but essentially it can even be used without the actual JUCE modules.

LibSDL has a few drawbacks. For one it does not support ASIO drivers on windows, which makes low latency audio impossible. I have not implented ASIO in YSE just yet, but it is on my roadmap. It is also more limited in terms of output. The docs mention mono, stereo and 5.1 surround. Right now, YSE supports a fully flexible speaker setup, which is the only way to go if you start using pro audio cards which might have 8 to 16 outputs.

You're welcome to implement libSDL as an alternative. It has some merits and I understand that some developers are not really interested in the more advanced features of YSE. In that case libSDL could be more attractive. But it does not fit my personal needs at all, so I'm not going to do that myself.

yvanvds avatar Dec 09 '15 11:12 yvanvds

Hallo , maybe i am a little confused with the licensing. If i want to publish a game using the yse, i need to buy a commercial JUCE license? That's where i'm running from, hopefully its not like that.

In the other hand, by hearing you about the needs for some users; maybe i am thinking on a weird approach cause i can actually need everything the library provides. I'll keep testing it out to get around of it so i can actually have better judgement into whatever i might actually need.

Despite that, you are the expert here in the audio processing i don't. The "fear" i have came when testing the android binary, that my app crashed into some JUCE header. That in some sense made me think : "Unless i get code inside the JUCE itself, my problem would not be solved". That in fact is silly, but it is a posibility at this moment.

I got an game running on qt with its limited audio support right now, as soon i get yse working for ios,linux and android i'll be happy :smile: .

adderly avatar Dec 10 '15 15:12 adderly

I've written a message to the company behind juce about this licensing issue. It will be good to have it resolved once and for all. I'll keep you informed.

It's not so much the needs of other users, it is my own needs that i'm thinking of. Being mainly an audio artist, I would like to keep my options open. Libraries like libSDL are written with games in mind and often implement just what game programmers need. It might very well be that you don't even need YSE to do what you have in mind. For basic audio rendering, there are alternatives.

About the android issue: it will be solved, simply because i don't have many other options :-) But it may take some time because the issue is rather complicated.

yvanvds avatar Dec 12 '15 15:12 yvanvds

We'll see what happens. Hopefully is something good comes from their side.

adderly avatar Dec 13 '15 13:12 adderly

@yvanvds Legally speaking, can I make some open source project called "java bindings for yse", compile it into a binary, and then use it in my game?

desertkun avatar Jun 05 '16 10:06 desertkun

If you release the game commercially, you will need to buy a JUCE license. Also, yse mostly shines when you create c++ software. It was never intended for java. If you just need some basic audio rendering in java, there are better alternatives.

yvanvds avatar Jun 05 '16 19:06 yvanvds

The JUCE backend has been removed from YSE as of today.

yvanvds avatar Jan 06 '18 13:01 yvanvds

Yes Yes Yse! Damn, i see you did a lot of visual studio this time. We need to port it to cmake, i have a mac. Ill be writing in another bug/thread for it.

adderly avatar Jan 06 '18 18:01 adderly

Yes, all of it is in visual studio. I know that it doesn't cover everything, but focusing on a single development environment is a lot easier for me. And I find that configuring toolchains and makefiles takes much more time than I would like it to take. I want to write code, not figuring out how to compile it. On the other hand, there's also visual studio for mac now :-) I've not tested it yet, but I used xcode for a few projects and I don't think it can be worse than that.

yvanvds avatar Jan 07 '18 02:01 yvanvds