<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 31, 2016 at 6:33 AM, Kjetil Matheussen <span dir="ltr"><<a href="mailto:k.s.matheussen@gmail.com" target="_blank">k.s.matheussen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class=""><div><br></div></span><div>I don't think Jack is the wrong solution for a DAW either. But Jack never got finished.</div><div>It has a wonderful API, but it shouldn't be a struggle for a program to create a jack client</div><div>if a jack server isn't running. (there were a lot of talk about this around 10 years ago,<br></div><div>but the end result never became as good as it should I think).</div></div></div></div></blockquote><div><br></div><div>i am not sure what the problem is here. if the client doesn't specify anything, then the server will start automatically with the same parameters as it did last time. this has worked for years. no?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>I think the first program trying to create a client also should start the server. Not</div><div>just fork off a process, but actually run the server.</div><div>And if another program wants to create a jack client, it connects to the first client process,<br></div><div>which is the one running the server.</div></div></div></div></blockquote><div><br></div><div>this seems a bit odd to me. if the first client is really just a client, why would it become the server? what happens when the user closes it (or otherwise resets it)?<br><br></div><div>that's the whole point of using a control application that exists before (and almost certainly after) all other clients.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Furthermore, GUI should be built into libjack, so that you can call</div><div>jack_open_audio_driver_configuration_gui(), jack_open_audio_connection_configuration_gui(),</div><div>etc. inside your client.</div><div><br></div><div>I know there is something called libjackserver, but how many uses it?</div></div></div></div></blockquote><div><br></div><div>libjackserver isn't what you think it is. you're thinking of the server API, used to start, stop and otherwise control a JACK server. it is the basis of jack2's dbus support, so basically everything using jack2 is using it. it is also present in jack1, and is also used internally there.<br></div><div> <br></div><div>libjackserver is also used *all* the time. <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> Does it do</div><div>all these things? How stable is it? In my opinion, there shouldn't</div><div>be any libjackserver, or jackd program, or qjackctl, only libjack.</div></div></div></div></blockquote><div><br></div><div>this would simply lead *back* to jackd, since lots of people would want a program they could start in order to start jack, that would run before and after other clients. someone would write it, link it to libjack and it would become "jackd". <br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Another problem with Jack is that it never attempted to do consumer audio,</div><div>and then we got pulseaudio in addition to Jack. There should only be Jack, IMO.</div></div></div></div></blockquote><div><br></div><div>here we sort of agree. <br></div><div> </div></div><br></div></div>