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

zoom-level-presets #1571

Closed
TheRogueArchivist opened this issue May 8, 2018 · 18 comments
Closed

zoom-level-presets #1571

TheRogueArchivist opened this issue May 8, 2018 · 18 comments
Labels
💡 enhancement This issue describes an improvement, enhancement, or feature request for OpenShot stale This issue has not had any activity in 60 days :(

Comments

@TheRogueArchivist
Copy link

Currently in the newest build, the zoom level is a little frustrating for me to use because I often use the zoom level between 1 and 7. I think a good way to fix this would be to add zoom-level-presets so that anybody can change the zoom to how they like it. I would think that the best way to implement that would be a drop-down menu in the general tab of preferences. This would mean that we would have to come up with names for each zoom level. The zoom levels I know of that could be used would be:

  1. The "Increment by 1" zoom found in the current stable release. It is the best in terms of control, but most people don't use most of the levels, so it can be a bit unwieldy.

  2. The "Exponential" zoom from 8427208 and 1fe2c8e. This is probably my personal favorite, as it offers zoom-levels that progress in a logical and, for me at least, intuitive manner. I would also recommend this as the default option to use.

  3. The "Bezier Curve" zoom introduced in 836a023. I haven't really used it much, but the rate at which the zoom gets progressively faster would likely be useful to somebody working on a project with lots of big-picture and fine-detail work.

I don't know if OpenShot has ever used any other zoom-levels before the "Increment by 1" option, but if so, those should probably be included for the sake of users familiar with them. I also think that the "Increment by 1" is the single most important option to at least have, because it offers the most control. The others are easier to use, but sacrifice some power for usability.

The only alternatives I could see to the presets would be having only one zoom level or an option to set your own custom level. Having only one level does work, but one zoom-level for everyone means that it might not be convenient for some to use. Setting a custom zoom-level would be nice, but I have no idea how that would work practically speaking.

@peanutbutterandcrackers
Copy link
Contributor

I absolutely love this.

@DylanC - Can you please give this issue a cookie, Cap'ain?

@N3WWN, @ferdnyc - Since you two are still active in #918, perhaps you'd have some thoughts regarding this, gentlemen?

@DylanC DylanC added the 💡 enhancement This issue describes an improvement, enhancement, or feature request for OpenShot label May 10, 2018
@ferdnyc
Copy link
Contributor

ferdnyc commented May 10, 2018

Honestly, I was surprised to discover @jonoomph 's change (836a023) when I went back in to revisit the zoom code, for a couple of reasons.

  1. As I'd understood it, one of the original complaints about the exponential zooming (a complaint I agreed with) was that it sometimes felt like it was jumping too far from one level to the next. But at least on the innermost end of the scale (the 1-second zoom end) this new scale jumps much farther than even the exponential factors which makes me think I may have misunderstood the issue when it was raised because I had planned on doing the opposite.
  2. The set zoom levels are weird and arbitrary-seeming, which as I'd indicated in the comments on Exponential zoom levels (and only 14 of them, instead of 800) #1411 I tried to avoid even with the exponential factors (adjusting them to whole-minute and -hour increments) because I found the "weird" ruler scales that resulted from "weird" zoom levels to be disconcerting when working with OpenShot.

My plan had been to establish a zoom-level list more along the lines of:
[1 2 3 4 6 8 10 15 20 30 45 60 90 120 180 240 300 600 900 1200 1800 2700 3600 4500 5400 6300 7200]
which translated into HH:MM:SS notation would set the first ruler marking, progressively when zooming out, to:
00:00:01 → 00:00:02 → 00:00:03 → 00:00:04 → 00:00:06 → 00:00:08 → 00:00:10 → 00:00:15 → 00:00:20 → 00:00:30 → 00:00:45 → 00:01:00 → 00:01:30 → 00:02:00 → 00:03:00 → 00:04:00 → 00:05:00 → 00:10:00 → 00:15:00 → 00:20:00 → 00:30:00 → 00:45:00 → 01:00:00 → 01:15:00 → 01:30:00 → 01:45:00 → 02:00:00
(with subsequent ruler markings being multiples of the initial value)

That was my planned starting point, and then I figured I'd adjust from there, adding/removing levels if any of the jumps seemed too small or too large when actually working with them.

The selected increments aren't nicely fitted to a Bézier Curve or anything, but my inclination is to prioritize "clean" values for the zoom level (and consequent ruler scale).

So, that's my take. But, I'm reluctant to change (new) @jonoomph code... no, scratch that, I'm not "reluctant" I'm simply not doing it. I made my change to the original code, my change was subsequently changed, so to my mind submitting any further PRs touching the (now twice-modified) zoom code would be the equivalent of "edit warring" on Wikipedia. There are clearly diverging ideas of what that code should look like, so the prudent thing is to discuss any further changes before they're made so that everyone is on the same page. I've given my thoughts on the issue, and consolidated them again here, which is all I feel like I can do until we're all in agreement on how this should be dealt with.

@DylanC
Copy link
Collaborator

DylanC commented May 10, 2018

@ferdnyc - I'm surprised we seem to have just one option for zoom. Anyone with a different idea just overwrites the previous idea. Can we not just have multiple options for zoom built in and allow people to select their favourite in the preferences?

That would keep everyone happy imho. (On the users side and developers too)

@N3WWN
Copy link
Contributor

N3WWN commented May 10, 2018

Since there is a LOT of personal preference associated with the zoom, perhaps we can make some changes to make everyone (or at least most folks) happy?

An icon could be added to the right of the zoom slider which changes based on the zoom mode:

"Increment by one" : 1️⃣
"Exponential" : ^
"Bezier" : 📈

Icons would need to be found/created to properly represent the settings, of course.

The slider could also be scaled so that the far right is the entire project and far left is the highest zoom-in value (presently 1).

Since most/all of the zoom math takes place in src/classes/conversion.py, and is relatively simple (in implementation, not in design), having a toggle between different behaviors shouldn't be too difficult.

I agree that we should all agree with what we're going to do moving forward, though.

@DylanC
Copy link
Collaborator

DylanC commented May 11, 2018

@N3WWN - Being able to change it on the fly is even better than my suggestion. Otherwise I was pretty much saying the same thing. Offer all options and everyone would be happy. :)

