Rafostar
7cf86e92eb
YT: resolve redirects on the Clapper side
...
Instead of providing URIs directly to GStreamer, follow redirects and provide that final URI. With this change souphttpsrc will not have to go through redirects from the beginning for each video segment.
2021-04-11 14:46:08 +02:00
Rafał Dzięgiel
8d7fb761f7
Always reset auto fullscreen boolean value
...
Otherwise we would keep checking the settings with each playlist file and accidentally entered fullscreen when that setting value was changed in middle of playback.
2021-04-09 19:58:33 +02:00
Rafał Dzięgiel
aec2166c11
Only auto fullscreen with new playlist
...
This fixes a bug when player would enter fullscreen when changing playlist item
2021-04-09 19:34:17 +02:00
Rafał Dzięgiel
c21b214477
Tweak how auto fullscreen option works
...
When auto fullscreen is enabled, enter fullscreen on each media load
unless player is in floating mode in which probably user wants it to remain.
2021-04-09 19:11:34 +02:00
Rafał Dzięgiel
d9939a94c2
Fix some error messages not being displayed
2021-04-09 18:49:44 +02:00
Rafał Dzięgiel
a39c67e5e7
Check if local subtitle file exists before loading it
...
Otherwise GStreamer will error out and playback will stop. Non-existing subtitle file is common on Flatpak when user tries to open/drop a file from a folder that container does not have access to.
2021-04-09 10:55:06 +02:00
Rafał Dzięgiel
b15b94fc90
Convenient ways of opening external subtitles
...
Play video with external subtiles by:
* selecting and opening both video+subs from file chooser/manager
* dropping subtitles file on player window
* opening subtiles from file chooser/manager while video plays
* send their file path/uri to player via WebSocket message
2021-04-07 16:33:21 +02:00
Rafał Dzięgiel
7f69bee11c
Move all file operations code to single file
2021-04-01 21:58:50 +02:00
Rafał Dzięgiel
e89b3599c9
Remove "escape" key handler
...
It was conflicting with GTK build-in escape key functionality for closing popovers
2021-03-19 10:29:44 +01:00
Rafał Dzięgiel
c89d488c30
Prefetch YouTube video info on hover
...
Speed up loading of YouTube videos by downloading and parsing their info before video is dropped into player.
2021-03-12 13:05:58 +01:00
Rafał Dzięgiel
4375077dbc
Decode custom video title from info
...
The values in JSON info are URI encoded with "+" signs, add custom decode function that decodes them.
2021-03-11 18:49:08 +01:00
Rafał Dzięgiel
fceb8ff70a
YouTube support. Closes #46
2021-03-11 17:34:54 +01:00
Rafał Dzięgiel
86d365872a
API: operate on cubic volume scale
...
Instead converting volume inside GJS, simplify things by making API operate on cubic volume scale.
2021-02-24 08:42:27 +01:00
Rafał Dzięgiel
a309ef6099
Make remote app minimize, maximize and close buttons affect Clapper
2021-02-23 11:56:02 +01:00
Rafał Dzięgiel
6950cf1bbb
Do not import GstClapper for remote app
...
No need to import and initialize whole GStreamer for web application if the only thing needed there is a single enum.
2021-02-22 16:34:08 +01:00
Rafał Dzięgiel
834a690903
Tweak overlay revealers show/hide logic
2021-02-18 17:13:38 +01:00
Rafał Dzięgiel
12591e106f
Move event controllers to widget and add them to top revealer
2021-02-17 16:31:37 +01:00
Rafał Dzięgiel
e79ce58b26
Rename "fullscreenMode" boolean to "isFullscreenMode"
2021-02-17 12:28:45 +01:00
Rafał Dzięgiel
887f189b60
Save window size only when windowed and not in floating mode
2021-02-17 12:20:44 +01:00
Rafał Dzięgiel
91703cf7cf
Hide both cursor and overlays with a single timer
...
Simplify hide controls logic code by using single timer to hide both cursor and video overlays at once
2021-02-14 14:07:38 +01:00
Rafał Dzięgiel
8064bab6a2
Remove old floating mode leftovers
...
Clapper has now much simpler floating mode. This overcomplicated code is not needed anymore.
2021-02-13 20:19:08 +01:00
Rafał Dzięgiel
1d16d3e2ac
Add OSD headerbar and transition to floating mode
2021-02-13 17:19:03 +01:00
Rafał Dzięgiel
a597de5481
Swipe when fullscreen to seek or adjust volume
2021-02-10 23:11:46 +01:00
Rafał Dzięgiel
1ee0db1cbc
Also do not save resume info for very long titles (random URIs)
2021-02-09 17:19:42 +01:00
Rafał Dzięgiel
d1f32955b8
Do not save resume info under certain conditions
...
Do not save when video is short, just started or almost finished
2021-02-08 22:16:49 +01:00
Rafał Dzięgiel
d952f37b0e
Prevent saving unfinished video info when autoclosing
2021-02-08 21:30:52 +01:00
Rafał Dzięgiel
15eeea2872
Save resume info of last unfinished video
2021-02-08 21:16:13 +01:00
Rafał Dzięgiel
c2808e7d9a
Update position slider right after seek is done
2021-02-08 18:50:29 +01:00
Rafał Dzięgiel
0167f0ab4e
Draw black background from CSS when GL fails
...
When GLArea gets a GL error it leaves user with nothing, but transparent background with error text in the middle. Make it look somewhat decent by drawing black background for the not working video widget.
2021-02-05 19:15:15 +01:00
Rafał Dzięgiel
dea77cc39f
API: notify about speed value reset on STOP
2021-01-28 17:39:52 +01:00
Rafał Dzięgiel
bee1889376
Port app to the new GstClapper API
2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
f9c8a3ce33
Do not try to dispose non-existing window
2021-01-22 11:46:50 +01:00
Rafał Dzięgiel
340cb36ecd
Move "clapper_src" dir to "src"
...
The "clapper_src" directory name was unusual. This was done to make it work as a widget for other apps. Now that this functionality got removed it can be named simply "src" as recommended by guidelines.
2021-01-21 14:19:04 +01:00
Rafostar
918ba34885
Add Gtk app
2020-08-31 20:47:10 +02:00
Rafostar
734471475f
Add "seek_seconds" function
...
Default "seek" function takes time in nanoseconds as argument which is not that useful, cause we will start playback from the nearest keyframe anyway. The new "seek_seconds" can take a double value for more precise seeking.
2020-08-30 20:19:37 +02:00
Rafostar
f35ac10553
Make sure loop is not running before starting it
2020-08-30 20:09:36 +02:00
Rafostar
ceb8930a88
Rename project to "Clapper"
2020-08-30 20:05:58 +02:00