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

Some feature requests #4961

Open
giovariot opened this issue May 29, 2024 · 2 comments
Open

Some feature requests #4961

giovariot opened this issue May 29, 2024 · 2 comments

Comments

@giovariot
Copy link

giovariot commented May 29, 2024

I'm trying to use the program to summarize some video lessons, so using it for this task I've thought about 2 useful features that would be useful for that task as well as some other thoughts about the player in general.

I'd love to be able to select text using the live text feature of macOS while the video is paused. Do you think it would be possible to implement such feature using ImageAnalysisInteraction?

Also I tried editing the Key Bindings configuration in order to use the ⏪️⏩️ keyboard keys (corresponding to the F7 and F9) while writing text on another program to make them seek -5 and +5 seconds instead of playing next or previous items. Still, even if I edited the NEXT and PREV keys into the mpv commands "seek -5" and "seek 5", pressing ⏪️⏩️ it's still starting to play other items.

I've also noticed the player customizable toolbar is missing a simple audio language selection button similar to the one used for subtitles, which is a control present in the standard mpv version. I'd love to add such a button to the custom toolbar as it'd be very comfy.

I've also noticed the app is still using mpv 0.35 instead of the newer 0.38 and ffmpeg 6.0 instead of the newer 7.0. Compared to the standalone mpv player playback and jumps from small window to full screen iina feels less snappy, could this usage of older version be the reason why?

Also a nice ease-of-use function would be a double-click-to-reset feature on the sliding bar for controlling video equalization (such a double click to bring back the brightness control to zero and so on). Now double clicking anywhere on the slider it just sets the value to the clicked area.

Thanks a lot to the developers, this is a really great project.

@low-batt
Copy link
Contributor

Caught us very busy working on a new release. So for now, just a couple of comments…

Compared to the standalone mpv player playback and jumps from small window to full screen iina feels less snappy, could this usage of older version be the reason why?

By default mpv will use a zooming animated transition effect when transitioning from a small window into full screen mode. I would not term that snappy. Are you setting the mpv native-fs option to no? With that setting mpv will directly transition to full screen mode without any transition. That could be the snappy behavior you are referring to.

The behavior of IINA when transitioning from a small window into full screen mode depends upon two settings:

For the fastest transition from a small window into full screen mode enable both of these options. The IINA Use legacy full screen setting can found in the Behavior section on the General tab.

I'd love to be able to select text using the live text feature of macOS while the video is paused

This was discussed in issue #4168. I looked into using live text. At that time the Apple documentation was focused on iOS. I had trouble getting the Apple sample code to work. That was quite a while ago, so the situation may be better now. I just have not had time to get back to looking into it.

@svobs
Copy link
Contributor

svobs commented May 30, 2024

By default mpv will use a zooming animated transition effect when transitioning from a small window into full screen mode. I would not term that snappy.

I felt compelled to look at this as I had not yet looked into what mpv does for its full screen toggle animation. When entering/exiting native full screen, the total toggle time of 0.5 seconds is fixed by MacOS which is beyond mpv's control or our control. I ran several "tests" where I toggled different window sizes with both the latest develop commit of IINA via Xcode and mpv 0.38, and eyeballed the results. It did seem like mpv is snappier.

I played with the animations' timing functions but those don't seem different. However, I found that decreasing the duration by 1/4 did work and got pretty close to mpv. Like this:

  func window(_ window: NSWindow, startCustomAnimationToEnterFullScreenOn screen: NSScreen, withDuration duration: TimeInterval) {
    NSAnimationContext.runAnimationGroup({ context in
      context.duration = duration * 0.75  // ⬅️ added
    // …

  func window(_ window: NSWindow, startCustomAnimationToExitFullScreenWithDuration duration: TimeInterval) {
    if NSMenu.menuBarVisible() {
      NSMenu.setMenuBarVisible(false)
    }
    let priorWindowedFrame = fsState.priorWindowedFrame!

    NSAnimationContext.runAnimationGroup({ context in
      context.duration = duration * 0.75  // ⬅️ added
    // …

It looks like in Ventura we can now speed up the custom animation 🙂 Looks like they are doing something right. Although this is not the same thing as speeding up the overall toggle, which is still 0.5s. Even after the zoom to max size, the window's gray outline won't disappear until it's finished. But it does make the transition seem subjectively faster.

Also I tried editing the Key Bindings configuration in order to use the ⏪️⏩️ keyboard keys (corresponding to the F7 and F9) while writing text on another program to make them seek -5 and +5 seconds instead of playing next or previous items. Still, even if I edited the NEXT and PREV keys into the mpv commands "seek -5" and "seek 5", pressing ⏪️⏩️ it's still starting to play other items.

Hmm. I tried unchecking Use system media control and adding these bindings, but doesn't look like they work. I will need to investigate more and see if this qualifies as a bug.

I've also noticed the player customizable toolbar is missing a simple audio language selection button similar to the one used for subtitles, which is a control present in the standard mpv version. I'd love to add such a button to the custom toolbar as it'd be very comfy.

Also a nice ease-of-use function would be a double-click-to-reset feature on the sliding bar for controlling video equalization (such a double click to bring back the brightness control to zero and so on). Now double clicking anywhere on the slider it just sets the value to the clicked area.

Sounds like these would be great feature requests. Might get more traction if filed individually 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants