Git Product home page Git Product logo

clapper's Introduction

Clapper

Flatpak Flatpak Nightly Crowdin Matrix Donate

Clapper is a modern media player designed for simplicity and ease of use. Powered by GStreamer and built for the GNOME desktop environment using GTK4 toolkit, it has a clean and stylish interface that lets you focus on enjoying your favorite videos.

This application aim is to offer all the essentials features you'd expect from a video player in a simple form.

Clapper uses a playback queue where you can add multiple media files. Think of it like a playlist that you can build. You can easily reorder items or remove them from the queue with a simple drag and drop operation.

Components

Clapper's codebase consists of 2 libraries using which main application is built:

Both libraries support GObject Introspection bindings. A simple application example can be found here.

Above libraries are licensed under LGPL-2.1-or-later. You are free to use them in your own projects as long as you comply with license terms. Please note that until version 1.0 they should be considered as an unstable API (some things may change without prior notice).

Clapper Vala bindings are part of this repo, while Rust bindings can be found here.

Installation from Flatpak

The Flatpak package includes all required dependencies and codecs. Additionally it also has a few patches, thus some functionalities work better in Flatpak version (until my changes are accepted upstream). List of patches used in this version can be found here.

Download on Flathub

Packages in Linux Distributions

Packaging status

Pre-built RPM packages are also available in my repo (see status).
Those are automatically built on each git commit, thus are considered unstable.

Installation from Source Code

meson setup builddir
cd builddir
meson compile
sudo meson install

If you want to compile app as Flatpak, remember to clone this repo with --recurse-submodules option.

Questions?

Feel free to ask me any questions. Come and talk on Matrix: #clapper-player:matrix.org

Translations

Preferred translation method is to use Clapper Crowdin web page.

Crowdin does not require any additional tools and translating can be done through web browser. You can login using GitHub account or create a new one. Only I can add new languages to this project, so if your language is not available, please contact me first.

Special Thanks

Many thanks to sp1ritCS for creating and maintaining package build files. Big thanks to bridadan and Uniformbuffer3 for helping with testing V4L2 and NVDEC hardware acceleration methods. Also words of appreciation for JanGernert who made and is sharing Clapper Rust bindings.

Thanks a lot to all the people who are supporting the development with their anonymous donations through Liberapay. I ❤️ U.

clapper's People

Contributors

1maxnet1 avatar bridadan avatar carlosgonz0 avatar g7 avatar igor-dyatlov avatar jakedane avatar juxuanu avatar mattblaha avatar milotype avatar rafostar avatar sastofficial avatar seadve avatar sp1ritcs avatar trivoxel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clapper's Issues

Use Flathub Beta channel

He, cool video player! It reminds me a lot of Celluloid, and it would be cool to see how it developers.

As for early distribution, you can talk to the maintainers at Flathub about providing a beta channel. That way, you can distribute it to users without having to rely on your own server.

Unable to play HEVC - vaapidecode error

I do not know how feasible it is to get H.265 decoding support due to the license but at the moment Clapper can not play HEVC files while Totem and VLC are able to.

App design changes for GNOME 40

The current trends in GNOME 40 (and in GTK4) is to round everything. Looking at recent GNOME Apps mockups the headerbars for media apps (e.g. camera, videos) are being removed and floating round buttons on top of video are used for the "content comes first" feeling.

This is the new design about which I asked users on Reddit (with few more small improvements):
Screenshot from 2021-02-06 23-53-10

Voting ended with results:
Screenshot from 2021-02-06 23-39-40

There were also 17 upvotes on the comment to wait until more apps adapt to these new guidelines.

Considering all of the above and the fact that some linux distros like Ubuntu are putting GNOME 40 update on hold, I will slowly work towards having this later on.

If and only if this will not complicate the code too much, I will add an option in preferences to switch between "classic" and "modern" look. Hopefully this will make everyone happy.

Xorg: crash on open volume popover then enter fullscreen

well seems that clapper crashes on this occasion

steps to reproduce

1 open clapper
2 open the volume bar
3 double click to full screen
4 clapper crashes

think this may be helpful...

(com.github.rafostar.Clapper:14857): Gdk-CRITICAL **: 00:14:46.425: gdk_surface_request_layout: assertion 'frame_clock' failed

(com.github.rafostar.Clapper:14857): Gdk-WARNING **: 00:14:46.426: The program 'com.github.rafostar.Clapper' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 3440 error_code 3 request_code 12 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

4 icons missing on the clapper interface

4 icons missing (Floating mode, full screen and both icons near the volume)
ArchLinux, Gnome 3.38.1 on Wayland
Installed clapper with Flatpak
Intel® HD Graphics 2500 (IVB GT1)

slurped

Flatpak: Cannot drag video file into Clapper

Dragging a video file from Nautilus into the Clapper Flatpak window does nothing.

I expect the video to start playing.

I believe this is a Flatpak issue [1][2][3], if so it could be added to #35.
Interestingly the third link says GTK 4 should fix it, but clearly there is more to it.

Distro: Fedora 34 silverblue

App window is almost entirely translucent

Hi,

So I apologize beforehand in case this is a known issue or has been previously reported (though I did search, and looked through closed issues as well). It just feels like a problem you'd already know about, but I could not find anything.

I built and ran clapper locally like this:

$ git clone https://github.com/Rafostar/clapper
$ cd clapper
$ meson build --prefix=/usr/local
(... fails once or twice while I install missing deps, etc ...)
$ ninja -C build
$ sudo ninja -C build install
$ com.github.rafostar.Clapper

And the result is a window that is almost entirely translucent, except for a few parts like the bottom bar and the top-right window controls. I've attached a screenshot of it running over a black empty terminal, and one with it showing a video over the same terminal.

Note how even with a video playing, you can clearly see the terminal behind it.

I've also attached logs from meson and ninja.

An entirely separate issue, but it looks to me like the controls (bottom bar) are slightly blurry as well.

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1070/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 460.56

Linux plantasjen 5.12.0-051200rc2-generic #202103052202 SMP Sat Mar 6 06:06:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