@ferdnyc
Copy link
Contributor

ferdnyc commented May 11, 2018

I'm surprised we seem to have just one option for zoom. Anyone with a different idea just overwrites the previous idea.

Well, that's... not quite how I'd describe it.

Since there is a LOT of personal preference associated with the zoom

That's definitely not how I'd describe that.

Once upon a time, there was the zoom feature. It offered continuous zoom levels in 1-second increments from 1s to I think 300s, for maximum flexibility but requiring maximum effort, and nobody really ever thought about it at all.

Then I decided to meddle. I submitted a change to the zoom feature that attempted to make it quicker and more efficient, but removed a lot of that flexibility in the process. Too much, in fact, and created an imperfect situation. Because that change was merged into the mainline, those imperfections weren't simply a theoretical concern but a pressing issue. So a further change was made to address them.

At no point did anyone disagree with any change made, nor did any change replace anyone else's idea of how zoom should work.

The original second-by-second feature wasn't anyone's "idea" for zoom, it was simply how it worked by default, unmolested by zoom "concepts". There's nobody who thinks it should work that way or is campaigning to preserve that mode.

The exponential zoom was my first-attempt approach at a zoom "concept", but not a good one. Even I'M against that being how it works. It was bad.

The only real divergence of ideas is where we take things next, and what issues are important to consider in the design of the feature. But that's a hard discussion to have when we're missing a key participant, so I don't know.

I still have this (perhaps naive) belief that the right zoom feature will be right for everyone, and there won't be any need for multiple modes or whatever. There aren't actually any camps here, or people pushing in different directions. The way I see it, there's just people all trying to get to (hopefully) the same place, but not having too much success when it comes to the collaborative efforts that might get them there together, and ending up on different paths as a result.

@ferdnyc
Copy link
Contributor

ferdnyc commented May 11, 2018

Offer all options and everyone would be happy. :)

LOL, you must be new here. 😆 (In my experience, trying to be all things to all people somehow just leaves everyone unhappy.)

@TheRogueArchivist
Copy link
Author

Personally, I would argue that there is no one best zoom option for everyone. Exponential zoom works fine for me, but I also work with small clips where the jumps in between aren't that high. I think that having several options for zoom is a good way to go, unless we find the right zoom that is. Until that's found and agreed upon, working forward with the solid goal of adding the presets would probably be the best. If the perfect zoom is ever found, we can just add that one and set it as the default. Of course, some people probably won't like the zoom even if it is the best one out there for most people. That's all just my opinion though and all of you have far more experience when it comes to these things.

@ferdnyc
Copy link
Contributor

ferdnyc commented May 11, 2018

Personally, I would argue that there is no one best zoom option for everyone.

