supercollider icon indicating copy to clipboard operation
supercollider copied to clipboard

Give server volume control permanent nodeID

Open adcxyz opened this issue 5 years ago • 7 comments

Purpose and Motivation

Setting volume on the server can be made more robust and easier to reason about: By giving it a known permanent nodeID, and creating a permanent synth object for it, there are much fewer possibilities for the volume state to get out of sync. A second advantage is with remote servers (as used in network music): with permanent nodeID, it becomes trivial to get and set volume values from a remote client if desired. This PR is the first infrastructural step toward this.

Types of changes

  • New feature

To-do list

  • [x] Code is tested
  • [x] All tests are passing
  • [ ] Updated documentation
  • [x] This PR is ready for review

adcxyz avatar May 31 '20 14:05 adcxyz

thanks! this seems like a good idea to me.

with permanent nodeID, it becomes trivial to get and set volume values from a remote client if desired.

how is that nodeID communicated to the remote client after this PR? i don't see a clear way of doing that, is that future work?

mossheim avatar May 31 '20 15:05 mossheim

By giving it a known permanent nodeID, and creating a permanent synth object for it, there are much fewer possibilities for the volume state to get out of sync.

does this happen often in normal usage? or are you just trying to predict and alleviate user error? if it's the former, that might point to problems in the core library...

mossheim avatar May 31 '20 15:05 mossheim

By giving it a known permanent nodeID, and creating a permanent synth object for it, there are much fewer possibilities for the volume state to get out of sync.

does this happen often in normal usage? or are you just trying to predict and alleviate user error? if it's the former, that might point to problems in the core library...

Not often, but sometimes yes, and without user errors of any kind. @mlang just pointed out a possible case on sc-dev: https://www.listarc.bham.ac.uk/lists/sc-dev/msg00148.html

Given the current rise in networked music activity, making shared remote servers work better seems desirable.

adcxyz avatar May 31 '20 16:05 adcxyz

https://www.listarc.bham.ac.uk/lists/sc-dev/msg00148.html

sorry, this link didn't work, it timed out for me..

Given the current rise in networked music activity, making shared remote servers work better seems desirable.

i agree!

mossheim avatar May 31 '20 17:05 mossheim

Thanks for comments so far - I had an idea for an improvement I'd like to test before merging this: Volume could create its own Group with permID 2 and create the synth in that group. Then amp settings could go to the group, so they would survive on the server whether the synth is there or not. will test that today with the laptops I have at home now for testing network setups.

adcxyz avatar Jun 01 '20 07:06 adcxyz

https://www.listarc.bham.ac.uk/lists/sc-dev/msg00148.html

sorry, this link didn't work, it timed out for me..

just tested it, works here, so maybe try again?

adcxyz avatar Jun 01 '20 07:06 adcxyz

@adcxyz - sorry about the delay. We are trying to clear out PRs for 3.13, is this still something you would like to see merged?

joshpar avatar Feb 20 '22 21:02 joshpar

Hi @adcxyz are you planning on working on this anytime soon? We are getting ready for 3.13 release candidate

dyfer avatar Oct 25 '22 01:10 dyfer