-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add "Assign to FX Channel" context button to track #1572
Conversation
@@ -103,12 +103,14 @@ class EXPORT FxMixerView : public QWidget, public ModelView, | |||
// useful for loading projects | |||
void refreshDisplay(); | |||
|
|||
public slots: | |||
int addNewChannel(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to expose this method to use it on the Track view, is there a better approach?
850dc48
to
fbff7ff
Compare
Very nice! I'll let Vesa speak to the question you have. |
f526fca
to
65a5a90
Compare
"If the instrument is already assigned to a FX Channel" The problem is, instruments are always assigned to a FX channel. Master is also a FX channel, it's no different from any other, other than it can't be routed and outputs sound. I'm not sure if we should treat master as a sort of "anti-channel" here... The context view is also a bit ambiguous when there's a channel assigned - not instantly obvious what the option does when it only shows the current channel name. Maybe the menu option should just always be "Assign to current FX channel"... @tresf, thoughts? The slot usage is fine. |
Why is that a problem? If those images are screenshots it looks fine too me, it don't show master channel. I think everyone knows that instruments must be connected to master channel to hear sound :) |
@diizy What I mean with that sentence is: If the assigned channel is different than 0 (master). This PR is aimed at helping with somethng that's very difficult to do today, if the context option when there's already an independent channel assigned is ambiguous we can remove it (although I don't understand why it's not obvious). We can always change the PR with suggestions until it's acceptable for you guys, just tell me what's wrong. |
Maybe we can change the label "Assign to FX Channel" to "Assign to independent FX Channel" in case this improves the tool. |
I like it, a lot actually... but I understand the hesitation here... It adds convenience but also more mystique and uncertainty to what people are doing. Even if it's technically correct, I'm not sure I agree with the statement that they already have a channel assigned. I agree that these are "routed" through master by default... but... that is more properly "auto-assigned". "Auto-assign" without delegation doesn't really mean "assign" in any work flow that I use on a daily basis. But perhaps we're overthinking this feature. If we're going to have quick assignment, why not make it default, such as a checkbox "Auto-assign instruments dedicated FX tracks" or something like that. Then we use the context menu to change FX assignment to available channels and add a new item "+Add New FX Channel" at the end. But perhaps I'm over thinking it... :O) |
This was already suggested on #1215 and was my inspiration to make this feature. Actually I wanted to address that before but I thought that it was very intrusive and different from what we have today. So instead of developing that big feature I wanted to take a baby step towards a better functionality, that was the low hanging fruit in solving the usability problem of assigning independent FX Channel for an instrument. |
@diizy Now I got what you mean, retain the same label for the button whatever is the case for the instrument so that it is clear what is that button about, that's a pretty good idea. Is "Assign to independent FX Channel" more clear? Or instead of FX Channel using the word Mixer, just channel, etc..? |
Yes of course....
Or change it to "FX 0: Master" by default and use a sub-menu to allow the designation of any channel, with the option to add new at the end? |
This would only be possible if the listed channels on the submenu are not already occupied. |
Why? |
Well, I guess you're right, we can have more than one instrument on a channel. But still, a submenu with 30 channels would be very bad for usability, specially if the "Assign to new channel" is at the end. |
Then we put it at the beginning? I know this can get rather large, but I think overflowing context menus are something we're rather familiar with in the GUI world, no? :) And how nice would it be to combine two channels without leaving the Song Editor? !!!! :) Old projects may have a lot of them due to the old default channel count, but new projects should have less than twenty channels I'd hope. There are exceptions to this, but those exceptional cases can use the mixer, no? |
Vesa may also advocate for multiple channel selection as well. If possible, I'd advocate for this only with a modifier key on the keyboard (force the use of CTRL or shift for multi-channel assignement... no modified for single-channel assignment). |
I started to like this proposal, it also addresses @diizy concern of Master as an "anti-channel". |
On 01/08/2015 03:09 PM, Amadeus Folego wrote:
I'd say "Assign to current FX channel" is the most obvious since that's |
Ohh, I didn't understand that, because of the wording actually. That was pretty hard to get. So do you mind "Assign to selected FX channel" instead? |
On 01/08/2015 10:45 PM, Tres Finocchiaro wrote:
Sounds like a neat idea. |
On 01/09/2015 01:13 AM, Stian Jørgensrud wrote:
That works. |
Just prototyped the submenu idea: Some concerns:
Personally, I feel like this prototype already looks better than the original proposal. |
d1a27e8
to
1eb1c4f
Compare
Oh... I'm so excited about this feature!!! In your screenshot, I see |
@tresf This is just a coincidence, the names are all equal because I cloned the track. I updated the description with a better illustration of the feature.
I know, me too! I am using it a lot now, It makes things so easier, I can't even imagine going back :-). Thanks for the suggestion, it would not be like this if you had not proposed it. |
@@ -185,6 +185,8 @@ void FxMixerView::addNewChannel() | |||
updateFxLine(newChannelIndex); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason we're using the word "line" instead of "channel" here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, this method was not written by me so I don't really know.
I am using the "line" terminology on the parts I wrote to keep consistency with all the other parts of the code that refer to the same functionality.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can include a commit to rename the Line terminology to Channel, but I need to understand if this is necessary/viable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, you're justification is completely valid in my opinion. I didn't realize the nomenclature was already there despite having the audacity to comment under a line you hadn't change. 🍔
@badosu I may have found the problem with the separator: https://github.com/LMMS/lmms/blob/master/data/themes/default/style.css#L71
|
@tresf Great find! I'll keep that in mind. |
I still think it is not obvious that clicking "assign to new Fx channel" assigns it to the selected one. If you could add the word selected there it would be more obvious. "Assign to new (selected) channel"? If you have a lot of channels to choose from, maybe qt got a scroll arrow features, like that arrow showing up at the bottom in a right click menu when there are really many options. |
Why even care about selected? Shouldn't this instead be the first avail? |
You mean the first empty (not assigned to any instruments) channel? Good point, cause one tend to add many channels at once, not one and one, am I right? And even if the last added channel was automatically selected, it wouldn't work with that workflow. |
Yes, exactly. |
Sorry for the inconvenience but this will need to be rebased on master (fast forward and hand-edit any conflicts) before it is merged.. |
1eb1c4f
to
b2eb511
Compare
b2eb511
to
2eb420c
Compare
Hmm.... Some strange build errors there. The Zyn stuff on the Linux job should be unrelated, but the FxMixerView errors are probably valid. But to answer your question... did you end up assign the "new" FX to the current channel, or the first unused channel? |
Not your problem really. I'll file a separate issue. |
@tresf I just fixed these! "Assign to new FX Channel" creates a new FX Channel and assigns the instrument to it. The new FX Channel will have the name of the instrument. |
👍 |
FYI - Filed the menu bug 1615. |
Can't wait to test this one... It has had plenty of time for comments, addresses all requests and passes in Travis. This one is getting merged. If issues arise we can patch. |
Add "Assign to FX Channel" context button to track
Cool! :-) |
Add a new submenu to assign quickly a new or existing FX Channel for a track. This should help a lot when creating songs as it's so cumbersome to assign them manually today.
The name of the channel is set as the name of the instrument when it's created.
This relates to #48 and maybe to #1215