Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

node after root node behaves inconsistently #936

Open
telephon opened this issue Aug 12, 2013 · 3 comments
Open

node after root node behaves inconsistently #936

telephon opened this issue Aug 12, 2013 · 3 comments
Labels
bug Issues that relate to unexpected/unwanted behavior. Don't use for PRs. comp: class library SC class library
Milestone

Comments

@telephon
Copy link
Member

telephon commented Aug 12, 2013

Syntactically it is possible to add a node after the root node (group with id 0). Normally, nodes are added relative to the default group (id 1), which makes it possible to free them by sending a ´/freeAll´ message to it.
Now sometimes, one may want to keep certain nodes alive even with cmd-period (freeAll), or be able to specify one group where freeAll has no effect (e.g. keeping a recording running of a session).
Actually, as it turns out, nodes that are added after the root node behave in such a way. The problem is only, that they behave really inconsistently. E.g. they show up in the group count, but not in the tree dump of the server.

Some examples:

g = Group(RootNode(s), \addAfter).register;
g.isPlaying;

s.freeAll;
g.isPlaying; // true. OK - useful - groups after the root node survive cmd-period.

g = Group.new; // but obviously this breaks the node id allocator.


// alternative:
s.reboot;

g = Group.basicNew(s, s.nextPermNodeID).register;
s.sendMsg(*g.newMsg(RootNode(s), \addAfter).postcs);

g.isPlaying; 
s.freeAll;
g.isPlaying;
@telephon telephon added this to the 3.7.x milestone Sep 13, 2015
@crucialfelix crucialfelix modified the milestones: 3.7.x, 3.8 Apr 7, 2016
@nhthn nhthn modified the milestones: 3.8, 3.9 Jan 15, 2017
@mossheim
Copy link
Contributor

mossheim commented Jan 17, 2017

Tested, still an issue. (macOS 10.11, 3.9-dev)

@vivid-synth
Copy link
Member

There are no issues with how scsynth or supernova is handling these nodes though, correct?

@mossheim
Copy link
Contributor

mossheim commented Jan 17, 2017

If I understand you correctly, no, I don't think there's an issue with how scsynth is handling these nodes, it seems to be all on the language side with node allocation. The /status.reply messages indicate that the group still exists consistent with the results of Julian's g.isPlaying queries above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issues that relate to unexpected/unwanted behavior. Don't use for PRs. comp: class library SC class library
Projects
None yet
Development

No branches or pull requests

5 participants