Rafał Dzięgiel
7062af472b
API: Add function to get subtitle track title
2021-06-02 11:08:30 +02:00
Rafał Dzięgiel
1f4698448a
Detect used GStreamer plugin names
...
Allows seeing what plugins are used with GST_DEBUG=Clapper:4. This is also needed for yet to come functionality of setting elements props.
2021-06-01 21:57:14 +02:00
Rafał Dzięgiel
95c8316af6
Change Enter key help description
...
OSD makes more sense to users then controls as it also shows top title and time layers
2021-06-01 08:31:02 +02:00
Rafał Dzięgiel
06d9f302c2
Revert "sink: Use g_main_context_invoke_full for drawing"
...
Not much benefit from using this function and unlike g_idle_add_full it
does not allow to skip a frame when previous one was not finished (slow HW).
This reverts commit f8a7abe195
.
2021-05-31 18:07:37 +02:00
Rafał Dzięgiel
6246777f06
Prefer custom title over media info one
...
Otherwise YT videos will all show filename of dash manifest as title
2021-05-31 17:46:19 +02:00
Rafostar
1f781716d7
Add env variable to display FPS
2021-05-30 11:14:51 +02:00
Rafał Dzięgiel
0d7ef22c88
Merge pull request #77 from Rafostar/mpris
...
Add MPRIS
2021-05-26 22:01:49 +02:00
Rafał Dzięgiel
57664f32da
sink: Do not send the same cursor coords on each GUI redraw
2021-05-26 21:15:58 +02:00
Rafał Dzięgiel
f8a7abe195
sink: Use g_main_context_invoke_full for drawing
...
Queue draws to application (and GTK) main context using g_main_context_invoke_full method
2021-05-26 20:59:50 +02:00
Rafostar
5f259b28fe
mpris: Add "SupportedUriSchemes" and handle "OpenUri" method
2021-05-26 15:14:28 +02:00
Rafostar
9f776e9ecb
mpris: Support changing volume
2021-05-26 15:13:30 +02:00
Rafał Dzięgiel
edb799bafa
API: Parse title from URI when no title in tags
2021-05-24 15:35:04 +02:00
Rafał Dzięgiel
7535c4e598
mpris: Support position reporting and seeking
2021-05-24 15:34:47 +02:00
Rafał Dzięgiel
f0475ee055
API: Support seeking by offset
2021-05-24 15:33:52 +02:00
Rafał Dzięgiel
68d7205ead
mpris: Support metadata url, title and length
2021-05-24 15:33:38 +02:00
Rafał Dzięgiel
f08ffad178
Initial MPRIS support
...
Implement a working MPRIS DBus connection with a separate API to control it. Right now only player playback state is reflected and Play/Pause/PlayPause calls work.
2021-05-24 15:33:15 +02:00
Rafał Dzięgiel
c2de0b7b33
yt: Use "html5=1" request query string
2021-05-24 13:04:10 +02:00
Rafał Dzięgiel
ac7be5956c
Update Flathub submodule
2021-05-20 18:55:17 +02:00
Rafał Dzięgiel
76a1efab58
flatpak: Build from local dir instead of git
...
Allows doing test builds with unmerged changes
2021-05-20 17:27:47 +02:00
Rafał Dzięgiel
a2bbd2708d
sink: Support EGL under x11 with GTK 4.4+
2021-05-14 18:11:58 +02:00
Rafał Dzięgiel
9e77660cac
Mark extras dir contents as linguist-vendored
2021-05-13 21:28:35 +02:00
Rafał Dzięgiel
5ea22450c0
Use custom getUriProtocol function
...
Gst.Uri.get_protocol function is very simple. It just splits string by ":" and return the first part. We can do the same in JS and by doing that we do not have to initialize GStreamer just to get this function.
2021-05-13 21:24:28 +02:00
Rafał Dzięgiel
6ae38327ca
Leave CSS fullscreen optimization applied
...
Do not apply and remove fullscreen optimization class when going/leaving fullscreen. Instead set it to be applied to fullscreen only with CSS.
2021-05-13 21:13:18 +02:00
Rafał Dzięgiel
9006e56534
Add "text/x-ssa" to list of known subtitle mimes
...
GStreamer does not do external .ass subs ATM, but we should treat them as subtitles anyway.
2021-05-13 21:01:11 +02:00
Rafał Dzięgiel
af0e082c43
Readapt to changed monitor on the fly
...
Check and apply/remove TV mode UI on the fly when switching monitors.
This allows for e.g. having a mobile device connected to external big screen,
drag Clapper window from one screen to another and UI should automatically
adapt between mobile and TV modes without interrupting playback.
This also helps in situations where monitor size is not initially known
on window map #74 .
2021-05-12 15:31:15 +02:00
Rafostar
2f5d6d60ed
API: add debug messages about dropped buffers
2021-05-06 14:34:08 +02:00
Rafał Dzięgiel
9d537c7318
Update TODO.md
2021-05-04 19:05:46 +02:00
Rafostar
970b1487ac
Restore manual play call
...
Autoplay was causing some racy conditions when loaded with subtitle uri. Make it play after uri loaded signal, but still prevent going from stopped to play 2nd time.
2021-05-04 18:46:22 +02:00
Rafostar
fc51fd857c
Fix missing actions shortcuts in main menu
...
Actions were loaded too early, causing GTK to not recognize them and show their keyboard shortcuts next to main menu items
2021-05-03 19:26:22 +02:00
Rafostar
b419ed7922
Add keyboard shortcuts window
2021-05-03 19:26:06 +02:00
Rafostar
4f69183b85
Flatpak: use libs and patches from Flathub as submodule
...
I do not want to maintain them in two different places
2021-05-03 14:12:05 +02:00
Rafostar
98df55b231
Do not forget to destroy file chooser
2021-05-02 22:20:51 +02:00
Rafostar
6a4f5f2560
Export playlist to file with Ctrl+E
2021-05-02 20:25:15 +02:00
Rafostar
efe9439633
Do not ref all dialogs
...
The bug that we try to workaround here affects only file chooser dialog and not every dialog, so do not increase ref count on them
2021-05-02 17:29:15 +02:00
Rafostar
4179176ce8
Sink: queue render on GTK settings change
...
We have turned off auto rendering in video widget, hence we need to manually refresh when user changes some GTK settings (theme, icons etc.)
2021-05-02 15:51:14 +02:00
Rafostar
a7288adf4c
Do not check Ids length in shuffle repeat mode
...
We always have at least 2 playlist items, thus at least 1 Id in array when we reach this point in code
2021-05-01 12:27:56 +02:00
Rafostar
9bb3f999b1
Also seek to 0 for other repeat modes with 1 item playlists
2021-05-01 12:15:07 +02:00
Rafostar
0e6507682a
Do not show visualizations button when no audio tracks
2021-05-01 12:11:16 +02:00
Rafał Dzięgiel
2d8471dea0
Add playlist shuffle repeat mode #52
2021-04-29 12:26:40 +02:00
Rafał Dzięgiel
68f49c1495
Replace media playlist playing icon with repeat button #52
...
Show current and toggle change of repeat mode inside the playlist popover. The previous currently playing icon did not reflect actual playing state, so this should be better and does not take more space in UI.
2021-04-29 11:44:07 +02:00
Rafał Dzięgiel
a8bb6c40f4
Add more WebSocket API actions
2021-04-28 12:40:27 +02:00
Rafał Dzięgiel
71db78a0f6
Use "window.close" action instead of "close-request"
2021-04-28 12:15:20 +02:00
Rafał Dzięgiel
4133557086
Do not send or apply undefined args over WebSocket
2021-04-28 11:50:14 +02:00
Rafał Dzięgiel
d926e6b389
Add keybinding to change repeat mode #52
2021-04-27 15:25:22 +02:00
Rafał Dzięgiel
fd2de8b9b6
Add repeat mode options to playlist #52
2021-04-27 14:50:54 +02:00
Rafał Dzięgiel
de65eee106
API: simplify playbin flags detect function
2021-04-27 12:28:59 +02:00
Rafał Dzięgiel
9b07ff7dc5
Mention that packages from my repo are unstable
2021-04-27 11:23:42 +02:00
Rafał Dzięgiel
047dd12fbb
Restore initial GUI state after playback
2021-04-27 11:14:09 +02:00
Rafał Dzięgiel
3238270c0d
Ignore duration changes below 1ms during playback
2021-04-27 10:43:13 +02:00
Rafał Dzięgiel
997e47b93c
API: let client decide what to do on EOS #52
2021-04-27 09:24:13 +02:00