RS-MET icon indicating copy to clipboard operation
RS-MET copied to clipboard

I'm looking for customers for your library

Open elanhickler opened this issue 8 years ago • 46 comments

Robin, I am actively looking to develop plugins for people with your library. It is very important that you take my feature requests. I could perhaps have them pay me hourly while at the same time giving you money for your library.

So, be ready. It's going to happen.

elanhickler avatar Sep 30 '17 19:09 elanhickler

As a matter of fact, it would help to have some idea of pricing for your library right now... like... now now.

elanhickler avatar Sep 30 '17 19:09 elanhickler

as said, i'm aiming at a pricing corridor between 500 and 2000 euros per product, depending on size and scope of the product/company, the role of my library within the product, etc.

RobinSchmidt avatar Oct 01 '17 18:10 RobinSchmidt

and free for open source projects

RobinSchmidt avatar Oct 01 '17 18:10 RobinSchmidt

What about supporting developers who are just starting out? That pricing scheme makes your library uncompetitive. That pricing makes sense for developers/companies who know what they are doing, but think about my situation. I can't work for a big company. What do I do? My first handful of clients won't have that kind of money.

elanhickler avatar Oct 01 '17 20:10 elanhickler

500 to 2000 euros per product, your framework needs to be ready to make an amazing product from scratch and quickly. It's not there yet due to lack of easy custom GUI and preset browser.

elanhickler avatar Oct 01 '17 20:10 elanhickler

i actually never planned to license the framework (i don't really know if it's any good, to be honest) - i'm talking more about the dsp backend and i see the competition more among the likes of zplane - and they charge more and don't even provide source code (just headers and compiled libraries). but as said, it really depends on the company and what kind of money they have or make with the product. these prices are more for established companies. maybe one can also think of some kind of revenue sharing model

RobinSchmidt avatar Oct 01 '17 20:10 RobinSchmidt

although zplane's libraries are different in that they are focused on a single dsp task and do that really well whereas my dsp library is more broad and less deep, i guess

RobinSchmidt avatar Oct 01 '17 20:10 RobinSchmidt

ok that all sounds good. ill let you know when i have a customer.

elanhickler avatar Oct 01 '17 20:10 elanhickler

and you have earned your lifetime all products license anyway

RobinSchmidt avatar Oct 01 '17 20:10 RobinSchmidt

wait... im confused.

The gui stuff was not meant to be part of your library? or part of the deal? that's just for your personal use? and I'm riding off of that? And... so........ I shouldn't be bugging you about custom UI?

elanhickler avatar Oct 01 '17 20:10 elanhickler

but I thought you wanted a one-stop-shop from scratch to finished product? no?

elanhickler avatar Oct 01 '17 20:10 elanhickler

hmm...well, i see my role more in dsp algorithm department - not really so much in the making-a-polished-product with multi-platform support, installers, licensing system, etc. i'm much more interested in focusing on the dsp side. this is, where i know a thing or two. i'm not very good at the other stuff

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

But you're almost there with multiplatform support, licensing system, gui.

What if I took on the role of designing your custom gui stuff? I need this for my own products, i'd be doing it anyway I guess, from what it sounds like.

elanhickler avatar Oct 01 '17 21:10 elanhickler

If you don't make your library a one-stop-shop for a product from scratch, then I want to!

"Elan's Product RS-MET Extension Libray" only 10,000 eruos per product.

Edit: I don't want a separate library thought, and I don't need credit for doing it for your library.

elanhickler avatar Oct 01 '17 21:10 elanhickler

wait... im confused. The gui stuff was not meant to be part of your library? or part of the deal?

i don't mind, if someone wants to use that, too - but i'm not sure, if my framework is any valuable at all. i'm quite happy with my core dsp-stuff, though. a lot of math problem solving work went into it

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

The gui stuff was not meant to be part of your library? or part of the deal? that's just for your personal use?

yes. sort of.

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

