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

--ctrlmidich improved documentation #1053

Merged
merged 5 commits into from
Dec 13, 2024

Conversation

pljones
Copy link
Contributor

@pljones pljones commented Oct 5, 2024

Short description of changes

jamulussoftware/jamulus#3394 adds a new feature to the --ctrlmidich option to allow binding a MIDI CC number explicitly to the participant's "own" channel on the server, regardless of the assigned channel number.

This required some changes to the documentation to explain how it worked. I took the opportunity to clarify (hopefully) the detailed information in Tips & Tricks.

Context: Fixes an issue? Related issues

See jamulussoftware/jamulus#3394

Status of this Pull Request

Looks okay locally.

What is missing until this pull request can be merged?

Needs reviewing and shouldn't be merged until after jamulussoftware/jamulus#3394

Does this need translation?

YES

Checklist

  • I've verified that this Pull Request follows the general code principles
  • I'm sure that this Pull Request goes to the correct branch
  • I waited some time after this Pull Request was opened and all GitHub checks completed without errors.

@pljones pljones self-assigned this Oct 5, 2024
@pljones pljones added the good first issue Good for newcomers label Oct 5, 2024
@pljones pljones added this to the Release 3.12.0 milestone Oct 5, 2024
@pljones pljones force-pushed the ctrlmidich-improved-doc branch from 4fe14d3 to a71fad6 Compare October 5, 2024 16:28
@pljones pljones force-pushed the ctrlmidich-improved-doc branch from a71fad6 to d6fbe39 Compare October 5, 2024 17:04
@pljones pljones requested review from gilgongo and ann0see October 6, 2024 10:54
wiki/en/Tips-Tricks-More.md Outdated Show resolved Hide resolved
wiki/en/Tips-Tricks-More.md Outdated Show resolved Hide resolved
wiki/en/Tips-Tricks-More.md Outdated Show resolved Hide resolved
wiki/en/Tips-Tricks-More.md Outdated Show resolved Hide resolved
@pljones pljones force-pushed the ctrlmidich-improved-doc branch from d6fbe39 to 3f90839 Compare October 7, 2024 18:58
wiki/en/Tips-Tricks-More.md Outdated Show resolved Hide resolved
@pljones pljones force-pushed the ctrlmidich-improved-doc branch 2 times, most recently from c0c64d5 to 843b811 Compare October 13, 2024 09:54
@pljones pljones force-pushed the ctrlmidich-improved-doc branch from 843b811 to 60a88a5 Compare October 13, 2024 09:57
Copy link
Member

@ann0see ann0see left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the basis that @ignotus666 also gives his ok to this...

Copy link
Contributor

@ignotus666 ignotus666 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@pljones pljones force-pushed the ctrlmidich-improved-doc branch from 60a88a5 to 61b3008 Compare October 14, 2024 17:18
@pljones
Copy link
Contributor Author

pljones commented Oct 14, 2024

Spotted another couple of places I'd said "0 is default" (when it's not -- feature disabled is default).

@ann0see
Copy link
Member

ann0see commented Nov 16, 2024

If this is mergable, please do so.

@pljones
Copy link
Contributor Author

pljones commented Nov 17, 2024

shouldn't be merged until after jamulussoftware/jamulus#3394

@pljones pljones marked this pull request as draft November 24, 2024 14:45
@pljones
Copy link
Contributor Author

pljones commented Nov 24, 2024

Converted to draft as will need reconsidering after jamulussoftware/jamulus#3426

@pljones
Copy link
Contributor Author

pljones commented Dec 4, 2024

@softins do you want to take this branch and replace the z with the d option?

@pljones pljones force-pushed the ctrlmidich-improved-doc branch from 61b3008 to dbd3f46 Compare December 10, 2024 19:02
@pljones
Copy link
Contributor Author

pljones commented Dec 10, 2024

Rebased and updated. @softins you'll probably need to fix what I've just broken...

@pljones pljones marked this pull request as ready for review December 10, 2024 19:03
@softins softins force-pushed the ctrlmidich-improved-doc branch from bb4703b to d1d4468 Compare December 11, 2024 18:13
@softins
Copy link
Member

softins commented Dec 11, 2024

@pljones I have made my updates to the docs; please review and comment if desired.

I found that the CI was failing from today. It seems like the ubuntu-latest runner has now switched from 22.04 to 24.04, and this causes the Jekyll build to fail. I pushed a commit here to pin the CI runner to ubuntu-22.04 and it then succeeded.

We ought to update the CI runner separately from this PR - I'll raise one shortly, and then revert that commit from this PR. DONE


`--ctrlmidich "1;f0*8;p16*8;s32*8;m48*8;o64"`
When this option is used on the command line, Jamulus will prepend a channel number to each Client name, which can be used to control the channel using MIDI CC numbers. In Jamulus version 3.12.0 onwards, when connected to a server of at least version 3.5.5, your own fader will always be given channel 0, and so will appear first when unsorted or sorted by channel, whether or not "Own Fader First" is enabled.
Copy link
Contributor Author

