Es geschah am Wednesday 29 October 2008 als Graham Goode schrieb:
> Hi Christian,
>
> I'm a newish user of LinuxSampler who can now compile everything from
> CVS in both Ubuntu and Puppy Linux, so I've come a long way from
> absolute beginner. Just a few questions to help me understand what
> you're saying about the command line max. voices and streams.
> 1. If you went with the simpler 'global' option would that then mean:
>  a) that regardless of how many sampler engines are running the limit
> of the whole lot would be what is set by the global option, or
> b) each sampler engine would run with the set global limit as its own
> limit? 2. With the 'more overhead work' / per engine option would the
> eventual front-end then allow one to set the voices and streams per
> audio device?
>
> If the answer is 1b then I think it is a great step forward. The
> second option would be really nice to have, but if it is a lot of work
> then I agree that it might not be worth it ATM.

Regarding the simple "global" limit solution: the point is ATM the individual 
sampler engine instances don't know anything about each other. So let's 
consider I decide to go for that simple implementation. That would be just 
like two global variables "max. voices" and "max. disk streams" all engine 
instances could read. So each engine instance would limit its amount of 
voices and streams to those two values of these two global variables. So 
let's say you set a voice limit of 64 and you have 3 audio output devices. In 
this case you also have 3 instances of a sampler engine, each one managing 
its own voices and streams. So you end up with an effective voice limit of 
192 not 64 (if you use all 3 engine instances at the same time, and push all 
3 to their limit)! But each individual instance still limits its amount of 
voices to 64. So if you just use one sampler instance for a while, it 
wouldn't go up to 192, but up to 64. So it's a suboptimal solution, but it 
could be implemented quickly.

Do you guys think that's sufficent?

Regarding your option b) : yes, if I decide to go for that more complex 
implementation, then one would be able to set voice / stream limit for each 
engine instance independently with a frontnend, and as one engine instance is 
strictly bound to exactly one audio device instance (and vice versa) you can 
also say of course, that it could then be set on a per audio device basis, 
yes. It would mean quite a bit overhead work, since we would have to extend 
LSCP quite a bit, and with it the LSCP server on LS backend side and (as 
mentioned) we would have to implement a browser or something on frontend side 
which would show you the engine instances and all their runtime parameters 
(comparable to the already existing device manager controls in the 
frontends).

But anyway, be aware that both solutions would have a shortcoming: even if I 
decide to go for the 2nd more complex implemention, the engine instances 
still would not know how many voices the other engine instances are currently 
using. Which shouldn't be a big deal though, since usually people who use 
more than one audio device, do this intentionally to spread the sampler's 
load on more than one processor / core.

CU
Christian

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to