Oh, so I know how to override the paint method. How do I add custom filmstrip? Is that pretty easy? If this is all easy then I can go about starting to do custom GUI and add it to your library via pull requests. Or maybe just keep it in my library for now.

Ok what about X/Y pad? That seems difficult to do custom because it requires somehow controlling two values or two RWidgets or i don't know.

elanhickler avatar Oct 01 '17 21:10 elanhickler

By the way you can steal anything from my library that you want. Just let me know and then I can continue to fix issues on it via pull requests. All the jerobeam stuff is ready to go. I also have XoxosOscillator finished, this thing:

image

elanhickler avatar Oct 01 '17 21:10 elanhickler

and another thing! I feel like there's a lot of basic classes missing from your library. Maybe you just don't realize how difficult things are for people like me who suck at math and need basic building blocks to start out with. The more I think about it, the more I feel like you need me to design the:

"Elan's Wonderful RS-MET Extension for Noobie Developers"

  • easy fast gui
  • simple building blocks
  • etc.

ALSO!!! Does this mean your mod system was created just for your purpose and was not meant to be used by some who is paying for your DSP license?

elanhickler avatar Oct 01 '17 21:10 elanhickler

Ok what about X/Y pad? That seems difficult to do custom because it requires somehow controlling two values or two RWidgets or i don't know.

if i remember correctly, i have functions like assignParameterX, assignParameterY which are analogous to the assignParameter function of the one-parameter-widgets (such as sliders). so, yes, the xy-pad controls two parameters

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

ALSO!!! Does this mean your mod system was created just for your purpose and was not meant to be used by some who is paying for your DSP license?

yes. actually more for your purpose, but i can make good use of it in my chainer as well. if someone buys a license for my dsp library, i of course don't mind, if they want to use that, too. but the dsp library is actually meant to provide the core dsp/math building blocks, not an application/plugin framework

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

ALSOO!!! You realize I don't use much DSP from your library? Antialiasing filter and some simple 1-4 pole filters... your noise generator. That's it! I want to get into more complex stuff like antialiased wavetable sawtooth, but... my point is... I am using your framework! not your DSP!

I am using your framework! I thought that was what your library was all about! It's not!

elanhickler avatar Oct 01 '17 21:10 elanhickler

...such that non-math people have easy access to such heavy-duty algorithmic machinery as elliptic filter design

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

non-math people need simple things like linear ADSR.

elanhickler avatar Oct 01 '17 21:10 elanhickler

Antialiasing filter

this is actually an elliptic filter - the most math heavy thing in the whole library

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

I am using your framework! not your DSP!

and that's fine. but i want to sell a dsp library. the framework can be considered an optional add-on

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

and that's fine. but i want to sell a dsp library.

that's fine, but I wish I realized this a long time ago!

elanhickler avatar Oct 01 '17 21:10 elanhickler

non-math people need simple things like linear ADSR.

nah - linear sounds mostly bad. has to be exponential. non-math people still want good sounding envelopes. they can use my breakpoint-modulator. that can do linear, exponential and more

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

well......... you can't modulate your breakpoint modulator. I designed my linearADSR to respond to modulation immediately, and it is abusable. It is also sub-sample-accurate.

Why do this? Since it's modulatable you can modulate it into any curve, Sigmoid, Expo, Log, Pow, and if you combine two linear ADSRs, you can further shape it by having one ADSR modulate the other. But I'm not finished with it. I eventually need to modulate the speeds so that it sustains rather than have a hard sustain phase.

elanhickler avatar Oct 01 '17 21:10 elanhickler

true. modulatability was not designed in (so i could do some other optimizations). i didn't think that one would want to modulate an envelope generator. ...maybe someday, i can make a modulatable version

RobinSchmidt avatar Oct 01 '17 21:10 RobinSchmidt

oh wtf... I thought it would be easier than this:

image

elanhickler avatar Oct 01 '17 22:10 elanhickler

it's all straightforward stuff. gui code generally tends to be verbose

RobinSchmidt avatar Oct 01 '17 22:10 RobinSchmidt

