Rafostar
234a44a34a
Use ARGV from main() instead of importing system utils
2021-01-05 22:49:54 +01:00
Rafostar
a0ad8bf70f
Do not return inside player init
2021-01-05 22:48:34 +01:00
Rafostar
8ef1bd662c
Fix wrong sink var name
...
When sink holding variable was renamed to gtk4glsink, I missed this one line.
2021-01-05 22:18:48 +01:00
Rafostar
a9d4555661
Remove fullscreen-changed signal
...
GTK since 4.0 has fullscreened property that can be used as both a binding and signal with notify. No need to keep the fullscreen-changed signal as part of the app.
2021-01-05 20:47:57 +01:00
Rafostar
3452990c28
Use "const" where possible
...
Increase readability by using "const" for identifiers that will not be reassigned
2021-01-05 20:13:53 +01:00
Rafostar
f6601766f1
Fix crash on undetected codec
...
Player StreamInfo might return a null if codec is undetermined
2021-01-04 22:31:25 +01:00
Rafostar
d6ef29c17e
Do not hold gtkglsink as a prop
...
It was remembered only to later access its ignore_textures property, but it is also available on the widget itself, so use that instead
2021-01-04 22:18:20 +01:00
Rafostar
16f26d3207
Move window to top when new file is opened
2020-12-27 23:03:50 +01:00
Rafostar
732e3675e8
Use custom scripts for logging debug messages
...
Default "GLib.log_structured" method is painfully slow and time provided by it is not very accurate. It also slows down program execution even when G_MESSAGES_DEBUG env is not set. Use custom debug scripts for faster and more accurate messages logging instead.
2020-12-27 23:03:50 +01:00
Rafostar
b85edbbe8f
Remove gstVersionCheck
...
Leftover from GTK3 version of the app. Since "gtk4glsink" is not available in any GStreamer release yet, no point in checking the version.
2020-12-27 23:03:50 +01:00
Rafostar
117a372189
Pass GioFiles from FileChooser instead of URIs
...
Otherwise they are converted back to GioFile to check their existance and back again to URI which is unefficient. This change avoids doing that.
2020-12-24 15:08:01 +01:00
Rafostar
094de19018
Remove "new-window" functionality
...
I were never able to get setifactionary results with this because:
* In GTK apps new window is created from the same process
* OpenGL is single-threaded so performance per window is halfed
* GTK4 has problems with rendeing using multiple contexts resulting in some frames being upside down
So for the time being I am removing a non-working option. There is a chance
that it will be fixed and added in future, but for now lets not
advertise a functionality that does not work.
2020-12-24 12:18:17 +01:00
Rafostar
6afbbc767a
Open new file in the same window. Closes #31
2020-12-24 00:23:49 +01:00
Rafostar
f2d8d8ad4f
Uninhibit screen when video is not playing
...
This functionality was broken before GTK 4.0.0, so it needs a minimal required GTK version bump
2020-12-22 23:21:49 +01:00
Rafostar
42774f84e4
Update media info on idle after playback starts. Fixes #32
2020-12-21 19:37:58 +01:00
Rafostar
49b3296527
Use simply "Clapper" name for the remote app
...
The remote app name should match the name of the main app, otherwise different name is displayed in the headerbar and its prefs window
2020-12-17 20:03:01 +01:00
Rafostar
1c93506e79
Add toggle play button to remote app
...
A single toggle play button for now. Meant for testing the remote communication/delays over local network.
2020-12-17 14:59:31 +01:00
Rafostar
c1aae76d6e
Customize web app port
2020-12-16 21:15:41 +01:00
Rafostar
84762de76a
Add Clapper deamon subprocess
...
Daemon is responsible for starting and later watching over spawned "broadwayd" and "remote" app needed for remote playback control. We cannot use systemd n Flatpak, so we make do with running optional background subprocesses.
2020-12-16 19:54:30 +01:00
Rafostar
254d1aa9db
Make remote app binary name consistent with app ID
2020-12-16 15:33:39 +01:00
Rafostar
57ceb17100
Use proper ID for remote app
2020-12-16 14:42:40 +01:00
Rafostar
04f1d2397f
Merge pull request #29 from Rafostar/remote-controller
...
Control player remotely
2020-12-16 10:55:32 +01:00
Rafostar
b6c947efa6
Fix custom CSS loading for remote app
2020-12-15 23:26:24 +01:00
Rafostar
234451f62a
Move defined play flags to prefs
...
They are used only in prefs and it allows starting prefs in web app.
2020-12-15 22:49:06 +01:00
Rafostar
a056fac1c1
Add logic responsible for starting web app
2020-12-15 22:35:14 +01:00
Rafostar
a1e95dc012
Close remote app on error or disconnect
2020-12-15 19:03:58 +01:00
Rafostar
dde35270ff
Consistent source filenames
2020-12-15 18:27:18 +01:00
Rafostar
5231a1f225
Add initial WebSocket client app
2020-12-15 18:20:48 +01:00
Rafostar
8564cc9617
Move WebSocket message parsing to another file
...
Allows reusing the same code for the client app
2020-12-15 18:19:24 +01:00
Rafostar
4c6e5607fb
Check if player has widget before trying to focus it
2020-12-15 18:16:59 +01:00
Rafostar
7431f58034
Prefer "set_playlist" over "set_media" method
2020-12-15 18:15:40 +01:00
Rafostar
6d4cd494fe
Customize web server listening port
2020-12-15 14:16:31 +01:00
Rafostar
ca6322339f
Do not forget port after web server is stopped
2020-12-15 14:05:48 +01:00
Rafostar
b4e52d654b
Pass WebSocket data without additional signal connection
2020-12-15 12:36:06 +01:00
Rafostar
b756c15e46
Fix non-updated closing state
2020-12-15 11:59:05 +01:00
Rafostar
062a307613
Add stop method for web app
2020-12-15 11:51:25 +01:00
Rafostar
24a105fbe4
Do not drop old GTK4 support
...
Recent GTK4 git is way too buggy. We cannot update the GTK version above 3.99.4 yet. So add compatibility with newer versions without dropping support for older ones.
2020-12-14 21:30:00 +01:00
Rafostar
39e4e54ad8
Apply icon size to icon and not whole button
2020-12-14 15:46:40 +01:00
Rafostar
bfc318ae70
Reduce controls start/end margin
2020-12-14 15:46:07 +01:00
Rafostar
3936e58ed6
Reduce fullscreen button top margin a little
2020-12-14 15:43:48 +01:00
Rafostar
018a750fbc
Add web app for broadway backend
2020-12-12 21:56:35 +01:00
Rafostar
660b5c6c48
Use underscore in WebSocket API
2020-12-12 20:10:06 +01:00
Rafostar
ea7b712b2e
Send player state via WebSockets
2020-12-12 19:37:07 +01:00
Rafostar
7a039af798
Allow changing web server port during playback
2020-12-12 00:16:39 +01:00
Rafostar
104db83a1c
Clean websocket signal properly
2020-12-12 00:13:02 +01:00
Rafostar
d5d5aa9bac
Integrate basic web server functionality into player
2020-12-11 23:38:49 +01:00
Rafostar
26f8b6994e
Add WebSocket server
2020-12-11 22:06:00 +01:00
Rafostar
4875a31be4
Add initial ClapperRemote app
2020-12-11 15:38:25 +01:00
Rafostar
6315669933
Split app source file into two
...
This allows creating different app from the same source code.
2020-12-11 15:32:05 +01:00
Rafostar
083445a830
Split header bar source file into two
...
This allows creating another headerbar with different functionality from the same source code.
2020-12-11 15:22:35 +01:00