summaryrefslogtreecommitdiff
path: root/media-video/gaupol
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-05-30 11:44:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-05-30 11:44:06 +0100
commitf516638b7fe9592837389826a6152a7e1b251c54 (patch)
tree8bfecb640b7b6403d7a3d662d923eed630033da7 /media-video/gaupol
parent1a61119f9f7b057830e2ce0563f913ec86f282ad (diff)
gentoo resync : 30.05.2020
Diffstat (limited to 'media-video/gaupol')
-rw-r--r--media-video/gaupol/Manifest5
-rw-r--r--media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch174
-rw-r--r--media-video/gaupol/gaupol-1.6.ebuild63
-rw-r--r--media-video/gaupol/gaupol-1.8-r1.ebuild (renamed from media-video/gaupol/gaupol-1.8.ebuild)6
4 files changed, 181 insertions, 67 deletions
diff --git a/media-video/gaupol/Manifest b/media-video/gaupol/Manifest
index 943a886c5abd..82c38ef7f94d 100644
--- a/media-video/gaupol/Manifest
+++ b/media-video/gaupol/Manifest
@@ -1,8 +1,7 @@
AUX gaupol-1.7-fix-tests.patch 5986 BLAKE2B f161262ad64c0a5fe02119522353b0348ecd96e66a52fcb5a3c1b9994098e1e1b647783ad47f7856f80e556ac4f8047693e0498bc8876f236730b56714883dbe SHA512 77dcd602e5e31886a5cbdb01fc58ed8aea216d16eaaf5a136e59a6b2fb0b0484cafb521ccefec5424edd7834cd36fa1e435477055a0c43bef7959aad7168eb26
-DIST gaupol-1.6.tar.gz 540186 BLAKE2B 4e7a2e0c01be2ac88c0ae5948d3002005c72418ef21835195daf6b0c5b71d970006b0f76fa78a1ec7337d1f9366436c44eb336e0a56d8cbb7eac905e09d4c81a SHA512 e0f258b579a34644e54456978df9c5a6f72aa019b6de79918fe6892bb59d2316c3fc093f2f49c60d6eef74832fa2a9a9e102bb1d25f64f3143fd29d3cb4966e5
+AUX gaupol-1.8-fix-audio-tracks-order.patch 6462 BLAKE2B 96e09112adf27ece07b65eee4b69d7dd1813c3b882afe790b8e35237e8e3c996809a0e71c00ce64f3c7cd0efbaf325933473f52439db31ba60869035c5a59feb SHA512 f7c001f698650c8c757818d44624201888aefe0d65689ee0fd357d85d45bd712a9f09b57e833a503c5b639ec430a6df2eebf02a40bed03a091abcd0da0bfae69
DIST gaupol-1.7.tar.gz 524231 BLAKE2B 5f1c07a6d633fba53361ad4d9e1cdbc3236614a444bb387378c9e1ec6b358796eb7477168caace4b6101e0e6e0b83f10a2d3052acb5e0b0ab69e75f2b24db7fa SHA512 b0fa7f5216f47075aefddd58ab3aa1186265b5d70f8b4e7f7e252a1cc05bd1c4838c2af8efb4da39c0196f63dc3a64ff2269a458e2d95072606b59b4b8cada1b
DIST gaupol-1.8.tar.gz 558627 BLAKE2B a7243310b97fe7187311585762faaff512364ca043630eb43c1ee99c55fa5400e14698e391b410b67f70f1bc7a741adb0737868d7b40c868bb4c6badacd14fb1 SHA512 a6b65316b5750a4d636b39b75393b0b2f2c44d978f1fc8cc3bd2cd2d2bcf9ba68d0161afb41bdca5b381ec39e5a2e06440f4f4676f344019966b297c4112e691
-EBUILD gaupol-1.6.ebuild 1416 BLAKE2B 8d155661f768683a2adcae10f6adfaa3ab44f4c0375e286942cade5c21eb72acbab1cd38695ab4e24b6f888a72a6a906600e73f6b9de2616de371280c726807d SHA512 2e954922a83060040a3b71422703d71801cec11b0883aaeeb3f38923e749d91a2def47ccd7c1efd20ccf12085eca5d4163bea27b31682f657f48a4ba918c95e4
EBUILD gaupol-1.7.ebuild 1585 BLAKE2B 35ec5e82c552ce47683019f57409a27851fa5c5a3ab12e9983ec9bff0d68e2a3a7a1154d71f3e4f1d93251bb1d5e46513341d4a143022f6c867dd742a20e0b05 SHA512 38839496e3327a5f18e348cce0f67b0f72913c52962ef56c4b07c13228d4fe5c699275b26670b7bee69f781580bcb1daed10daf4171c2cd96b5662c47971271c
-EBUILD gaupol-1.8.ebuild 1542 BLAKE2B 1694a3f5c40bad998c39bd35adfcfbcc87033df71e8138cc8d046fab5983112f28d9a3b8459a1c6cda170d4a2779438a46ecc066c2bd751df311c155d9e31c0f SHA512 58bb1283f59e101f7f9455f54aafde064eddef2821843d75f5043b43182d75910daf0b3ca3f727cdb13187a8e35f47215d9501cc0fe275d68a71f25629662203
+EBUILD gaupol-1.8-r1.ebuild 1705 BLAKE2B 47748caad94180bb86b9f9ca7da1cdfdb9eca638ae99a8f662923ccd9fb39c24e9b70f82b42f93ecfc8d18a1c85d235e84c1a9641d19408ca1a07dff11822f70 SHA512 2243852259e7d77d846779da9a07db4b3c7c94627b89cac43a4d4d5b870da598eb5b0a42be0c5cd7e78ee3cd8697e97910b476d26fd0cb386e3ea0986da41bd6
MISC metadata.xml 508 BLAKE2B 979a43569103cfe36a47d56ed16c15b7775d0a36d031d488ac064152b8d59115dc656e28a5eced25da13d9a3925be24114a760862bf043b88a89c70b8dc053e8 SHA512 1af2a5a287075a0668850c229a5c9dcbef51bbe64467516e37b870459266021d528435dbd5274e0d5abf7cf0fe2d4b8fb08f6cc470418c3b64e4da6b93dcc147
diff --git a/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch b/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch
new file mode 100644
index 000000000000..3f554c4ef335
--- /dev/null
+++ b/media-video/gaupol/files/gaupol-1.8-fix-audio-tracks-order.patch
@@ -0,0 +1,174 @@
+From e26cfcfe002c87a39eac63bbaa5ad0d4d69c95a4 Mon Sep 17 00:00:00 2001
+From: Quentin Gliosca <quentin.gliosca@gmail.com>
+Date: Tue, 12 May 2020 16:48:31 +0200
+Subject: [PATCH 1/3] Fix the order of languages in audio track selection
+
+Fix #129
+---
+ gaupol/player.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/gaupol/player.py b/gaupol/player.py
+index 836abea2..c266e0b9 100644
+--- a/gaupol/player.py
++++ b/gaupol/player.py
+@@ -118,7 +118,8 @@ def _ensure_default_segment(self):
+
+ def get_audio_languages(self):
+ """Return a sequence of audio languages or ``None``."""
+- return tuple(x.get_language() for x in self._info.get_audio_streams())
++ return tuple(self._playbin.emit("get-audio-tags", i).get_string("language-code")[1]
++ for i in range(self._playbin.props.n_audio))
+
+ def get_duration(self, mode=None):
+ """Return duration of video stream or ``None``."""
+@@ -356,6 +357,10 @@ def set_uri(self, uri):
+ dialog.add_button(_("_OK"), Gtk.ResponseType.OK)
+ dialog.set_default_response(Gtk.ResponseType.OK)
+ gaupol.util.flash_dialog(dialog)
++ else:
++ # Make stream tags available from _playbin
++ self._playbin.set_state(Gst.State.PAUSED)
++ self._playbin.get_state(Gst.CLOCK_TIME_NONE)
+
+ def stop(self):
+ """Stop."""
+
+From 9ace4fefe5d246c5588538a715a185c796e218ef Mon Sep 17 00:00:00 2001
+From: Quentin Gliosca <quentin.gliosca@gmail.com>
+Date: Tue, 12 May 2020 17:27:35 +0200
+Subject: [PATCH 2/3] Improve names of audio tracks in menu
+
+---
+ gaupol/agents/video.py | 18 ++++++++++++++----
+ gaupol/player.py | 20 ++++++++++++++++----
+ 2 files changed, 30 insertions(+), 8 deletions(-)
+
+diff --git a/gaupol/agents/video.py b/gaupol/agents/video.py
+index d434255a..0f6b935c 100644
+--- a/gaupol/agents/video.py
++++ b/gaupol/agents/video.py
+@@ -27,7 +27,11 @@
+ from gi.repository import Gtk
+
+ with aeidon.util.silent(Exception):
++ from gi import require_version
++ require_version('GstTag', '1.0')
+ from gi.repository import Gst
++ from gi.repository import GstTag
++
+
+
+ class VideoAgent(aeidon.Delegate):
+@@ -348,11 +352,17 @@ def _update_languages_menu(self):
+ """Update the audio language selection menu."""
+ menu = self.get_menubar_section("audio-languages-placeholder")
+ menu.remove_all()
+- languages = self.player.get_audio_languages()
+- for i, language in enumerate(languages):
+- language = language or _("Undefined")
++ tracks = self.player.get_audio_infos()
++ for i, track in enumerate(tracks):
++ title = track.title or "{} {}".format(_("Track"), i + 1)
++ lang = None
++ if track.language_code is not None:
++ lang = GstTag.tag_get_language_name(track.language_code)
++ if lang is None:
++ lang = track.language_name
++ name = title if lang is None else "{} - [{}]".format(title, lang.title())
+ action = "win.set-audio-language::{:d}".format(i)
+- menu.append(language, action)
++ menu.append(name, action)
+ if i == self.player.audio_track:
+ action = self.get_action("set-audio-language")
+ action.set_state(str(i))
+diff --git a/gaupol/player.py b/gaupol/player.py
+index c266e0b9..ee1e96dc 100644
+--- a/gaupol/player.py
++++ b/gaupol/player.py
+@@ -21,6 +21,7 @@
+ import gaupol
+ import time
+
++from collections import namedtuple
+ from aeidon.i18n import _
+ from gi.repository import GLib
+ from gi.repository import Gtk
+@@ -56,6 +57,8 @@ class VideoPlayer(aeidon.Observable):
+
+ signals = ("state-changed",)
+
++ TrackInfo = namedtuple("TrackInfo", ["title", "language_code", "language_name"])
++
+ def __init__(self):
+ """Initialize a :class:`VideoPlayer` instance."""
+ aeidon.Observable.__init__(self)
+@@ -116,10 +119,19 @@ def _ensure_default_segment(self):
+ self._playbin.seek_simple(Gst.Format.TIME, seek_flags, pos)
+ self._in_default_segment = True
+
+- def get_audio_languages(self):
+- """Return a sequence of audio languages or ``None``."""
+- return tuple(self._playbin.emit("get-audio-tags", i).get_string("language-code")[1]
+- for i in range(self._playbin.props.n_audio))
++ def get_audio_infos(self):
++ """Return a sequence of audio track infos."""
++ return tuple(
++ self._make_track_infos(self._playbin.emit("get-audio-tags", i))
++ for i in range(self._playbin.props.n_audio)
++ )
++
++ def _make_track_infos(self, tags):
++ return self.TrackInfo(
++ tags.get_string("title")[1],
++ tags.get_string("language-code")[1],
++ tags.get_string("language-name")[1]
++ )
+
+ def get_duration(self, mode=None):
+ """Return duration of video stream or ``None``."""
+
+From f50b4e54dc9aa84fc1b3eb403d680b8a0be77dc3 Mon Sep 17 00:00:00 2001
+From: Quentin Gliosca <quentin.gliosca@gmail.com>
+Date: Wed, 13 May 2020 07:29:27 +0200
+Subject: [PATCH 3/3] Cosmetic changes
+
+---
+ gaupol/__init__.py | 1 +
+ gaupol/agents/video.py | 4 +---
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/gaupol/__init__.py b/gaupol/__init__.py
+index f7a9663d..fc02287b 100644
+--- a/gaupol/__init__.py
++++ b/gaupol/__init__.py
+@@ -44,6 +44,7 @@
+ "Gst": "1.0",
+ "GstPbutils": "1.0",
+ "GstVideo": "1.0",
++ "GstTag": "1.0",
+ }.items():
+ with aeidon.util.silent(Exception):
+ gi.require_version(module, version)
+diff --git a/gaupol/agents/video.py b/gaupol/agents/video.py
+index 0f6b935c..3c9e3113 100644
+--- a/gaupol/agents/video.py
++++ b/gaupol/agents/video.py
+@@ -27,8 +27,6 @@
+ from gi.repository import Gtk
+
+ with aeidon.util.silent(Exception):
+- from gi import require_version
+- require_version('GstTag', '1.0')
+ from gi.repository import Gst
+ from gi.repository import GstTag
+
+@@ -354,7 +352,7 @@ def _update_languages_menu(self):
+ menu.remove_all()
+ tracks = self.player.get_audio_infos()
+ for i, track in enumerate(tracks):
+- title = track.title or "{} {}".format(_("Track"), i + 1)
++ title = track.title or _("Track {:d}").format(i + 1)
+ lang = None
+ if track.language_code is not None:
+ lang = GstTag.tag_get_language_name(track.language_code)
diff --git a/media-video/gaupol/gaupol-1.6.ebuild b/media-video/gaupol/gaupol-1.6.ebuild
deleted file mode 100644
index 359bb2291dc2..000000000000
--- a/media-video/gaupol/gaupol-1.6.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-inherit distutils-r1 gnome2-utils virtualx xdg-utils
-
-DESCRIPTION="A subtitle editor for text-based subtitles"
-HOMEPAGE="https://otsaloma.io/gaupol/"
-SRC_URI="https://github.com/otsaloma/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="spell test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- app-text/iso-codes
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- spell? (
- app-text/gtkspell:3
- >=dev-python/pyenchant-1.4[${PYTHON_USEDEP}]
- )
-"
-DEPEND="
- sys-devel/gettext
- test? (
- ${RDEPEND}
- dev-python/pyenchant[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( AUTHORS.md NEWS.md TODO.md README.md README.aeidon.md )
-
-python_test() {
- virtx pytest -vv
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "Previewing support needs MPV, MPlayer or VLC."
-
- if use spell; then
- elog "Additionally, spell-checking requires a dictionary, any of"
- elog "Aspell/Pspell, Ispell, MySpell, Uspell, Hspell or AppleSpell."
- fi
- fi
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- gnome2_icon_cache_update
-}
diff --git a/media-video/gaupol/gaupol-1.8.ebuild b/media-video/gaupol/gaupol-1.8-r1.ebuild
index 9fa5bf5a0ca1..33dec788257c 100644
--- a/media-video/gaupol/gaupol-1.8.ebuild
+++ b/media-video/gaupol/gaupol-1.8-r1.ebuild
@@ -37,6 +37,8 @@ DEPEND="
DOCS=( AUTHORS.md NEWS.md TODO.md README.md README.aeidon.md )
+PATCHES=( "${FILESDIR}/${P}-fix-audio-tracks-order.patch" )
+
python_test() {
virtx pytest -vv
}
@@ -45,7 +47,9 @@ pkg_postinst() {
xdg_desktop_database_update
xdg_icon_cache_update
if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "Previewing support requires MPV, MPlayer or VLC."
+ elog "The integrated video player requires media-plugins/gst-plugins-gtk."
+ elog ""
+ elog "External video previewing support requires MPV, MPlayer or VLC."
if use spell; then
elog ""
elog "Spell-checking requires a dictionary, any of app-dicts/myspell-*"