Page MenuHomeSolus

Update celluloid to 0.19
Needs ReviewPublic

Authored by Jacalz on Aug 8 2019, 4:40 PM.

Details

Reviewers
JoshStrobl
Group Reviewers
Triage Team
Summary

Summarized Changelog:

  • Rename gnome-mpv to Celluloid.
  • Migrate from opengl-cb to the new render API.
  • Handle numpad and unicode keybindings.
  • Forward media key events to mpv.
  • Add dconf key for controlling cursor speed threshold for unhiding controls.
  • Add option for suppressing playback errors.
  • Add support for showing/hiding window decorations using the mpv option --border.
  • Add menu item for opening discs.
  • Block cursor autohide when volume popup is open in windowed mode.
  • Fix a crash when used with mpv 0.30.
  • Adjust the range of volume button based on the value of the volume-max property.
  • Retain window maximization state across sessions.
  • Retain loop state across sessions.
  • Implement playlist search.
  • Update the list of shortcuts in Keyboard Shortcuts dialog.
  • Correctly handle quotes and escape sequences in extra mpv options.
  • Display time at cursor position when hovering the seek bar.
  • Deprecate --mpv-options. Options starting with --mpv- can be used to set mpv options instead. For example, passing --mpv-vf=vflip to Celluloid is equivalent to passing --vf=vflip to mpv.
  • Add support for configuring dead zone, an area in which mouse movement will not cause controls to be shown.
  • Make window sizing work correctly with HiDPI displays.
  • Add Turkish and Esperanto, Persian, Ukranian, Finnish and Slovenian translations.
Test Plan
  • Verify that big buck bunny with x265 encoding plays as expected.
  • Test a regular x264 video of .mov format and test that subtitles work.
  • Test a couple mp3 files to make sure that they work.

Diff Detail

Repository
R975 gnome-mpv
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

Jacalz created this revision.Aug 8 2019, 4:40 PM
Jacalz requested review of this revision.Aug 8 2019, 4:40 PM
Jacalz added a comment.Aug 8 2019, 4:41 PM

I will send a merge request tomorrow for the deprecation of gnome-mpv.

This is also going to involve me needing to make changes to our branding packages, so I'm going to be a bit conservative when it comes to landing this and making sure it happens post-sync. Thank you for the patch however, as well as to the solus-sc repo!

JoshStrobl requested changes to this revision.Oct 1 2019, 1:37 PM

Sorry for the delay, is there any chance we could get a symlink of the celluloid desktop file to io.github.GnomeMpv.desktop? That way existing pinned instances of GNOME MPV should still work. Thanks!

This revision now requires changes to proceed.Oct 1 2019, 1:37 PM
Jacalz added a comment.Oct 1 2019, 4:56 PM

Sorry for the delay, is there any chance we could get a symlink of the celluloid desktop file to io.github.GnomeMpv.desktop? That way existing pinned instances of GNOME MPV should still work. Thanks!

Doesn't that mean that the users will see two entries in their menus?

Sorry for the delay, is there any chance we could get a symlink of the celluloid desktop file to io.github.GnomeMpv.desktop? That way existing pinned instances of GNOME MPV should still work. Thanks!

Doesn't that mean that the users will see two entries in their menus?

Well we could just have a desktop file that is marked as Hidden=true, that should prevent it from showing up but may still work if pinned. More testing probably needed.

Jacalz added a comment.Oct 1 2019, 7:09 PM

I am running Budgie and I am having severe issues getting a pinned version of Gnome MPV to even start from the panel. I have tested straight out renaming the desktop file to the old file name, installing the old desktop file but with modifications for celluloid (and to be hidden) and the new desktop file with modifications to be hidden. For the first one it shows up in the menu perfectly but all of them won't start when pressed from the pinned instance in the panel. Setting the desktop files to not be hidden makes them show up in the menu and they do work, but as I said the Budgie panel doesn't want to start them when pinned for me...

