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

Feature/show channel numbers #241

Closed

Conversation

tanjeff
Copy link

@tanjeff tanjeff commented May 17, 2020

When controlling the mixer strip levels via MIDI, the channel number of the strip must be known. But when people leave the jamulus server, their channel numbers become unused and are reused for people join thereafter. Thus, the channel number for each strip is not obvious to the user.

I added a visible channel number to the mixer. This eases the use of a MIDI controller.

I kindly ask you to pull my change. However, if you are not satisfied, please let me know. I will try to update my code accordingly.

plblCountryFlag->setToolTip ( strToolTip );
plblInstrument->setToolTip ( strToolTip );
plblLabel->setToolTip ( strToolTip );
plblChannelNumber->setToolTip ( "Channel Number" );
Copy link
Collaborator

Choose a reason for hiding this comment

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

Needs to be translatable.

@@ -140,6 +148,13 @@ CChannelFader::CChannelFader ( QWidget* pNW,
plblCountryFlag->setWhatsThis ( strFaderText );
plblCountryFlag->setAccessibleName ( tr ( "Mixer channel country flag" ) );

QString strChannelNumberText = tr ( "<b>Channel Number:</b> "
Copy link
Collaborator

Choose a reason for hiding this comment

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

HTML code shouldn't be translated. See, for example, strFaderText.

@pljones
Copy link
Collaborator

pljones commented May 17, 2020

Overall, I'd suggest this is only shown for people who are actually using MIDI automation. Others musicians won't want it.

@tanjeff
Copy link
Author

tanjeff commented May 17, 2020

Overall, I'd suggest this is only shown for people who are actually using MIDI automation.

Agreed, but this involves a little more work. I'll try to do this soon.

I can implement it in the following ways:

  • Bind the functionality to the --ctrlmidich argument, because without it, no MIDI control is possible anyway.
  • Add another cmdline parameter
  • Add an option to the settings dialog

I prefer the first one (use --ctrlmidich for it). Is this okay?

@corrados
Copy link
Contributor

Guys, first: We have a conflicting pull request: #145
This will be worked on first and this will take some time.
Second:

When controlling the mixer strip levels via MIDI, the channel number of the strip must be known. But when people leave the jamulus server, their channel numbers become unused and are reused for people join thereafter. Thus, the channel number for each strip is not obvious to the user.

Before you implement code it would be wise to first make the specification of your functionality public so we can discuss it before you start coding.

Is it the ideal solution to just display the channel numbers? I guess not. What MIDI controller are you using? Does it have motor faders? Maybe it would be better to implement MIDI out messages to control the MIDI hardware?

@tanjeff
Copy link
Author

tanjeff commented May 17, 2020

You are right, there is much room for improvement around MIDI. We can discuss the topic, but I will not be able to implement the stuff anytime soon. Where is the best place to discuss this?

To me the visible Channel numbers are of great help. For the short run, they might still be a valuable improvement :)

@corrados
Copy link
Contributor

The ideal case would be to create an issue at https://github.com/corrados/jamulus/issues and write the specification of the new feature in there (what is the current situation, what shall the feature improve, etc.). Then we can discuss the specification before starting any coding.

@corrados
Copy link
Contributor

I can read in your code: "Control this channel by sending MIDI CC messages with control number 70+channelNumber.". So you have a hardware MIDI controller with faders which have a MIDI CC message assigned. Now there are clients connected to the server but you do not know the server channel ID which is assigned to these faders. So if you want to control a certain fader for one client, you first have to look up the ID in Jamulus, then you have to find the fader using the corresponding MIDI CC message. Hmm, does not sound like a very user-friendly solution. Ok, the situation right now is that you do not know the ID so you have to try it out to find the correct fader.

First, we should make some brainstorming what could be a good (and simple) solution to the problem.

So if you, e.g., have 3 clients connected and client 1 disconnects so that in the Jamulus mixer panel, the two others are now the first and second fader where they were before the second and third. So wouldn't it be better that now you also control these two clients with your first two faders on your MIDI hardware? But the problem with that would be that the fader setting in your MIDI hardware would not reflect the actual level of that client anymore. You would have to move the fader to assign a new value and from then you are consistent again. Hmm, also not very nice.

Any other ideas?

@corrados
Copy link
Contributor

One more comment: Even if we use the fixed IDs from the server, it can be that in the above example you change the fader level of client 1, then client 1 disconnects and another client enters the server. In that case your fader position of the external MIDI device will also be incorrect. So I guess a clean solution can only be to have motor faders which are controlled by Jamulus.

@tanjeff
Copy link
Author

tanjeff commented May 21, 2020

There is already an issue on that topic: #95. I suggest to continue discussion there.

@corrados
Copy link
Contributor

corrados commented Jun 6, 2020

@tanjeff I just implemented to show the channel IDs in case the MIDI controller is used:
grafik
So you get the IDs prepend on the channel name.
The code is applied to the Git master. Here is the commit: 3307365
It you like you could try out the code and give feedback if it works ok for you.

@tanjeff
Copy link
Author

tanjeff commented Jun 21, 2020

@corrados The solution works for me. However, I would prefer the number shown in a separate row. Example:
Screenshot_jamulus_2020-06-21_16-01-35
This would increase the readability of the number (especially when the screen is a bit distant), and the number wouldn't steal space from the name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants