Discussion:
jackpatch & petri-foo peculiarity
James Morris
2012-08-07 20:54:35 UTC
Permalink
Hi,

I've been putting off reporting a problem with JACKPatch for several
weeks but have since realized the problem is actually with Petri-Foo.

If I load a session with Petri-Foo and JACKPatch twice in a row, then
on the second load of the session any connections with Petri-Foo are
lost. Connections with other applications are business as usual.

I am curious if you've come across this and might happen to know what
the problem is?

Thanks,
James.
J. Liles
2012-08-07 20:59:05 UTC
Permalink
Post by James Morris
Hi,
I've been putting off reporting a problem with JACKPatch for several
weeks but have since realized the problem is actually with Petri-Foo.
If I load a session with Petri-Foo and JACKPatch twice in a row, then
on the second load of the session any connections with Petri-Foo are
lost. Connections with other applications are business as usual.
I am curious if you've come across this and might happen to know what
the problem is?
Thanks,
James.
I had a similar issue with yoshimi. Thought it was fixed though. I'll have
to go over the petri-foo jack client/port registration code...
James Morris
2012-08-07 21:33:41 UTC
Permalink
Post by J. Liles
Post by James Morris
Hi,
I've been putting off reporting a problem with JACKPatch for several
weeks but have since realized the problem is actually with Petri-Foo.
If I load a session with Petri-Foo and JACKPatch twice in a row, then
on the second load of the session any connections with Petri-Foo are
lost. Connections with other applications are business as usual.
I am curious if you've come across this and might happen to know what
the problem is?
Thanks,
James.
I had a similar issue with yoshimi. Thought it was fixed though. I'll
have to go over the petri-foo jack client/port registration code...
Ah not to worry. It was to do with the way I handled the :switch:
message.

I called jack_deactivate and jack_client_close...

But now I am detecting when the :switch: is sent to reload the
currently loaded session to avoid doing that and the
connections are made again.

But, doesn't loading a session in NSM cause NSM to save the current
session?

In which case I don't actually need to reload my data at all correct?

Thanks,
James.
J. Liles
2012-08-07 21:42:48 UTC
Permalink
Post by James Morris
Post by J. Liles
Post by James Morris
Hi,
I've been putting off reporting a problem with JACKPatch for several
weeks but have since realized the problem is actually with Petri-Foo.
If I load a session with Petri-Foo and JACKPatch twice in a row, then
on the second load of the session any connections with Petri-Foo are
lost. Connections with other applications are business as usual.
I am curious if you've come across this and might happen to know what
the problem is?
Thanks,
James.
I had a similar issue with yoshimi. Thought it was fixed though. I'll
have to go over the petri-foo jack client/port registration code...
message.
I called jack_deactivate and jack_client_close...
But now I am detecting when the :switch: is sent to reload the
currently loaded session to avoid doing that and the
connections are made again.
But, doesn't loading a session in NSM cause NSM to save the current
session?
In which case I don't actually need to reload my data at all correct?
Thanks,
James.
You do need to re-register the client in :switch:--because there's no other
way to change the JACK client name and :switch: might provide a new
client_id.

Determining whether or not you need to reload your data is something that
could probably only be done reliably with a hash or checksum.

I'm not sure I understand why you're loading the same session twice in the
first place, though.
James Morris
2012-08-07 21:49:33 UTC
Permalink
Post by J. Liles
Post by James Morris
Post by J. Liles
Post by James Morris
Hi,
I've been putting off reporting a problem with JACKPatch for
several weeks but have since realized the problem is actually
with Petri-Foo.
If I load a session with Petri-Foo and JACKPatch twice in a row,
then on the second load of the session any connections with
Petri-Foo are lost. Connections with other applications are
business as usual.
I am curious if you've come across this and might happen to know
what the problem is?
Thanks,
James.
I had a similar issue with yoshimi. Thought it was fixed though.
I'll have to go over the petri-foo jack client/port registration
code...
message.
I called jack_deactivate and jack_client_close...
But now I am detecting when the :switch: is sent to reload the
currently loaded session to avoid doing that and the
connections are made again.
But, doesn't loading a session in NSM cause NSM to save the current
session?
In which case I don't actually need to reload my data at all correct?
Thanks,
James.
You do need to re-register the client in :switch:--because there's no
other way to change the JACK client name and :switch: might provide a
new client_id.
What I meant was to only re-register if the client_id changes.
Post by J. Liles
Determining whether or not you need to reload your data is something
that could probably only be done reliably with a hash or checksum.
If client_id is the same and NSM's behaviour is to always save before
load then...
Post by J. Liles
I'm not sure I understand why you're loading the same session twice in
the first place, though.
Intuition causes it to happen when I mess the session up and
want to restore from my last save.


James.
J. Liles
2012-08-07 21:56:24 UTC
Permalink
Post by James Morris
Post by J. Liles
Post by James Morris
Post by J. Liles
Post by James Morris
Hi,
I've been putting off reporting a problem with JACKPatch for
several weeks but have since realized the problem is actually
with Petri-Foo.
If I load a session with Petri-Foo and JACKPatch twice in a row,
then on the second load of the session any connections with
Petri-Foo are lost. Connections with other applications are
business as usual.
I am curious if you've come across this and might happen to know
what the problem is?
Thanks,
James.
I had a similar issue with yoshimi. Thought it was fixed though.
I'll have to go over the petri-foo jack client/port registration
code...
message.
I called jack_deactivate and jack_client_close...
But now I am detecting when the :switch: is sent to reload the
currently loaded session to avoid doing that and the
connections are made again.
But, doesn't loading a session in NSM cause NSM to save the current
session?
In which case I don't actually need to reload my data at all correct?
Thanks,
James.
You do need to re-register the client in :switch:--because there's no
other way to change the JACK client name and :switch: might provide a
new client_id.
What I meant was to only re-register if the client_id changes.
Post by J. Liles
Determining whether or not you need to reload your data is something
that could probably only be done reliably with a hash or checksum.
If client_id is the same and NSM's behaviour is to always save before
load then...
That's a lot of ifs...
Post by James Morris
Post by J. Liles
I'm not sure I understand why you're loading the same session twice in
the first place, though.
Intuition causes it to happen when I mess the session up and
want to restore from my last save.
But in that case you should be doing 'Abort' followed by 'Open'. Opening
the same project twice does in fact result in a 'Save' message...
j***@jwm-art.net
2012-08-08 09:15:44 UTC
Permalink
Post by J. Liles
If client_id is the same and NSM's behaviour is to always save beforeload then...
That's a lot of ifs...
Figuratively.
Post by J. Liles
I'm not sure I understand why you're loading the same session twice in
the first place, though.
Intuition causes it to happen when I mess the session up andwant to restore from my last save.But in that case you should be doing 'Abort' followed by 'Open'. Opening the same project twice does in fact result in a 'Save' message..

Ok perhaps then the NSM GUI could enforce behaviour here by disallowing re-load of current session?

The session name in the session list could also be hilighted to show this.

This would also prevent the other situation in which I reload the current session - by mistake - having forgotten which session is loaded and not looked in the place where it shows session name.

I also keep meaning to look at the api to see if clients have access to session name... ah it's in the path.

James

S

Loading...