I dont think the problem is clear to you at the moment.
This is not about disconnecting ports, but connecting them.

Even if jackpatch would remember connections from clients that have quit, or stopped by NSM, it cannot possibly know if the client is removed from the session or not.

So without jackpatch talking to NSM server, we have 2 possible situations:

1. jackpatch does not save connections for clients that are not running.
With this, we can lose connection data if an application was stopped temporarily. Connections were made before, that when loading back the session are not restored.

2. jackpatch saves and keeps connections even for clients that are not running anymore. With this, the list of connections keeps going forever, as jackpatch cannot right now know if something is no longer part of the session and thus not needed.
Conflicts will arise as soon as the same client name is reused later on.
There is a limit to the "unique id" given by the NSM server.

On 04/01/21 01:10, J. Liles wrote:
(and of course I don't think any solution to this problem can be perfect, because it's impossible to always correctly guess the user's intentions).

On Sun, Jan 3, 2021 at 5:08 PM J. Liles <[email protected] <mailto:[email protected]>> wrote:

    Why would it care? Closing a client is equivalent to unplugging a
    MIDI interface. You might plug it back in and you might restart
    the client and if JACKPatch remembered the connection for you,
    that would be exactly what you want. But when you open Patchage
    and sever the connection, you really want it to stay severed/be
    forgotten.

    So I think any time a client is terminated or a device is
    disconnected, the message from JACK should be different than the
    message sent when a connection is explicitly disconnected.

    To be clear: the distinction is between implicit disconnection
    (client killed) and explicit disconnection (connection manager used).

    On Sun, Jan 3, 2021 at 5:00 PM Filipe Coelho <[email protected]
    <mailto:[email protected]>> wrote:

        How would jack know about a client that is stopped because the
        user closed it, or stopped because it got removed from NSM?

        Some collaboration/talk between NSM and the patch tool is
        needed in order to make this possible, as far as I can tell.

        On 04/01/21 00:57, J. Liles wrote:
        Personally, I've already put enough thought into it to decide
        that it must be addressed in JACK.

        JACK needs to give JACKPatch a way to distinguish between a
        client disappearing and a connection being explicitly severed
        by (proxied) user action.

        AFIAK there's nothing in the JACK API for this.

        Add that, and I'll change JACKPatch so that it only forgets
        connections that are explicitly severed, rather than ones due
        to the client or port disappearing.

        Obviously there are probably some more subtle issues
        involved, but I'm quite sure it's not JACKPatch's problem.



        On Sun, Jan 3, 2021 at 4:54 PM Filipe Coelho
        <[email protected] <mailto:[email protected]>> wrote:

            On 04/01/21 00:49, J. Liles wrote:
            On Sun, Jan 3, 2021 at 4:38 PM Filipe Coelho
            <[email protected] <mailto:[email protected]>> wrote:

                On 04/01/21 00:20, J. Liles wrote:
                For the bystanders: one thing that's funny about
                all this is that I use Non every day, including
                NSM, and I have a very low tolerance for
                buggy/crashy software, and in all this time, with
                all the fork drama etc. I've worked on Non, adding
                things I need, fixing bugs I encounter. Well, in
                all of that, I can't recall having needed to make a
                single change to NSM. It just works. So this idea
                that there's is or was some dire usability issue
                with NSM is to me laughable.)

                The link I posted from Nils disagrees with you.
                
https://linuxmusicians.com/viewtopic.php?f=24&t=21772&p=121745#p121745

                It is expected that it works for you.

                My tools also work for me, but then people find
                issues by doing things I am not doing. Bugs are
                still there, even if I dont ever experience them.


            Yes, I understand that people encounter weird bugs on
            different systems and with different clients and all
            that. But those are not justifications for the actions
            you and your comrades have taken. What justification do
            you have for not politely submitting a PR? I like fixing
            bugs just as much as the next guy.

            The "justification" is that it is much easier to report a
            bug than it is to fix it.

            Plus, FLTK/NTK is not widely used, so most people do not
            know it (yet). Perhaps a few things would be simple
            things for you to do.

            In any case, a ticket is not a demand. Just brings
            visibility to the issue. Who knows, maybe someone else
            sees it and decides to fix it.
            Not everyone is a developer, we should not be asking
            everyone to submit patches instead of issues. Some are
            just incapable of that in the present time.


                Sure, there are many things I wish I had. Fillipe
                says that JACKPatch has some "usability problem." I
                disagree. It is what it is.

                To be clear here. The issue is that jackpatch
                ignores applications that are no longer running.

                If you have a session where you temporarily want to
                stop closing something just to focus on one part of
                it, then save, connections for all the other
                applications are lost.
                It is very annoying when it happens, often
                misinterpreted as a bug of the SM.

                I have a few ideas on how to go about
                solving/working-around it, and others have
                alternative ideas. There was no true consensus yet.
                Maybe it is just not something for jackpatch to deal
                with, but a new tool. You seem to think the same way
                from what I understand on the messages below.


            Yes, but that's not a problem with JACKPatch. That's why
            I say, "it is what it is." The problem is with the
            protocol, which is JACK's domain, and anything I could
            do in JACKPatch would be a crappy workaround. I'd be
            happy to discuss the matter. But you really shouldn't go
            around accusing people of having flawed software when
            the flaw is in the underlying subsystem.

            NSM is quite good, this was/is not a criticism.

            There exists still a user-experience problem, this is not
            an accusation.

            I will be happy to discuss a possible solution too, just
            waiting for all to calm down a bit more first.


                But it would be nice to have a better connection
                manager than Patchage to pair with it, and maybe
                some extra info from the JACK API to identify
                certain tricky scenarios that JACKPatch currently
                has no way to know about. Maybe if I could drive
                home the NSM "everything is a client" philosophy a
                little harder, people would stop blaming NSM for
                being incomplete, when the fact is that it was
                never intended to be a complete solution for
                anything other than supporting sessions of clients.
                Clients therefore, are the seat of your
                extensibility. Write a client that does something
                cool and you can have all the fame you like and
                with no obligation to share it with me or NSM.


                On Sun, Jan 3, 2021 at 4:09 PM Filipe Coelho
                <[email protected] <mailto:[email protected]>> wrote:

                    On 03/01/21 23:57, rosea.grammostola wrote:
                    ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
                    On Monday, January 4, 2021 12:47 AM, Filipe
                    Coelho <[email protected]>
                    <mailto:[email protected]> wrote:

                    1. the new-session-manager fork was done by
                    Nils, not me. I appreciated the effort and
                    contributed some little things afterwards.

                    The idea for a fork was yours Filipe. You're
                    fully responsible for it, together with Nils.
                    There is no point in denying or downplaying
                    your role.

                    Huh? Where did you get this from?

                    I approved the idea of a fork, yes. Not sure if
                    I was the first one to suggest it, I am pretty
                    sure a bunch of people thought about it too.
                    I did say that I would maintain the "old" GUI
                    if needed, you can point the finger at me for that.

                    But wait, just because I have an idea for
                    something, how does it make me responsible for it?
                    It would not have happened if others did not
                    have interest on it.

                    Stop making it all on me.
                    Thanks


Reply via email to