-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
RFC. Zoom in full screen! #5822
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
base: develop
Are you sure you want to change the base?
Conversation
|
A while back I too started on changes to add pan, rotate and zoom. I did not take that code past the just playing around stage because the priority is to first remove the restriction that prevents these features from being used except in full screen mode. I've heard changes were made in that area for IINA 1.4.1, but haven't had time to look into that. Originally the plan was for IINA 1.5.0 to remove that restriction and add other features. But Apple breaking all kinds of things in macOS Tahoe disrupted IINA's plans. The IINA 1.4.0 release was supposed to be 1.4.0-beta2. Because IINA was so broken in macOS Tahoe, quick fixes were added for some of the macOS 26 problems and IINA 1.4.0 was rushed out the door. Some important fixes that were planned for 1.4.0 were left sitting on the dock as IINA 1.4.0 sailed away. IINA 1.4.1 was a quick release to fix some more of the problems Apple introduced in macOS 26. More remain. Worse a couple of severe problems have been found in the upgraded libraries IINA is built on top of. Due to the way IINA builds libraries it can be difficult to patch and rebuild libraries when they are no long the current released version. Because of this the plan was to make IINA 1.5.0 focused on upgrading mpv, FFmpeg and the other libraries, fixing remaining macOS Tahoe problems and other regressions. That plan has run into some problems building libraries for the oldest version of macOS IINA supports (Catalina). Because of that we are currently working on an IINA 1.4.2 release with the latest version of libdav1d, more fixes for macOS Tahoe problems and fixes for other regressions. Once that release is out we will go back to working on IINA 1.5.0. Because of all this turmoil I'm unsure what the other developers are thinking with regards to features going into IINA 1.5.0. It is looking like IINA has to upgrade to mpv 0.40.0 and FFmpeg 8 to fix some of the problems. That adds significant pressure to quickly complete the development of IINA 1.5.0 and greatly limit the inclusion of any features. Another consideration has to do IINA starting to address technical debt and other long postponed work. The way the IINA UI is coded (XIBs) is now two generations behind. Work has been underway to introduce use of SwiftUI starting with the settings panel. That work can be seen on the new-pref-ui branch. Major rework like this comes with the usual problem of ongoing changes to the existing code base causing additional work as those changes then have to be reworked for the new UI code. This makes finishing and merging the new UI code a priority. Given the extra work not merging the new UI code generates I'm expecting this might be the other change included in IINA 1.5.0. Remember I'm a junior IINA developer and not always up to date on our plans. But it is looking to me like near term IINA will be very focused on a couple of releases to fix defects before the focus turns back to features. If you don't see activity on this PR in the near term, it is likely due to the priorities I described above. |
|
Hello, @low-batt! Thank you taking the time to provide me with a context and a glimpse into the IINA’s team‘s plans! 🙏 I meant those PRs exactly as a more material alternative to the Discussions section and also as a learning opportunity for myself. I was also strongly expecting that I will have to run my own “fork” of IINA locally (and to delay the upgrade to ’26 as long as possible 😄). |
|
Hi @beyondcompute, thank you so much for this! The code is nearly perfect. I merged it into my fork and expanded it a bit so that:
You can take a look and download a notarized binary release here. In my source tree the code lives in MagnificationGestureHandler.swift. |
|
Thank you, @svobs. TIL about IINA Advance! ℹ️ And wow, that looks so cool! I like the chapter markers, the control bar, etc. Also the ability to restore windows after restarting the machine and so on, is something I noticed but haven’t realized how cool it would be to have it! (Does something like #5798 have a chance of ending up there? 😄) A small piece of feedback. Top margin looks a bit tight on this view: Also I can’t import my current keyboard config (even after I removed my custom command from it). ⌨️ (OK, that got fixed here: svobs#16) Merry Christmas to everyone who celebrates! 🎄🎅 |
Thanks for the feedback/help! Looks like the top margin was a regression for pre-Tahoe Macs. The broken import looks...much older, oops. I'll soon roll out a 1.4.2 update which will include these fixes.
I've had plans to develop a generalized mechanism for making all the IINA commands bindable via input bindings configuration (you may have seen #5566), and I've had some fragments of ideas of doing the same for IINA preference keys generally (or at least a large subset of them). I'll see what I can come up with. |
That’s cool! I’ll be looking forward to those. 😌 |
Description:
A suggestion and a conversation-starter. An AI-assisted work again 🤖, so the code might need some love.
Control → Pinch tois set to “Adjust window size“. (Maybe a new setting could be introduced to keep legacy behavior if many users wish so)Control → Scroll vertically toandScroll horizontally toactions. When we are zoomed above 100%, we get panning, at 100% we get our configured actionsGeneral → Resume last playback positionsetting is enabled, zoom and pan state is also remembered. I think that‘s fine