@pljones pljones Dec 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When this option is used on the command line, Jamulus will prepend a channel number to each Client name, which can be used to control the channel using MIDI CC numbers. In Jamulus version 3.12.0 onwards, when connected to a server of at least version 3.5.5, your own fader will always be given channel 0, and so will appear first when unsorted or sorted by channel, whether or not "Own Fader First" is enabled.
When this option is used on the command line, Jamulus will prepend a channel number to each Client name, which can be used to control the channel using MIDI CC numbers. In Jamulus version 3.12.0 onwards, when connected to a server of at least version 3.5.5, your own fader will always be given channel 0, and so will appear first when sorted by channel or when "Own Fader First" is enabled.

In "unsorted", if you join an occupied server, you'll go to the position in the list you arrive back at the client in. Are you guaranteed to be the first in that list?

Copy link
Member

@softins softins Dec 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested that. In 3.12.0, if you join an occupied server of 3.5.5 or later, you get channel 0 and appear first in the unsorted list.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I tested the new version by connecting to an occupied server of a recent version, my own channel always showed up first in the unsorted view. Performing the same test against a server older than 3.5.5, my own channel appeared to the right of the the prior occupants.

I haven't worked through the code to examine whether this is guaranteed, but it appeared consistent in practice.

Also my wording of the final sentence "whether or not" was intended to make clear that when unsorted or sorted by channel, the Own fader first option made no difference.

Copy link
Contributor Author

@pljones pljones Dec 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested that. In 3.12.0, if you join an occupied server of 3.5.5 or later, you get channel 0 and appear first in the unsorted list.

Does that mean the server holds multiple lists of clients, one per client, so it can consistently return the list to the client in that order? Or does it just filter the response and set to zero and move to first the client for each client it's sending the list to? Sounds like more work than needed... (Especially given how much work the client then does with the list when it arrives...)

Also my wording of the final sentence "whether or not" was intended to make clear that when unsorted or sorted by channel, the Own fader first option made no difference.

"Own Fader First" should be taken as the one that disregards sort order. To say a sort order then disregards "Own Fader First" is somewhat circular. It's either unnecessary or confusing. "Unsorted" shouldn't be expressed to mean "your own fader will be first (under some circumstances)" because that's not really that useful (even if it may be true).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested that. In 3.12.0, if you join an occupied server of 3.5.5 or later, you get channel 0 and appear first in the unsorted list.

Does that mean the server holds multiple lists of clients, one per client, so it can consistently return the list to the client in that order? Or does it just filter the response and set to zero and move to first the client for each client it's sending the list to? Sounds like more work than needed... (Especially given how much work the client then does with the list when it arrives...)

No, the server always sends its own channel numbers to every client. And from 3.5.5 it also sends the client its own server channel ID when it connects. Since the recently-merged update, each client maintains its own set of client-side channel numbers and maps between the two. It maps its own server channel number to client channel 0, and each new server-side channel to the lowest free client channel ID.

When the server sends a connected clients list to the client, the client rewrites the channel numbers in that list according to its own mapping, before passing it up to the mixer board. The mixer board doesn't need to know the client layer mapped them. But I think it processes new channels in order of channel number, rather than order in the list, which means that when processing the first list received after a new connection, it will put channel 0 first. I need to verify this by examining the code.

Also my wording of the final sentence "whether or not" was intended to make clear that when unsorted or sorted by channel, the Own fader first option made no difference.

"Own Fader First" should be taken as the one that disregards sort order. To say a sort order then disregards "Own Fader First" is somewhat circular. It's either unnecessary or confusing. "Unsorted" shouldn't be expressed to mean "your own fader will be first (under some circumstances)" because that's not really that useful (even if it may be true).

OK, fair enough. I'll commit your wording.

wiki/en/Tips-Tricks-More.md Outdated Show resolved Hide resolved
@pljones
Copy link
Contributor Author

pljones commented Dec 11, 2024

Just a few bits and pieces.

@softins softins mentioned this pull request Dec 11, 2024
3 tasks
Co-authored-by: Peter L Jones <pljones@users.noreply.github.com>
@softins softins force-pushed the ctrlmidich-improved-doc branch from 9cbf914 to 48bd5e6 Compare December 11, 2024 22:30
Co-authored-by: Peter L Jones <pljones@users.noreply.github.com>
@softins softins merged commit a3aecd8 into jamulussoftware:next-release Dec 13, 2024
1 check passed
@ignotus666
Copy link
Contributor

@softins any outstanding Weblate PRs have to be merged before a documentation (website) PR goes in... Weblate's locked up now.

@softins
Copy link
Member

softins commented Dec 13, 2024

@softins any outstanding Weblate PRs have to be merged before a documentation (website) PR goes in... Weblate's locked up now.

Oh, right, sorry. Didn't know that! Would you like me to resolve the conflict? I'm happy to, but don't want to duplicate effort.

@ignotus666
Copy link
Contributor

Don't worry, it's happened to me a few times! The way I did it was to just revert the offending merged PR, merge the Weblate PR and then this one - but feel free to apply whatever fix you think is best.

@softins
Copy link
Member

softins commented Dec 13, 2024

That sounds good to me.

@softins
Copy link
Member

softins commented Dec 13, 2024

@ignotus666 ok, I've successfully reverted this PR, and the weblate PR no longer complains of a conflict. Shall I just go ahead and merge it, or does it need checking first?

@ignotus666
Copy link
Contributor

Yes, I think you can merge it, I checked the Spanish docs and they're ok, can't speak for the other one though.

@pljones pljones deleted the ctrlmidich-improved-doc branch December 29, 2024 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants