-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 620e015
Showing
145 changed files
with
60,467 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Feel free to add/edit your name below. | ||
# The names in this file will be shown in the about dialog. | ||
# Format: name <email_or_url> | ||
# <email_or_url> is optional. | ||
Connor Duncan | ||
Gaurav Narula | ||
Harenome Ranaivoarivony Razanajato | ||
Michael Heyns | ||
Mingye Wang (Arthur2e5) | ||
Patrick Griffis | ||
Sun | ||
gipawu | ||
gnome-mpv | ||
tista500 | ||
xuzhen |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
AUTOMAKE_OPTIONS = foreign | ||
|
||
SUBDIRS = src data docs po | ||
|
||
EXTRA_DIST = README.md AUTHORS meson.build docs/meson.build test/meson.build test/test-option-parser.c meson-post-install.py po/meson.build | ||
|
||
UPDATE_DESKTOP = update-desktop-database -q || : | ||
UPDATE_ICON = gtk-update-icon-cache -q $(datadir)/icons/hicolor/ || : | ||
|
||
# Ensure that the dist tarball does not contain own/group from build system | ||
TAR_OPTIONS = --owner=0 --group=0 | ||
export TAR_OPTIONS | ||
|
||
# Extract version numbers in appdata XML and the main meson build file | ||
APPDATA_VERSION = $(shell xmllint $(top_srcdir)/data/io.github.celluloid_player.Celluloid.appdata.xml.in \ | ||
--xpath /component/releases/release/@version | \ | ||
sed 's/version="\([^s]\+\)"/\1/g;s/ /\n/g' | \ | ||
sort -rn | \ | ||
head -1) | ||
MESON_VERSION = $(shell $(AWK) -F "'" \ | ||
'/\yversion:/{print $$2}' \ | ||
$(top_srcdir)/meson.build) | ||
|
||
# Abort if the version numbers are not the same | ||
dist-hook: | ||
if [ "$(APPDATA_VERSION)" != "$(VERSION)" -o \ | ||
"$(MESON_VERSION)" != "$(VERSION)" ]; \ | ||
then \ | ||
echo "Version numbers in appdata XML, meson.build, and" \ | ||
"configure.ac do not match" 1>&2; \ | ||
exit 1; \ | ||
fi | ||
|
||
# Test building with Meson | ||
distcheck-hook: | ||
mkdir $(PACKAGE)-$(VERSION)/_build/meson \ | ||
$(PACKAGE)-$(VERSION)/_inst/meson && \ | ||
cd $(PACKAGE)-$(VERSION) && \ | ||
meson _build/meson \ | ||
--prefix $(abs_top_srcdir)/$(PACKAGE)-$(VERSION)/_inst/meson && \ | ||
ninja -C _build/meson install && \ | ||
rm -rf _build/meson _inst/meson | ||
|
||
install-data-hook: | ||
$(UPDATE_DESKTOP) | ||
$(UPDATE_ICON) | ||
|
||
uninstall-hook: | ||
$(UPDATE_DESKTOP) | ||
$(UPDATE_ICON) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
# Celluloid | ||
|
||
Celluloid (formerly GNOME MPV) is a simple GTK+ frontend for mpv. Celluloid | ||
interacts with mpv via the client API exported by libmpv, allowing access to | ||
mpv's powerful playback capabilities. | ||
|
||
![Screenshot](https://celluloid-player.github.io/images/screenshot-0.png) | ||
|
||
## Dependencies | ||
|
||
- appstream-glib<sup>[[1]](#note1)</sup> (build) | ||
- autoconf >= 2.69<sup>[[1]](#note1)</sup> (build) | ||
- autoconf-archive<sup>[[1]](#note1)</sup> (build) | ||
- automake >= 1.12<sup>[[1]](#note1)</sup> (build) | ||
- pkg-config (build) | ||
- gcc (build) | ||
- glib >= 2.44 | ||
- gtk >= 3.22 | ||
- mpv >= 0.32 | ||
- epoxy | ||
- lua (optional) | ||
- youtube-dl (optional) | ||
|
||
<a name="note1">[1]</a>: Not required when building from release tarballs | ||
|
||
## Installation | ||
|
||
### GNU/Linux packages | ||
- Arch Linux: https://www.archlinux.org/packages/celluloid | ||
- Arch Linux (Git): https://aur.archlinux.org/packages/celluloid-git | ||
- Debian: https://tracker.debian.org/pkg/celluloid | ||
- Fedora (rpmfusion): https://admin.rpmfusion.org/pkgdb/package/free/celluloid/ | ||
- OpenSUSE: https://software.opensuse.org/package/celluloid | ||
- Gentoo: https://packages.gentoo.org/packages/media-video/celluloid | ||
- Guix: https://guix.gnu.org/en/packages/celluloid-0.20 | ||
- Solus: https://packages.getsol.us/shannon/g/gnome-mpv/ | ||
- Ubuntu: https://launchpad.net/~xuzhen666/+archive/ubuntu/gnome-mpv | ||
|
||
### Flatpak | ||
|
||
[Flatpak](https://flatpak.org) packages support multiple distributions and are sandboxed. | ||
Flatpak 0.9.5+ is recommended for best integration. | ||
|
||
Stable releases are hosted on [Flathub](https://flathub.org): | ||
|
||
```sh | ||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | ||
flatpak install flathub io.github.celluloid_player.Celluloid | ||
``` | ||
|
||
Development versions are also packaged: | ||
|
||
```sh | ||
flatpak install https://dl.tingping.se/flatpak/gnome-mpv.flatpakref | ||
``` | ||
|
||
|
||
### Source code | ||
Run the following command in the source code directory to build and install: | ||
|
||
```sh | ||
meson build && cd build && ninja && sudo ninja install | ||
``` | ||
|
||
Alternatively, you can use Autotools: | ||
|
||
```sh | ||
./autogen.sh && make && sudo make install | ||
``` | ||
|
||
When building from release tarballs, replace `./autogen.sh` with `./configure`: | ||
|
||
```sh | ||
./configure && make && sudo make install | ||
``` | ||
|
||
## Usage | ||
|
||
### Opening files | ||
|
||
There are 4 ways to open files in Celluloid. | ||
|
||
1. Passing files and/or URIs as command line arguments. | ||
2. Using the file chooser dialog box, accessible via the "Open" menu item. | ||
3. Typing URI into the "Open Location" dialog box, accessible via the | ||
menu item with the same name. | ||
4. Dragging and dropping files or URIs onto Celluloid. | ||
|
||
### Manipulating playlist | ||
|
||
The playlist is hidden by default. To show the playlist, click the "Playlist" | ||
menu item or press F9. Files can be added by dragging and dropping files or URIs | ||
onto the playlist. Dropping files or URIs onto the video area will replace the | ||
content of the playlist. Playlist files or online playlists (eg. YouTube's | ||
playlist) will be automatically expanded into individual items when loaded. | ||
|
||
Items in the playlist can be reordered via drag-and-drop. To remove items from | ||
the playlist, select the item by clicking on it then press the delete button on | ||
your keyboard. | ||
|
||
### Configuration | ||
|
||
Celluloid can be configured using the preferences dialog accessible via the | ||
"Preferences" menu item. Additional configuration options can be set from an | ||
external file using the same syntax as mpv's `mpv.conf`. | ||
See [mpv's manual](https://mpv.io/manual/stable/) for the full list of options. | ||
The file must be specified and enabled in the preferences dialog under the "MPV | ||
Configuration" section. | ||
|
||
It is also possible to set mpv options by putting the options — as you | ||
would pass to mpv on the command line — in `Extra MPV Options` text box in | ||
the preferences dialog. You can also pass options directly on the command line | ||
by adding `mpv-` prefix to the option name. For example, using the option | ||
`--mpv-vf=flip` when launching Celluloid is equivalent to using `--vf=flip` in | ||
mpv. | ||
|
||
### User Scripts | ||
|
||
Celluloid can use most mpv user scripts as-is. Some user scripts may define | ||
keybindings that conflict with Celluloid, in which case you'll need to resolve | ||
the conflict by explicitly defining new keybindings using `input.conf`. See | ||
[mpv's manual](https://mpv.io/manual/stable/#lua-scripting-[,flags]]%29) for | ||
more details. | ||
|
||
User scripts can be installed by switching to the "Plugins" tab in the | ||
preferences dialog and dropping the files there. A list of mpv user scripts can | ||
be found [here](https://github.com/mpv-player/mpv/wiki/User-Scripts). | ||
|
||
### Keybindings | ||
|
||
Celluloid defines a set of keybindings in the macro `DEFAULT_KEYBINDS`, which | ||
can be found in | ||
[src/celluloid-def.h](https://github.com/celluloid-player/celluloid/blob/master/src/celluloid-def.h). | ||
The syntax used is exactly the same as mpv's `input.conf`. These keybindings are | ||
applied on top of default keybindings provided by mpv. | ||
|
||
Additional keybindings can be defined in an external file using mpv's | ||
`input.conf` syntax. The file can be set in the preferences dialog under the | ||
"Keybindings" section. | ||
|
||
## Contributing Translations | ||
|
||
Celluloid uses [Zanata](https://zanata.org) to coordinate | ||
translations. You can find Celluloid's page | ||
[here](https://translate.zanata.org/iteration/view/celluloid/master). To | ||
start translating, follow the instructions | ||
[here](http://docs.zanata.org/en/release/user-guide/translator-guide/). If you'd | ||
like to add a new language, open an issue on GitHub. | ||
|
||
While translating, you will find the string `translator-credits`. You should not | ||
translate this string. Instead, you should put your name, and optionally your | ||
email address, in the following format: `FirstName LastName <Email Address>`. | ||
Your name will then appear in the About dialog when your translation is active. | ||
|
||
## License | ||
|
||
Celluloid is free software: you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation, either version 3 of the License, or | ||
(at your option) any later version. | ||
|
||
Celluloid is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
|
||
You should have received a copy of the GNU General Public License | ||
along with Celluloid. If not, see <http://www.gnu.org/licenses/>. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Celluloid 0.21.1 | ||
|
||
- Upstream : https://github.com/celluloid-player/celluloid | ||
|
||
# Issue | ||
- Celluloid 0.22 부터는 GTK4를 사용하기 때문에 Ubuntu 20.04 또는 Linuxmint 20.3 이후 버전에서는 Upstream에서 다시 빌드를 진행해야함 | ||
- 현재 번역 파일 hamonikr-system에서 관리중 | ||
|
||
# Fix bug | ||
### 2022-10-19 | ||
- 새 창을 여러개 열고 닫을 때 모두 꺼지는 문제 해결 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/sh | ||
# Run this to generate all the initial makefiles, etc. | ||
|
||
srcdir=`dirname $0` | ||
test -z "$srcdir" && srcdir=. | ||
|
||
(test -f $srcdir/configure.ac) || { | ||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the top-level directory" | ||
exit 1 | ||
} | ||
|
||
aclocal --install -I m4 || exit 1 | ||
autoreconf --force --install -Wno-portability || exit 1 | ||
|
||
if [ "$NOCONFIGURE" = "" ]; then | ||
$srcdir/configure "$@" || exit 1 | ||
|
||
if [ "$1" = "--help" ]; then exit 0 else | ||
echo "Now type \`make\' to compile" || exit 1 | ||
fi | ||
else | ||
echo "Skipping configure process." | ||
fi | ||
|
||
set +x |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
AC_PREREQ([2.69]) | ||
|
||
AC_INIT( [celluloid], | ||
[0.21], | ||
[http://github.com/celluloid-player/celluloid/issues], | ||
[celluloid], | ||
[http://github.com/celluloid/celluloid] ) | ||
|
||
AC_CONFIG_SRCDIR([src/celluloid-main.c]) | ||
AC_CONFIG_MACRO_DIR([m4]) | ||
AC_USE_SYSTEM_EXTENSIONS | ||
AM_INIT_AUTOMAKE([1.12 tar-pax dist-xz no-dist-gzip subdir-objects foreign -Wall -Wno-portability]) | ||
AM_SILENT_RULES([yes]) | ||
AM_MAINTAINER_MODE([enable]) | ||
|
||
# i18n | ||
GETTEXT_PACKAGE=celluloid | ||
AC_SUBST(GETTEXT_PACKAGE) | ||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name]) | ||
|
||
# TODO: Remove AM_GNU_GETTEXT_VERSION once autoreconf supports | ||
# AM_GNU_GETTEXT_REQUIRE_VERSION | ||
AM_GNU_GETTEXT_VERSION([0.19]) | ||
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19]) | ||
|
||
AM_GNU_GETTEXT([external]) | ||
|
||
GLIB_GSETTINGS | ||
|
||
AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [turn on debugging]), [enable_debug=$enableval], [enable_debug=no]) | ||
|
||
AC_DEFUN([GM_CHECK_MACRO], | ||
[m4_ifndef([$1], [m4_fatal($1[ is not defined. Is ]$2[ installed?])])]) | ||
|
||
GM_CHECK_MACRO([AX_APPEND_COMPILE_FLAGS], [autoconf-archive]) | ||
GM_CHECK_MACRO([AX_APPEND_LINK_FLAGS], [autoconf-archive]) | ||
GM_CHECK_MACRO([AX_REQUIRE_DEFINED], [autoconf-archive]) | ||
|
||
GM_CHECK_MACRO([APPSTREAM_XML], [appstream-glib]) | ||
APPSTREAM_XML | ||
|
||
AS_IF([test "x$enable_debug" = "xyes"], [ | ||
AX_APPEND_COMPILE_FLAGS([-O0 -g]) | ||
], [ | ||
AX_APPEND_COMPILE_FLAGS([-O2]) | ||
]) | ||
|
||
AX_APPEND_COMPILE_FLAGS([ \ | ||
-std=gnu99 \ | ||
-funsigned-char \ | ||
-fstack-protector-strong \ | ||
-fPIE \ | ||
-fPIC \ | ||
-Wall \ | ||
-Wextra \ | ||
-Wconversion \ | ||
-Winline \ | ||
-Wno-padded \ | ||
-Wno-unused-parameter \ | ||
-Wstrict-prototypes \ | ||
-Wmissing-prototypes \ | ||
-Werror=implicit-function-declaration \ | ||
-Werror=pointer-arith \ | ||
-Werror=init-self \ | ||
-Werror=format-security \ | ||
-Werror=format=2 \ | ||
-Werror=missing-include-dirs \ | ||
-Werror=date-time \ | ||
]) | ||
|
||
AX_APPEND_LINK_FLAGS([ \ | ||
-pie \ | ||
-Wl,-z,relro \ | ||
-Wl,-z,now \ | ||
]) | ||
|
||
# Checks for programs. | ||
AC_PROG_CC | ||
AC_PROG_CC_STDC | ||
AC_PROG_AWK | ||
AC_PROG_SED | ||
AC_PATH_PROG(GDBUS_CODEGEN, [gdbus-codegen], []) | ||
AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], []) | ||
|
||
AS_IF([test "x$GDBUS_CODEGEN" = "x"], [ | ||
AC_MSG_ERROR([Could not find gdbus-codegen]) | ||
]) | ||
|
||
AS_IF([test "x$GLIB_GENMARSHAL" = "x"], [ | ||
AC_MSG_ERROR([Could not find glib-genmarshal]) | ||
]) | ||
|
||
PKG_CHECK_MODULES(DEPS, [gtk+-3.0 >= 3.22.23 glib-2.0 >= 2.44 mpv >= 1.107 epoxy]) | ||
AC_SEARCH_LIBS([sqrt], [m]) | ||
|
||
AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_44], [Dont warn using older APIs]) | ||
AC_DEFINE([GLIB_VERSION_MAX_ALLOWED], [GLIB_VERSION_2_44], [Prevents using newer APIs]) | ||
|
||
AC_DEFINE([GDK_VERSION_MIN_REQUIRED], [GDK_VERSION_3_22], [Dont warn using older APIs]) | ||
AC_DEFINE([GDK_VERSION_MAX_ALLOWED], [GDK_VERSION_3_22], [Prevents using newer APIs]) | ||
|
||
AC_DEFINE_UNQUOTED([G_LOG_DOMAIN], "$PACKAGE_NAME", [Default logging facility]) | ||
|
||
# Checks for header files. | ||
AC_CHECK_HEADERS([string.h stdio.h stdlib.h locale.h],[],[ | ||
AC_MSG_ERROR([Could not find required headers]) | ||
]) | ||
|
||
AC_CHECK_FUNCS([setlocale],[],[ | ||
AC_MSG_ERROR([Could not find required functions]) | ||
]) | ||
|
||
AC_CONFIG_FILES([Makefile src/Makefile data/Makefile docs/Makefile po/Makefile.in]) | ||
AC_OUTPUT | ||
|
||
echo " | ||
$PACKAGE $VERSION | ||
|
||
prefix ........: $prefix | ||
debug .........: $enable_debug | ||
" |
Oops, something went wrong.