-
-
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
Use mean based logic for controlling loop points. #4034
Conversation
@Umcaruje clicking in a certain region only selects that handle, after that
it can be dragged. I've also suggested Shift+L/R to directly set the
start/endpoint in a manner similar to the current behavior. That way those
who don't like the new behavior can use something similar to the
current/old way.
|
Looks way more intuitive than current loop points logic. |
As I understood, you divided distance between loop points on 2 parts. If some - than I agree, it's a better behaviour. +1 |
To avoid confusion. The middle mouse button could control other elements of the time line.
@Spekular The new behavior is much better than the old behavior, so I think all users will like it. |
Just gave this a try, and I like it. @Spekular, did you have some hang up with this change, or can we merge this? |
I think it would be best to allow the old method using a modifier. While
the new method is great, the old method can be faster (any time you wish to
set a loop point within the selection range of another), and in certain
situations even more convenient.
Having one easy way and one fast way to do something isn't unusual. See:
Blender and hotkeys.
…On Wed, May 9, 2018, 06:07 Colin Wallace ***@***.***> wrote:
Just gave this a try, and I like it. @Spekular
<https://github.com/Spekular>, did you have some hang up with this
change, or can we merge this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4034 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AIgVmv3TFNnbwQguiiVf650d1WiXA5Viks5twms-gaJpZM4Q2EjC>
.
|
@Spekular Okay, if there's a clean way to do that, I won't argue. I'm pretty sure the existing behavior is normal right-click moves the loop endpoint, and shift+right-click moves the loop start point. Ctrl disables the magnetic behavior. So both the shift and ctrl modifiers are in use. I guess we could somehow throw I'm not particularly fond of adding another setting like this, but also I really like the new behavior and would love if there's a way to get it in that keeps older users happy. Can you think of a good way that the old behavior could still exist alongside this one? |
Ah, I forgot about laptop users. I still think my earlier proposal works,
unless I'm missing something. It would shuffle around the controls a bit,
but that can't be avoided if this new method should be default (which I
think it ought to)
RMB: New method, select and drag
Shift+RMB: Set endpoint at cursor
Shift+LMB: Set startpoint at cursor
Ctrl: Still fine adjust
Alt: Still unused
This would unify controls for laptop (/two button) and desktop (/three
button) users, too.
…On Wed, May 9, 2018, 10:09 Colin Wallace ***@***.***> wrote:
@Spekular <https://github.com/Spekular> Okay, if there's a clean way to
do that, I won't argue.
I'm pretty sure the existing behavior is normal right-click moves the loop
endpoint, and shift+right-click moves the loop start point. Ctrl disables
the magnetic behavior. So both the shift and ctrl modifiers are in use. I
guess we could somehow throw Alt into the mix, but that many modifiers
for something seems excessive. We could tuck away an "Enable advanced
keybindings" options in the settings somewhere to control which set of
keybindings are enabled.
I'm not particularly fond of adding another setting like this, but also I
really like the new behavior and would love if there's a way to get it in
that keeps older users happy.
Can you think of a good way that the old behavior could still exist
alongside this one?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4034 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AIgVmiCsMEkQzEO8YZBpICkoEk-sKwgrks5twqQfgaJpZM4Q2EjC>
.
|
I use left-handed mouse configuration, so pressing LMB / CMB always confused me... |
@Spekular Ah! Sorry, I misunderstood your original post - thanks for having the patience to reexplain it. @Sawuare I know it's been ages since you opened this PR, but if you have an opportunity sometime to adjust the behavior to match Spekular's last comment, then I think we could get this merged. |
Shift+LMB is used for |
It can't be control because that's already used to disable the "magnetic" behavior (i.e. hold control to set a loop point that's not aligned to a bar), IIRC.
I don't know much about "SelectSongTCO": what is that/what exactly is the problem with using shift+LMB?
…---- On Thu, 10 May 2018 12:15:19 -0700 notifications@github.com wrote ----
Shift+LMB is used for SelectSongTCO. I think it should be changed to Ctrl+LMB, to leave Shift for the old loop behavior. Thoughts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
I've never used that before, but I agree that ctrl+drag would make sense
for it, considering we use ctrl+drag for box select elsewhere.
…On Thu, May 10, 2018, 21:15 Hussam Eddin Alhomsi ***@***.***> wrote:
Shift+LMB is used for SelectSongTCO. I think it should be changed to
Ctrl+LMB, to leave Shift for the old loop behavior. Thoughts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4034 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AIgVmgYv7UFr0oZfFYtisByVubr6acQqks5txJHFgaJpZM4Q2EjC>
.
|
It selects every TCO range that you drag over. It overlaps a bit with box
select but could be more convenient because:
1. You don't have to change mode to use it.
2. You don't have to scroll down while selecting if your project is very
tall.
Out of scope for this, but perhaps
…-Alt should be the fine adjust modifier in the timeline and song editor
-Shift should be the "clone" modifier in song editor, "old behavior"
modifier in the timeline
-Ctrl should be the box select shortcut in song editor and TCO select
modifier in the timeline
This would be consistent with piano roll amd allow easier box select
(perhaps select mode could be entirely removed).
On Thu, May 10, 2018, 21:38 Colin Wallace ***@***.***> wrote:
It can't be control because that's already used to disable the "magnetic"
behavior (i.e. hold control to set a loop point that's not aligned to a
bar), IIRC.
I don't know much about "SelectSongTCO": what is that/what exactly is the
problem with using shift+LMB?
---- On Thu, 10 May 2018 12:15:19 -0700 ***@***.*** wrote
----
Shift+LMB is used for SelectSongTCO. I think it should be changed to
Ctrl+LMB, to leave Shift for the old loop behavior. Thoughts?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4034 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AIgVmh2SUaT3AVURSD8c_OZ5edHZomJVks5txJc_gaJpZM4Q2EjC>
.
|
@Wallacoloo I tried and it does not even work, let alone being a clean way. |
@Sawuare The new behavior is way better... until you zoom in on a part and want to set new loop points. Can the selection be relative to the looped area visible when not both loop points are visible? |
@zonkmachine I think it would be confusing, plus it's just an extra click to move the loop point near the desired position before zooming in and making fine adjustments. |
I had even better idea. Revert every UX change from last 15 years in lmms.
|
I think we should get a poll on this before we revert it. How many like the new way? How many like the old? Is this or the previous way more intuitive? Is there a way to make this way better?
This kind of comment is not needed. |
I honestly prefer the old way because, for longer loops, I now have to zoom out or scroll a long ways to move one end of the loop. This is primarily an issue when I'm trying to loop a small section to work on balance or tune a synth. OTOH, it was inconvenient to remember which button combination moved which side of the loop. |
I agree, with all comments, especially @Veratil's proposal to make the existing behavior palatable. Interestingly enough, this regression was predicted by @Spekular and a few others, quoting: @Spekular wrote:
@Wallacoloo wrote:
... and then the conversation circles around which keyboards shortcuts are even possible. @douglasdgi writes:
My vote is the following: @lookitsnicholas, open a new bug report with a screencast of the exact problem. Tag those people here that seem vested so they're subscribed. We approach it two ways, these are NOT mutually exclusive:
|
Because it is pointless comment. Always someone complains when some changes to UX are made, so best way to avoid that will be simply to not do any changes. I have no idea if it is ever possible to do, to set loop points based on currently visible section of timeline in Song Editor. I guess it would be really complex in code. |
The person posting -- also a code contributor -- is making a usability argument for the old behavior. I too use a Macbook for production. Let's be careful how dismissive we are to our users, especially those willing to submit patches. 🍻 |
The principal fact for why this change can be not very well accepted by people is actually because it's a change. Let's be honest, tho, if we're talking about being intuitive, the new behaviour wins. Yes it can be a bit uncomfortable in doing things, but let's think about new users: moving the left point is way more accessible now. The main point while this kinda alienate me is because i'm used to the old one to the point is become something i do without even thinking. Even if key shortcut are essential in music productioni don't know if the shift-click was better or not. |
And I agree with that point about usabiity in some cases. Unlike in moment of writing first comment in this PR I currently had laptop without dedicated RMB, and luckily for me I had connected mouse to it. Without it using this scheme of control will be more difficult. Also, what if in one point in future timeline got functions which requiered access to pop-up menu? Like markers for example. But revert entire PR because someone is used to old way and want to preserve old behaviour forever? |
I think we can all agree, reverting the feature in its entirety is a bad idea. |
Probably we can keep implemented the shift shortcut for moving only the left loop point, can we? It wouldn't be a complete revert, but it's still something I dunno how much consistent it'd be tho |
Why not add an option in the settings? If each of the approaches has its advantages and disadvantages and it is difficult to decide, it may be worth putting the decision in the hands of the user. By default, this may be a new behavior because it is easier to discover. In my opinion, the old solution was much more effective. Now I often have to make a lot more moves to make sure the correct point gets changed. Especially when I don't see the starting and end point. It happens (quite often) that the point that I do not want changes and then I have to set two points again. This is quite annoying. New solution is better when you see start and end point. When loop is bigger old solution wins. |
The new one requires zooming out, is true, but it's just another passage to do. If dev were to add an option in the settings for ever change they made the settings would be an infinite list of things, so i don't know if it's the right way to go. |
In my opinion, developer should make this decision (should there be an option?) every time it is necessary. Each case/functionality is different, so there is no precedent law (if we add option once we must add option for every subsequent change). Also, there is no obligation that each task can only be done in one way if there are arguments/other scenarios for it. Option can be removed when new new solution will work fine in any scenario. |
This seems like a Band-Aid (if anything else) because it still requires that the user has to perform additional movements based on the dynamic UI. My overarching issue with this PR is not necessarily the fact that the previous behavior is changing, it is that it is breaking the objectively more efficient route with seemingly no initial reason for it to exist in the first place (which the counterarguments do not seem to directly address). If discoverability was indeed somehow the main issue, then why not add a tooltip specifying the old control scheme upon hover? Again - if there is a lot of support for this behavior existing, then I would present it as an option instead of destructively modifying the existing behavior without significant feedback. I will get to creating the new issue in a bit, I just have other things to do in the interim. |
There's no need, there's already an open issue for it: #5505 |
That was per suggestion from a previous reply, not sure if any traction was garnered in relation to that particular report. |
I didn't realized #5505 existed. @JohannesLorenz actually drew the issue pretty clearly using some ascii characters , so probably no need for a screencast (or we can edit his to include yours). What if the mean-based logic was changed to be based on the viewable region, not the entire region? |
Maybe I'm missing something, but how would that even work if the loop is located near the extreme of one side of the screen? |
Actual:
Viewable:
Un-viewable:
|
So, zoom actions would be required from the user in certain cases (see: widescreen monitor). Additionally, that does not seem to address the issue that would arise from odd-numbered measure lengths - unless the user zoomed in such that the loop filled the entirety of the screen, multiple inputs would still be necessary in order to move the right marker to the left-hand side without issues (depicted below).
What I had presumed was being suggested earlier was somewhat the opposite train of thought, where the mean-based logic was only ever active when the viewable region was less than the entirety of the track (which would be significantly less than ideal, as well). |
I feel like best in terms of intuitive use will be "vieweable mean". It requiered only to scroll to desired part in any zoom level, and loop points can be set without further scrolling. I think in my opinion lmms UX should be easy to discover and fun to use. |
Instead of arguing what will work, I'd recommend opening a new bug report and just describing what you want. A picture is worth 1,000 words. Describe the current behavior, the desired behavior and how you'll fix it. For example, GarageBand just allows you to click and drag your region, then use shift to place left and right at the cursor. It's intuitive, works for millions of users, doesn't require any complicated memorization of shortcuts or oddball mouse buttons that don't exist on laptops. GarageBand also allows loop toggling based on click on/off. I'm not stating Garageband is the holy grail of usabilby, but at some point we should just accept human interface decisions made by others that are good enough for the masses. |
But, what can be guessed from my first comments under this PR, I really liked "mean based logic" introduced in this PR and found it really easy to use. This behaviour in Garageband looks quite intuitive. I think main arguments here are:
How Garageband behave when for example loop 'end point' is far away in timeline? Like in measure 500 when visible are those from 1 to 50. |
This comment was marked as abuse.
This comment was marked as abuse.
* Use median based logic for controlling loop points. * Limit controlling loop points to right mouse button.
With this, right clicking the time line widget will set the nearest loop point.
Additionally, it only allows setting loop points with right clicking.