Replies: 1 comment 1 reply
-
Hmm. Need to think a bit more about that. In general, I like this idea. Putting many recording controls on the client might evoke the impression that the client does the recording. Certainly not what we want to evoke. Do we really complexity with the quorum feature? What’s the benefit? Linking #1847 by @Rob-NY and #1789 by @cmdahoney here since they‘re somewhat related (although far) |
Beta Was this translation helpful? Give feedback.
-
The dirty hack of SIGUSR1/2 was never meant to be the permanent way of controlling the server recording feature. It worked locally for me but I did want to improve it. I've just never got around to it -- and then various people have developed work-arounds that effectively back-door your server to issue the SIGUSR1/2 commands, remaining not something you just want to be handing out.
I've obviously been brewing this over for a while and it's finally percollated out into something presentable.
You'll notice I start from the low level and work up to the UI -- having tried to start from the high-level of the Jamulus user... I hope everything joins up in the middle (but the UI probably needs more thinking time... and some mock ups).
As a Jamulus user, when a server offers recording
I want to be able to control participation in the recording
As a Jamulus server operator, when I make recording available
I want to control what facilities a user will have in controlling the server
As a Jamulus developer,
I want to ensure backwards compatibility for both client and server versions
Currently, when a server receives a new client connection:
vecChannels[iChID].CreateRecorderStateMes ( JamController.GetRecorderState() );
A client unable to process the Recorder State message silently ignores it
Proposal: a new Recorder Control State message
(Optionally) send this after the Recorder State message
Additionally propose a new Recorder Control Request message
Recorder Control methods and meanings are:
Protocol:
0 - undefined (should never happen, internal)
1 - on-off
2 - opt-in
3 - opt-out
4 - quorum-yes
5 - quorum-no
Server set up:
Server behaviour, if recorder control support active:
Currently the recorder does not worry about how many channels there are
so tracking "quorum" needs some further thinking.
Server UI and preference should also be update...
Client side:
unchecked otherwise
unchecked otherwise
unchecked otherwise
unchecked otherwise
Storing client preferences:
Beta Was this translation helpful? Give feedback.
All reactions