ughhhhhhh... can you just add filmstrip ability? is that simple?

elanhickler avatar Oct 01 '17 22:10 elanhickler

f***, i don't want to use filmstrips, there's a bunch of other design things to deal with

elanhickler avatar Oct 01 '17 22:10 elanhickler

i want a more flexible solution such that client code can use bitmaps, vector graphics, its own algorithmic drawing or whatever it wants. using filmstrips...hmm...i guess that is a nontrivial bit of work. the first thing to do is to delegate the painting to its own object such that client code can do things like mySlider->setPainter(mySliderPainter). then you could just have your own subclass of some (framework-provided) SliderPainter baseclass and in your subclass, you could do whatever drawing you want

RobinSchmidt avatar Oct 01 '17 22:10 RobinSchmidt

you would have to load an image, perhaps read in some metadata (how many images there are, if it's a horizontal or vertical strip, etc.) and then perhaps split the image int a set of images and then select which image to show based on the slider value

RobinSchmidt avatar Oct 01 '17 22:10 RobinSchmidt

Ok how about vector graphics? That would be the easiest. But then what happens if you create a fancy vector thing and then you need some parts to rotate and not otherS? oh you'd need to build a knob out of multiple vectors for the parts that rotate and parts that don't

elanhickler avatar Oct 01 '17 22:10 elanhickler

perhaps one could also rotate a bitmap image, if it's stored in higher resolution than finally needed

RobinSchmidt avatar Oct 01 '17 22:10 RobinSchmidt

juce has functions built in for such things

RobinSchmidt avatar Oct 01 '17 22:10 RobinSchmidt

What about Drawable class? Is that what I want? Drawable::createFromSVG.

elanhickler avatar Oct 01 '17 22:10 elanhickler

made a thread: https://forum.juce.com/t/how-do-you-use-vector-file-with-graphics-class/24462

elanhickler avatar Oct 01 '17 23:10 elanhickler

Why do this? Since it's modulatable you can modulate it into any curve, Sigmoid, Expo, Log, Pow,

but why achieve these shapes via modulation rather than directly create the shape you want? this seems unnecessarily complicated to me.

RobinSchmidt avatar Oct 02 '17 01:10 RobinSchmidt

non-math people need simple things like linear ADSR

i actually think, non-math people need a library with an easy-to-use interface that does some not-so-simple math under the hood. that's what i'm trying to provide

RobinSchmidt avatar Oct 02 '17 04:10 RobinSchmidt

What about Drawable class? Is that what I want? Drawable::createFromSVG

yes, that's juce's svg rendering facility. i'm not sure, how complete the implementation of the svg spec is though. maybe, if a graphic artist uses one of the more exotic features of the svg spec, it might not be rendered correctly. but i really don't know. maybe juce has a complete svg support

RobinSchmidt avatar Oct 02 '17 08:10 RobinSchmidt

nope - incomplete. this would then have to be checked with any concrete svg file that you create or get from a graphic artist:

https://www.juce.com/doc/classDrawable#a7b89bd78998ffd1f4888a143b15e2258

RobinSchmidt avatar Oct 02 '17 08:10 RobinSchmidt

I just need simple svg stuff anyway.

Or would it be better to create a class that has stuff like: line size, line thickness, outer stroke, inner color, outer color... seems it would be easier just to use a vector program to define all that.

but why achieve these shapes via modulation rather than directly create the shape you want? this seems unnecessarily complicated to me.

Yes maybe it is but recursive functions are better than non-recursive when it comes to musical sound synthesis. Also, probably lighter on CPU than recalculating a curve every sample. But ultimately I'd like to have both. Also, I don't know how to create the shape without modulation and still have reasonable timings and still have nice curves. Also, I would still want to create the sustain stage by modulating the timing down 0 slowly, I guess that's like creating a knee. The sound of transition from decay to sustain is just ugly. Traditional ADSRs suck.

elanhickler avatar Oct 02 '17 14:10 elanhickler