-
Notifications
You must be signed in to change notification settings - Fork 548
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
Timeline Bug Fixes #1914
Timeline Bug Fixes #1914
Conversation
@ferdnyc - Ready for your review. |
Awesome, it's a lot better now! I'm afraid it's still glitching under certain, limited circumstances, though. It doesn't do it every time, but only when you attempt to resize a Clip that's already at max length — you'll lose one frame of length. Easiest way to reproduce:
The Clip will shrink away from the Playhead line by one frame.
It's only when attempting to grow a Clip that's already at full length, that it still drops one frame-length. Which, as I said, is still a HUGE improvement, and so close to a complete fix. Notes
|
@ferdnyc - I tried to reproduce this behavior from your above description but it didn't work for me. Maybe this will need to be revisited at a later date. (unless I can reproduce soon) I feel #1587 more relates to your menu changes so I will leave that one alone. Looking into #1839 at the moment. Would be a nice one to solve if possible. |
Hrm, that's frustrating. Well, definitely don't worry about it for now. I'll see if I can put together a screencast or something to better demonstrate.
Not really at all... or, it does, but I wouldn't be solving any of that down the same paths, as I don't know how to build controls in the Angular world. (I could maybe figure it out, but it'd be a huge help and time-saver if you were to whip up an example/"template" or two.) That way I could keep plugging away inside the Python side of things. (And on the libopenshot configuration/build system, as I'm hoping to coordinate with @N3WWN on some enhancements to accompany the ReSVG PR.) Ultimately some changes in the Python and Angular Timeline worlds will have to be coordinated with each other, but one "upside" (hah) of the loosely-coupled Angular/Python bridge is that, for the most part, whatever we do on either side won't impact the other unless/until we deliberately choose to. What I'd propose, for #1587 — not at all what that issue is actually asking for, but it is in the same vein, or at least a stepping-stone on the way to addressing the issue itself — would be tackling what I mentioned earlier about the track lock. Would you be interested in replacing the current Lock indicator (a padlock icon that appears only when the track is locked) with an interactive control that's always visible, and can be clicked to toggle the track's Locked state? (Maybe it starts as a grayscale, 60%-opaque padlock image, and becomes solid blue when Lock is activated?) The Track menu option wouldn't even be affected; it'd still be there as an alternate way to toggle Lock status (because, why not?) — I have no plans of modifying the Track menu at all, since... well... it's five items and just fine the way it is, basically. Not that track-lock is a super high priority issue or a heavily-used part of OpenShot's functionality. But it's the one thing we currently have a visible icon for on the Timeline, so it's a prime and obvious candidate for the first conversion from menu-only feature to active interface element. Turning it into an interactive control would (a) set a precedent for migration of any other features that might make sense to have exposed in the GUI in a similar same fashion, and (b) give the rest of us a template/blueprint for building that type of feature within the Angular HTML/JS, so that we could cheat off your test instead of actually learning how it's done. 😉 Totally up to you, of course. It's just a idea I've had for a while, tho — seems silly to have to go into a menu and choose "Enable lock" to make an icon appear. Isn't the whole point of a GUI that you can click on icons to make things happen, directly? |
That would be good. I did try your instructions and I felt I really wasn't seeing such behavior but I'm open minded to the fact I may have been doing something wrong.
I see. Sounds like something good to do indeed. Lock track would be a good start. I do know that one feature people miss from OpenShot which exists in v1.x is the ability to Enable/Disable Video on a track with one click and the same feature for audio is sorely missed. It probably won't be super easy to implement features direct on the track but yeah if I could it once we then have a blueprint for future track features. |
Those are definitely the two I was thinking of next: Track enable/disable, and Track mute/unmute. |
Currently the simplest blueprint we have for how to do that is probably So, calling "back" into the Python from the Angular is apparently doable — duh, really (on my part), or there wouldn't be any way to perform actions on the Timeline, period — and I can certainly supply |
Here you go. The image is a little "meh" because the screencasting software I used encodes straight to GIF. You also have to imagine the mouse clicks. Basically, we're looking at the back end of a video clip at max length, which I move to align with the playhead line and then resize larger and smaller (or attempt to — every time you see the mouse pointer pull right from the Playhead line, I'm dragging the end of the clip). And ignore my fumbling trying to find the end handle, on the second attempt. The GIF loops forever, so when you see me moving the clip around you've gone back to the start. I only do that once. Then I demonstrate the different resizes a couple of times. |
@ferdnyc - I was recording a .gif to show you it wasn't happening for me but I think it did actually happen or at least I noticed it for the first time. 🤣 Hmm.. now to try figure it out. I might move onto one of the other bugs first, as figuring this out will likely just slow me down in a big way. |
I hope to fix the follow issues:
#1383
#1454
#1587 (maybe if possible) - Will fix in a later PR.
Current the PR:
Fixes #1383
Fixes #1454