Agreed, and that's why that shouldn't be the goal. The goal is a zoom feature that's acceptable to everyone. "Good enough", not "best".

Of course, some people probably won't like the zoom even if it is the best one out there for most people.

And that's exactly my concern with the multiple-options thing. Once people have choices for how zoom works, then everyone wants their exact choice. None of the existing modes are quite what they'd prefer, so "Hey, can you add another zoom mode that works like this: ...?" And before you know it there are 20 different modes and it's hard to even tell half of them apart. But they're all subtly different, and you can't get rid of any of them because there's someone out there who's attached to each and every one.

@TheRogueArchivist
Copy link
Author

Once people have choices for how zoom works, then everyone wants their exact choice.

That is a good point. Of course, such requests can always be closed, but dealing with that could very well be a large hassle. Personally I would still say the benefit of having the options outweighs the negative, but I wouldn't have to deal with the annoyances that come with it so I can't judge that properly.

The best option would probably be to add an adjustable zoom level, but that would take a lot more work, and I honestly don't know how that would work. Maybe giving an option to tweak the presets would be more viable, but I don't know anything about that either. Also, I don't like the idea for settling with just the most acceptable option, but as I can't help actually implement that (at least not yet), I can't really ask anybody else to work on it.

@DylanC
Copy link
Collaborator

DylanC commented May 12, 2018

@ferdnyc - Perhaps what we need is a zoom toggle between "normal" and "precision". This would allow the normal behavior for people who are throwing together videos in a not so precise manner and also the precision mode would help those who really need clips to be aligned very accurately.

I still feel the 3 modes toggle might be cool but if not just the toggle between 2 modes mentioned above should be enough for everyone.

@peanutbutterandcrackers
Copy link
Contributor

If we could have zoom-level-presets, though, then pretty sure we could have these 3 zoom levels and a fourth one (custom) that the users can themselves specify. Perhaps someone can even volunteer to open up an 'OpenShot zoom-level presets' repo where we'd have all sorts of crazy zoom levels that users can download and use? That way, we'd have the 3 most good-enough zoom levels by default and also this custom one that the user can specify, somehow... (perhaps a python function that'd return certain sequences? or maybe just a .json file with various numbers that'd act as the next step of the zoom?)

@yvz5
Copy link

yvz5 commented Jun 17, 2018

why dont you just implement mouse wheel zoom ? ctrl + mouse wheel would zoom in or zoom out. I find it confusing to click on a weirdly placed plus and minus buttons just above the time line in order to zoom the timeline. we dont need any presets. everybody uses different levels of zoom. just let users decide.

@peanutbutterandcrackers
Copy link
Contributor

I think mouse wheel zoom is already there. The last time I was using OpenShot with an external mouse, I am fairly certain I was able to do so. However, even with the mouse-wheel roll, the zooms will happen according to said 'preset', good sir. That is why it is important for us to figure out how to keep everybody happy.

@TheRogueArchivist
Copy link
Author

Could the current bezier curve zoom be rolled back in favor of the original +1 zoom for now? Until we can decide about the presets, I think that that would be the best single zoom option to have.

@peanutbutterandcrackers
Copy link
Contributor

Hmm... at the moment, yes. It does seem so. I will try to get the devs attention towards this, too. 👍

@DerGenaue
Copy link
Contributor

DerGenaue commented Aug 19, 2018

FYI: For anyone reading this thread:
This has apparently been recently addressed in this PR / commit:
#1944
7a8ab0c

@stale
Copy link

stale bot commented Oct 27, 2020

Thank you so much for submitting an issue to help improve OpenShot Video Editor. We are sorry about this, but this particular issue has gone unnoticed for quite some time. To help keep the OpenShot GitHub Issue Tracker organized and focused, we must ensure that every issue is correctly labelled and triaged, to get the proper attention.
This issue will be closed, as it meets the following criteria: - No activity in the past 180 days - No one is assigned to this issue
We'd like to ask you to help us out and determine whether this issue should be reopened. - If this issue is reporting a bug, please can you attempt to reproduce on the latest daily build to help us to understand whether the bug still needs our attention. - If this issue is proposing a new feature, please can you verify whether the feature proposal is still relevant.
Thanks again for your help!

@stale stale bot added the stale This issue has not had any activity in 60 days :( label Oct 27, 2020
@stale stale bot closed this as completed Nov 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 enhancement This issue describes an improvement, enhancement, or feature request for OpenShot stale This issue has not had any activity in 60 days :(
Projects
None yet
Development

No branches or pull requests

7 participants