-
Notifications
You must be signed in to change notification settings - Fork 225
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
Multi channel with phantom clients #1913
Multi channel with phantom clients #1913
Conversation
Thanks for the tip Noam ! |
Oh, great. I pulled in the new ASIOSDK too, but it is, of course, not formatted according to out rules so the Clang-format check fails :( |
I don't think you should be including the ASIOSDK code at all, rather update the lines in |
cc: @DetlefHennings |
Went back to old ASIOSDK and did some corrections on the phantom fader behaviour. |
For lack of time I did not yet look into any details. But as far as I understand, the idea behind seems to be similar to having a stereo mixer with multiple panned mono inputs in front of a Jamulus in stereo-in/stereo-out mode. |
Oops, just saw that the phantom's mutes are not working. |
@dcorson-ticino-com could you please check if you can fix the coding style check? |
I do not understand why the local style check and the github style check do not give the same results. |
The Github one is, by definition, correct. You probably have a different version of This is the main reason I want the style check run on every commit. |
So what version of clang-format should I be using locally. |
The same as the build process ideally. I'm not sure what that is. It actually looks like it might have been a bug in clang-format that makes it want to interpret the style the way it is, so a later version may be incompatible... Just one of those things. Easiest is to let Github tell you what the problems are and just fix them and not worry, in my view. The style check step only takes about 20 seconds to run, so having it run on every commit - and not run the later steps if it failed - would be really useful. |
The problem is that it wants changes in white space so it is always a pain to find what it really wants, exactly how many spaces, tabs, I don't remember exactly. |
We don't use tab characters. It provides a patch that can be applied, so it's no work, too. |
Stupid question: how would I be able to get Windows binaries? Looks like we'll be interjecting a virtual rehearsal this week because our room is occupied, and we have one pair of players with a Windows laptop where this would come in handy. I am in charge of the server and I know how to deal with that part (which is why I'd prefer a server-only option where a channel strip name "Jack & Jill" automatically splits the strip in two, obviously causing some strangeness particularly regarding "mute myself" with the unwitting client getting split). |
See the list of "checks" below all these comments and click "Details" on one of them (best in a new tab/window). Then, over to the right, above the big black box of "Details" for whatever you clicked, there's a label saying "Artifacts (6)". Had you arrived here soon enough, you could click on one of those and download the ZIP file. But, as it was 14 Jul when the last change was made, the build has now expired. So, currently, you'd need to clone https://github.com/dcorson-ticino-com/jamulus/tree/MultiChannel and build it. |
I think the easiest would be if you forked the repo |
My server setup script pulls a "deployment" branch from my fork anyway, so triggering a build from my fork looks like low-hanging fruit once I know how this is done. Will try, thanks! |
Your fork of Alternatively, and this might actually be a lot better, you can add
You need to specify both local and remote branch names in the fetch. The above procedure avoids tracking dcorson instead of your origin. You then have your own branch on Github that is a snapshot of |
In fact, there is a better procedure that doesn't involve setting
This assumes that you have remotes called |
Well thanks for the pointers, but my git-fu certainly is up to dealing with multiple remotes (my local work tree already has both my own and the original repositories as upstream). In fact, I am a lot more fuzzy about how to do things with a web interface than just via the commandline, so I am not going to make use of your advice. But it certainly should come in handy for other potential testers! |
Ok, that's cool. The bottom line is that once you have got the |
This PR still seems to be interesting, but is stale. @dcorson-ticino-com I think if someone wants to take it over it’s ok for you. I‘d like to put it on a feature branch. |
I am still interested in this, it is one of the few new features that I think is really useful, but am waiting for a version or so to see how the refactoring of the program turns out. As it is the muting seems to be done at a low level and will be difficult to get right. As the separation of UI and engine goes forward maybe this will get simpler. |
89b3d0e
to
23d80f0
Compare
Merged to a feature branch. |
Thanks for writing the comment -- I'll try to remember this time 😁 |
By the way: We should discuss what to merge to a feature branch when. Opened #2396 |
Multichannel Input using phantom clients
Dual Mono-in/Stereo-out added. Note this is not yet working for delay
panned servers. I don't understand the code, still looking on that.
There is no change to the protocol, works with old clients (of course they can't input
dual mono, but the old client can receive and manipulate the channel).
Using version number 3.9.9 and requires that on the server and client to enable dual mono.
Also compiled with the new ASIOSDK2.3.3 seems to be working fine.
I'm thinking an addition to the protocol between the dual mono input
client and server might be nice to be able to give the phantom channel a
different name and instrument. That could still work with old clients at
the receiving end. Right now I am just appending -L and -R to the name.
Short description of changes
Multichannel Input using phantom clients
Context: Fixes an issue?
Does this change need documentation? What needs to be documented and how?
Status of this Pull Request
Draft and testing, note delay pan is not yet implemented for Dual Mono-in/Stereo-out
What is missing until this pull request can be merged?
Testing, testing, testing
Agreement that we should do multichannel like this
Checklist
I've verified that this Pull Request follows the general code principles
[x ] I tested my code and it does what I want
My code follows the style guide
I waited some time after this Pull Request was opened and all GitHub checks completed without errors.
I've filled all the content above