As stated in the above comments, I am having weird issues when trying to make the old pinned Gnome-MPV work in Budgie. Have you been able to test it out? @JoshStrobl

I just can't get seem to get any good transition from the gnome-mpv desktop file to work. All the suggestions you gave some how just makes it so celluloid doesn't want to open using the desktop file. Any ideas? @JoshStrobl
If I can't come up with any fixes for the transition, do you want me to abandon this?

No we should probably just abandon the effort to get it to transition smoothly with this specific method. I can update our branding packages (for Budgie and GNOME) to ensure new installs are able to transition smoothly assuming no changes are made to the default icon tasklist favorites, but I'll want to pull this patch down locally and test a "fix" to Budgie to try to load io.github.celluloid_player.Celluloid.desktop in the event we specifically fail to load io.github.GnomeMpv.desktop, then proceed to update the pinned value for it in gsettings.

If usysconf wasn't completely over-engineered and the port from C to Go was complete, I could avoid all of entirely by having a usysconf trigger to fix it but that simply isn't the reality.

The patch itself looks good but I'm going to keep this as requesting changes (though none are necessary) until I get fixes worked out.

Alright. Thanks for the information :)

@Jacalz Sorry for accidentally "breaking" this update, but I stumbled upon a warning in Celluloid 0.17 changelog:

With mpv >= 0.30, Celluloid may crash during UI interactions. Apply this patch to fix.

So, given that we moved to mpv 0.30, you may want to apply this patch before Celluloid 0.17 lands in repo.

Jacalz added a comment.EditedNov 5 2019, 4:25 PM

@Jacalz Sorry for accidentally "breaking" this update, but I stumbled upon a warning in Celluloid 0.17 changelog:

With mpv >= 0.30, Celluloid may crash during UI interactions. Apply this patch to fix.

So, given that we moved to mpv 0.30, you may want to apply this patch before Celluloid 0.17 lands in repo.

Thank you very much for the heads up. I will make sure to apply the patch :)
EDIT: I will instead update to the 0.18 release that was recently released...

Jacalz updated this revision to Diff 18148.Nov 5 2019, 4:47 PM
  • Update to 0.18 to fix issues when used with mpv > v0.30
Jacalz retitled this revision from Update celluloid to 0.17 to Update celluloid to 0.18.Nov 5 2019, 4:49 PM
Jacalz edited the summary of this revision. (Show Details)
Jacalz edited the test plan for this revision. (Show Details)
Jacalz updated this revision to Diff 19510.Feb 2 2020, 1:25 PM
  • Just a safety rebuild in 2020
Jacalz updated this revision to Diff 20703.Apr 12 2020, 10:49 AM
  • Update celluloid to 0.19
Jacalz retitled this revision from Update celluloid to 0.18 to Update celluloid to 0.19.Apr 12 2020, 10:52 AM
Jacalz edited the summary of this revision. (Show Details)
Jacalz edited the test plan for this revision. (Show Details)
Jacalz added a comment.May 4 2020, 4:28 PM

I have now updated and rebased getsolus/solus-sc/pull/22 against master which means that this should be more or less ready to go as soon as getsolus/usysconf/pull/4 is merged (and when the rules for this gets done of course).

shbach added a subscriber: shbach.May 10 2020, 3:32 AM
aleksvor added inline comments.May 13 2020, 1:40 PM
files/0001-Enable-MPV-hwdec-by-default.patch
19

You may want to change this to --hwdec=auto-safe, which works similar to auto but tries only HW decoding methods which are known to be working well on most common hardware setups. This option was added in the recent release of mpv (see the doc) and is recommended to use in place of auto.

Jacalz updated this revision to Diff 21297.May 13 2020, 2:44 PM
  • Use --hwdec=auto-safe for safer hardware decoding. Thanks to @aleksvor for pointing it out.
Jacalz marked an inline comment as done.May 13 2020, 2:44 PM