3   │ X.Org X Server 1.20.10
   4   │ X Protocol Version 11, Revision 0
   5   │ [     4.364] Build Operating System: linux Ubuntu
   6   │ [     4.364] Current Operating System: Linux plantasjen 5.12.0-051200rc2-generic #202103052202 SMP Sat Mar 6 06:06:18 UTC 2021 x86_64
   7   │ [     4.364] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.12.0-051200rc2-generic root=UUID=7730f8dd-102c-4889-b2eb-29a4075f3383 ro quiet splash vt.handoff=7
   8   │ [     4.365] Build Date: 22 February 2021  10:54:42AM
   9   │ [     4.365] xorg-server 2:1.20.10-3ubuntu3 (For technical support please see http://www.ubuntu.com/support) 
  10   │ [     4.365] Current version of pixman: 0.40.0

install-log.txt
meson-log.txt
dot_ninja_log.txt
clapper-video
clapper-empty

Show main menu button in fullscreen

well simply enough, it would be nice to have the ability to open a video while in fullscreen, if it's already there anyway i don't see the button...

Chromecast / screen streaming

Having an option to be able to steam to chrome cast or other screen streaming services would be great. The only other media player I know that has this option is VLC and it would be really good feature to have on a gtk based media player.

[Feature Request] Tracker based Bibliothek view (like Foliate for Ebooks)

Hi. Clapper is a great application for viewing videos. Sadly if I launch it by itself I only get this:
Bildschirmfoto von 2021-03-30 09-56-46

Now another project I love is Foliate. And I think a feature of it would fit just fine into Clapper: the Bibliothek view
grafik

where it (can) ask tracker about indexed files and list them. GNOMEs Video (totem) also provides something like this.

Use dark style by default

As a general rule, media-heavy apps (such as video or photo apps) use Adwaita dark, in order to highlight the content.

Very prominent timestamps

The timestamps in the bottom bar are very prominent currently, which looks weird and can make the seek bar feel constrained at narrow widths:

image

I'd recommend doing something more similar to Totem, i.e. not showing leading zeros where possible, and maybe having one timestamp on each side rather than both on the left.

image

mkv glitch

libva info: VA-API version 1.11.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_11
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.11 (libva 2.9.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.2.0 (ddf7bbce)
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileVP8Version0_3          :	VAEntrypointVLD

bug.mp4

Unreliable playback of h264 video.

I'm having a weird issue that I didn't have when I last tested Clapper (an older version of it and Fedora), some (1 out of 3 more or less) h264 videos just won't play (I get only a black screen and no audio) and a few of the ones that work have an issue that they freeze when I hit play/pause multiple times. It doesn't seem to be related to the audio codec, bitrate, container or resolution. I initially thought that it was an issue with Gstreamer (considering that I'm running Fedora 34 Beta), but all the videos work normally with Totem (and Celluloid - former Gnome MPV).

I tested multiple older MPEG-1 video files and some 4K VP9 ones and it doesn't happen with them.

Error: monitor is null

When run in a terminal, it prints this error message, which might be related:

(com.github.rafostar.Clapper:2): Gjs-CRITICAL **: 15:11:37.371: JS ERROR: TypeError: monitor is null
_onWindowMap@/app/share/com.github.rafostar.Clapper/src/widget.js:562:26
_onWindowMap@/app/share/com.github.rafostar.Clapper/src/app.js:50:22
vfunc_activate@/app/share/com.github.rafostar.Clapper/src/appBase.js:57:28
main@/app/share/com.github.rafostar.Clapper/src/main.js:12:15
run@resource:///org/gnome/gjs/modules/script/package.js:206:19
@/app/bin/com.github.rafostar.Clapper:12:9

I already tried reinstalling Clapper, both from the AUR and Flatpak, and enabling vah264dec. totem plays every video I have on my machine, so this isn't a GStreamer issue.

Some more info:

Laptop model: ASUS ZenBook Duo (UX481FLY)
CPU: Intel Core i7-10510U
GPU1: Intel UHD Graphics
GPU2: Nvidia GeForce MX250 (proprietary driver, not used by default)
RAM: 16GB
Distro: Arch
Display server: Wayland

Black screen

System: arch, builded from AUR
After start I see this:
image

Feature request: Playback Speed

Hello and thanks for this awesome project, I am using it since you announce it on r/gnome very nice and much better than celluloid or totem.

One feature that would be nice to have is playback speed, so we can change between 2x, 1.75x, 1.5x, 1.25x, 1x, 0.75x, 0.5x, 0.25x

Flatpak: No decoder available for type 'audio/x-dts'

Flatpak package seems to be missing DTS audio plugin.

0:00:22.553266395     2 0x7f24c0013060 WARN            uridecodebin gsturidecodebin.c:957:unknown_type_cb:<uridecodebin0> warning: No decoder available for type 'audio/x-dts, framed=(boolean)true, rate=(int)48000, channels=(int)6, endianness=(int)4321, depth=(int)16, block-size=(int)512, frame-size=(int)2012'.

Round bottom corners

With GTK4 (and HdyWindow in GTK3) we're moving to rounded bottom corners on all windows.

I don't know what exactly you need to do to get it in this case, in theory it should come automatically if you use the latest GTK, but not sure.

Implement translations

I see there are UI elements marked as "translatable" but there is no po directory ready for people to translate.

download subtitles

totem has a very nice function that let me download subtitles from opensubtitles, in every desired language, that would be nice to have in clapper too, it's actually the only thing that prevent me from switching...

Youtube urls

The option to open url's is great but unlike some other apps it doesn't support youtube urls. applications such as celluloid support this and I believe it is a great feature and should be implemented.

[Feature Request] show cover images for music files

When playing music files (I tested flac and mp3), Clapper does not show cover images, just a black empty screen. This does not happen on Gnome Videos, Celluloid and MPV. I don't know if it's intended or a bug. BTW, thanks for this player, I'm really enjoying it.

Top left menu disappeared

114407304-c9075500-9b97-11eb-9c49-264b4d7ec2fd

Possible Causes :

  • Switching from KDE (and randomly configure something, i don't know what) and back to Gnome
  • Update to Gnome 40

Clapper is using wrong volume scale or isn't it???

Right now player volume scale is linear. From what I understand about human hearing perception, volume sliders should usually use cubic volume. Otherwise the player volume slider will not reflect the slider inside GNOME Settings app (in Sound tab).

Should I switch to cubic scale 🤔? Feedback is welcome here.

Asking for a quick status update

As gtk4 is now in the official arch extra repo, how far is the process of getting your gstreamer patches merged into upsteam?

Feature request: Multiple instances

First of all, thanks for Clapper! VLC and MPV both did not like it at all when I moved to Gnome 40+Wayland+Nvidia combo, but Clapper has been rock solid and fast.

When I open a video file in Clapper and there already is a video playing, the new video replaces the previously opened video. If possible, it would be nice if there was an option to make it so that opening a new video launches a new instance instead, and allows you to watch multiple videos at the same time. This would be similar to VLC's "Allow only one instance" option.

Playing multiple videos at the same times is sometimes useful when the content doesn't require 100% attention to it, like a lecture video or something, and you want to do a bit of multitasking.

i965: Clapper segfaults when playing DASH-MPD playlist

Steps to reproduce:

  1. Run: com.github.rafostar.Clapper "http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_4s/RedBullPlayStreets_4s_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd"
  2. Clapper starts playing the first segment
  3. Clapper throws SIGSEGV
  4. ??
  5. Profit

When running inside of Valgrind, it crashes after about 7s and natively only 3-4s. So I assume it's some kind of memory issue.

Valgind log:

==20890== Memcheck, a memory error detector
==20890== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==20890== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==20890== Command: /usr/bin/com.github.rafostar.Clapper http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_4s/RedBullPlayStreets_4s_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd
==20890== 
==20890== Warning: set address range perms: large range [0x1dcec4225000, 0x1dcf43e25000) (noaccess)
--20890-- WARNING: unhandled amd64-linux syscall: 315
--20890-- You may be able to write your own handler.
--20890-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--20890-- Nevertheless we consider this a bug.  Please report
--20890-- it at http://valgrind.org/support/bug_reports.html.
==20890== Warning: unimplemented fcntl command: 1033
==20890== Thread 21 gstglcontext:
==20890== Invalid read of size 4
==20890==    at 0x1C3446FB: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0x1F72968F: ???
==20890==    by 0x1C464BA8: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0xF80FD22: gst_gl_memory_copy_teximage (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF810067: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF80AC30: gst_gl_memory_copy_into (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF80CE98: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF7F0BE3: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF81CD02: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF81CCC1: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0x49C3C76: ??? (in /usr/lib64/libglib-2.0.so.0.6600.7)
==20890==    by 0x49C7F56: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6600.7)
==20890==  Address 0x30 is not stack'd, malloc'd or (recently) free'd
==20890== 
==20890== Invalid read of size 4
==20890==    at 0x1C3446FB: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0x1C3446FF: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0x1C464BA8: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0xF80FD22: gst_gl_memory_copy_teximage (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF810067: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF80AC30: gst_gl_memory_copy_into (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF80CE98: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF7F0BE3: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF81CD02: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF81CCC1: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0x49C3C76: ??? (in /usr/lib64/libglib-2.0.so.0.6600.7)
==20890==    by 0x49C7F56: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6600.7)
==20890==  Address 0x30 is not stack'd, malloc'd or (recently) free'd
==20890== 
==20890== 
==20890== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==20890==  Access not within mapped region at address 0x30
==20890==    at 0x1C3446FB: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0x1C3446FF: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0x1C464BA8: ??? (in /usr/lib64/dri/i965_dri.so)
==20890==    by 0xF80FD22: gst_gl_memory_copy_teximage (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF810067: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF80AC30: gst_gl_memory_copy_into (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF80CE98: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF7F0BE3: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF81CD02: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0xF81CCC1: ??? (in /usr/lib64/libgstgl-1.0.so.0.1803.0)
==20890==    by 0x49C3C76: ??? (in /usr/lib64/libglib-2.0.so.0.6600.7)
==20890==    by 0x49C7F56: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6600.7)
==20890==  If you believe this happened as a result of a stack
==20890==  overflow in your program's main thread (unlikely but
==20890==  possible), you can try to increase the size of the
==20890==  main thread stack using the --main-stacksize= flag.
==20890==  The main thread stack size used in this run was 8388608.
==20890== 
==20890== HEAP SUMMARY:
==20890==     in use at exit: 95,646,731 bytes in 292,123 blocks
==20890==   total heap usage: 1,356,930 allocs, 1,064,807 frees, 419,459,212 bytes allocated
==20890== 
==20890== LEAK SUMMARY:
==20890==    definitely lost: 61,648 bytes in 163 blocks
==20890==    indirectly lost: 38,566 bytes in 1,569 blocks
==20890==      possibly lost: 27,792,897 bytes in 21,794 blocks
==20890==    still reachable: 67,182,016 bytes in 265,503 blocks
==20890==                       of which reachable via heuristic:
==20890==                         length64           : 19,944 bytes in 273 blocks
==20890==                         newarray           : 3,072 bytes in 81 blocks
==20890==                         multipleinheritance: 312,192 bytes in 319 blocks
==20890==         suppressed: 6,668 bytes in 7 blocks
==20890== Rerun with --leak-check=full to see details of leaked memory
==20890== 
==20890== For lists of detected and suppressed errors, rerun with: -s
==20890== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
[1]    20890 segmentation fault (core dumped)  valgrind com.github.rafostar.Clapper

I'll append a --leak-check=full --show-leak-kinds=all dunno if you can do something with that, but my browser crashes if I'd paste it here, as it has 835030 lines.
clapper_full_valgrind.txt.gz

List of known non-Clapper issues and patches

Known non-Clapper issues

This is an up-to date list of issues (without a fix yet) that are not caused by Clapper, but affect the application in a bad way. Any help with debugging and resolving them would be appreciated:

GTK 4.14

GStreamer

X11 Only

Flatpak version patches

This is a list of bugs/features that are fixed/added through patches in the Flatpak app version:

GStreamer Base

GStreamer Good

GStreamer Bad

GStreamer VAAPI

Set common keybindings

Hi!

I just tested out Clapper (seeing it referenced on reddit I believe) and was surprised when Ctrl+o didn't let me open a file. :)

The GNOME HIG has a useful list of well-known keyboard shortcuts here and from a quick glance it seems that the following shortcuts would make sense to add:

Label Shortcut Description
Close Ctrl+W Closes the current tab or window. If the window uses tabs and there is only one open, the shortcut should close the window.
Open… Ctrl+O Opens an existing content item, often by presenting the user with a standard Open File dialog. If the chosen file is already open in the application, raise that window instead of opening a new one.

clapper does not notify about missing codecs

i opened a video with clapper, and only the audio was playing, was thinking it was a broken video then i opened it with totem. Totem promptly said to me i was missing the h264 codec and if i wanted to install the missing package. After that the video was correctly playing either with clapper, and totem

would be nice for clapper to have the same, people might think medias are broken, while they're only missing codecs and they don't know it

no icons

Icons on headerbar ( floating mode et fullscreen) and others not here. Nice work :)

Screenshots in README

If I'm understanding correctly (I've been watching this repository), this media player can act as a standalone player. Would you like me to grab some screenshots of it running uhh... Big Buck Bunny (since that seems to be the favourite demo video) and add them to the README?

Clapper crash and restart when choosing other subtitle other than default [Flatpak]

Environment :
Wayland, Flatpak, Gnome, Void Linux

Here are Debug Message :

(com.github.rafostar.Clapper:2): Clapper-CRITICAL **: 01:56:16.373: Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMatroskaDemux:matroskademux0: GStreamer encountered a general stream error.
Internal data stream error.
../gst/matroska/matroska-demux.c(5858): gst_matroska_demux_loop (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMatroskaDemux:matroskademux0:
streaming stopped, reason not-negotiated (-4)

Also, i tried using DEBUG=Clapper, it works fine

unless in debugging mode it restart

Jagged text in the UI

I installed Clapper on a fresh install of Fedora 34 Beta (with Gnome 40) and the text doesn't seem to be hinted/anti-aliased. It appears that the subtitles are not hinted either, but I'm not sure because it's harder to notice with larger text (plus the black borders). This didn't happen when I had an older version of Clapper on my Fedora 33 install. This isn't happening with any other app (including GTK4 ones). I installed the Flathub version.
Captura de tela de 2021-03-24 21-13-29

Website

This project looks really promising. It's been in my watch list for a while.

I think we should create a website for Clapper, explaining why and how it exists.
We could just use the README with a custom Jekyll theme.

Enable building in Builder

For drive-by contributions it's very useful to be able to build projects with a single click in GNOME Builder. I think all you need to do for that is include the Flatpak manifest in the repo itself.

Weird video decoding issue

The floating mode seems really cool, looking to replace Celluloid with this!

Unfortunately all media playback has this weird decoding issue, it looks neat but it's not intended I'm sure:

Screenshot from 2020-11-18 08-31-26

Playing bbb_sunflower_1080p_30fps_normal.mp4 with the flatpak version, this is what's under the System tab:

GTK version: 3.99.4
GStreamer version: 1.18.1

Seemingly no important errors when running, either.

com.github.rafostar.Clapper

(com.github.rafostar.Clapper:2): Gtk-WARNING **: 08:28:58.999: Couldn't unexport handle for GdkX11Toplevel surface, unsupported windowing system
mesa: for the --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the --global-isel-abort option: may only occur zero or one times!
mesa: for the --amdgpu-atomic-optimizations option: may only occur zero or one times!

Arch Linux 5.4.77-1-lts Gnome 3.38.1 on X11. I know it's an early WIP so let me know if there's any other info you needed from me :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.