bin: Rewrite Clapper player binary

A rewritten Clapper video player made using "Clapper" and "ClapperGtk" libraries.

Since both libraries from this repo are in C, newly rewritten Clapper binary is also in C to
avoid mixing different programming languages in a single repo, thus making maintenance easier.
Not depending on GJS gives us also an additional benefit of supporting different operating
systems or linux shells without pulling GJS as dependency.

Licensed under GPL-3.0-or-later.
This commit is contained in:
Rafał Dzięgiel
2024-03-13 21:04:18 +01:00
parent 675ddc85a1
commit cc004a8144
96 changed files with 20939 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <glib/gi18n.h>
#include <gst/gst.h>
#include <adwaita.h>
#include "clapper-app-about-window.h"
GtkWidget *
clapper_app_about_window_new (GtkApplication *gtk_app)
{
AdwAboutWindow *about;
GtkWindow *window;
GString *string;
gchar *gst_ver, *debug_info;
about = ADW_ABOUT_WINDOW (adw_about_window_new_from_appdata (
CLAPPER_APP_RESOURCE_PREFIX "/data/metainfo/" CLAPPER_APP_ID ".metainfo.xml",
NULL));
window = gtk_application_get_active_window (gtk_app);
gtk_window_set_modal (GTK_WINDOW (about), TRUE);
gtk_window_set_transient_for (GTK_WINDOW (about), window);
/* TRANSLATORS: Put your name(s) here for credits or leave untranslated */
adw_about_window_set_translator_credits (about, _("translator-credits"));
string = g_string_new (NULL);
g_string_append_printf (string, "GLib %u.%u.%u\n",
glib_major_version,
glib_minor_version,
glib_micro_version);
g_string_append_printf (string, "GTK %u.%u.%u\n",
gtk_get_major_version (),
gtk_get_minor_version (),
gtk_get_micro_version ());
g_string_append_printf (string, "Adwaita %u.%u.%u\n",
adw_get_major_version (),
adw_get_minor_version (),
adw_get_micro_version ());
gst_ver = gst_version_string ();
g_string_append (string, gst_ver);
g_free (gst_ver);
debug_info = g_string_free_and_steal (string);
adw_about_window_set_debug_info (about, debug_info);
g_free (debug_info);
return GTK_WIDGET (about);
}

View File

@@ -0,0 +1,29 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
G_BEGIN_DECLS
G_GNUC_INTERNAL
GtkWidget * clapper_app_about_window_new (GtkApplication *gtk_app);
G_END_DECLS

View File

@@ -0,0 +1,585 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <math.h>
#include <gst/gst.h>
#include <clapper-gtk/clapper-gtk.h>
#include "clapper-app-application.h"
#include "clapper-app-window.h"
#include "clapper-app-file-dialog.h"
#include "clapper-app-uri-dialog.h"
#include "clapper-app-info-window.h"
#include "clapper-app-preferences-window.h"
#include "clapper-app-about-window.h"
#include "clapper-app-utils.h"
#define PERCENTAGE_ROUND(a) (round ((gdouble) a / 0.01) * 0.01)
#define GST_CAT_DEFAULT clapper_app_application_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppApplication
{
GtkApplication parent;
GSettings *settings;
gboolean need_init_state;
};
struct ClapperPluginFeatureData
{
const gchar *name;
GstRank rank;
};
struct ClapperPluginData
{
const gchar *name;
guint skip_version[3];
struct ClapperPluginFeatureData features[10];
};
typedef struct
{
const gchar *action;
const gchar *accels[3];
} ClapperAppShortcut;
#define parent_class clapper_app_application_parent_class
G_DEFINE_TYPE (ClapperAppApplication, clapper_app_application, GTK_TYPE_APPLICATION);
static inline void
_set_initial_plugin_feature_ranks (void)
{
GstRegistry *registry = gst_registry_get ();
guint i;
const struct ClapperPluginData plugins_data[] = {
{
.name = "va",
.skip_version = { 1, 24, 0 },
.features = {
{ "vah264dec", GST_RANK_PRIMARY + 24 },
{ "vah265dec", GST_RANK_PRIMARY + 24 },
{ "vavp8dec", GST_RANK_PRIMARY + 24 },
{ "vavp9dec", GST_RANK_PRIMARY + 24 },
{ "vaav1dec", GST_RANK_PRIMARY + 24 },
{ NULL, 0 }
}
},
{
.name = "nvcodec",
.skip_version = { 1, 24, 0 },
.features = {
{ "nvh264dec", GST_RANK_PRIMARY + 28 },
{ "nvh265dec", GST_RANK_PRIMARY + 28 },
{ "nvvp8dec", GST_RANK_PRIMARY + 28 },
{ "nvvp9dec", GST_RANK_PRIMARY + 28 },
{ "nvav1dec", GST_RANK_PRIMARY + 28 },
{ NULL, 0 }
}
}
};
for (i = 0; i < G_N_ELEMENTS (plugins_data); ++i) {
GList *features;
if (!(features = gst_registry_get_feature_list_by_plugin (
registry, plugins_data[i].name)))
continue;
if (g_list_length (features) > 0) {
guint j;
for (j = 0; G_N_ELEMENTS (plugins_data[i].features); ++j) {
GstPluginFeature *feature;
if (!plugins_data[i].features[j].name)
break;
if (!(feature = gst_registry_lookup_feature (registry,
plugins_data[i].features[j].name)))
continue;
if (!gst_plugin_feature_check_version (feature,
plugins_data[i].skip_version[0],
plugins_data[i].skip_version[1],
plugins_data[i].skip_version[2])) {
gst_plugin_feature_set_rank (feature,
plugins_data[i].features[j].rank);
GST_DEBUG ("Initially set \"%s\" rank to: %i",
plugins_data[i].features[j].name,
plugins_data[i].features[j].rank);
}
gst_object_unref (feature);
}
}
gst_plugin_feature_list_free (features);
}
}
static void
_iter_ranks_func (const gchar *feature_name, GstRank rank,
gboolean from_env, gpointer user_data G_GNUC_UNUSED)
{
GstPluginFeature *feature;
if ((feature = gst_registry_find_feature (gst_registry_get (),
feature_name, GST_TYPE_ELEMENT_FACTORY))) {
gst_plugin_feature_set_rank (feature, rank);
GST_INFO ("Set \"%s\" rank to: %i", feature_name, rank);
gst_object_unref (feature);
}
}
static void
plugin_feature_ranks_settings_changed_cb (GSettings *settings,
gchar *key G_GNUC_UNUSED, gpointer user_data G_GNUC_UNUSED)
{
clapper_app_utils_iterate_plugin_feature_ranks (settings,
(ClapperAppUtilsIterRanks) _iter_ranks_func, NULL);
}
static void
_assemble_initial_state (GtkWindow *window)
{
GtkWidget *stack = gtk_window_get_child (window);
GtkBuilder *builder = gtk_builder_new_from_resource (
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-initial-state.ui");
GtkWidget *initial_state = GTK_WIDGET (gtk_builder_get_object (builder, "initial_state"));
gtk_stack_add_named (GTK_STACK (stack), initial_state, "initial_state");
gtk_stack_set_visible_child (GTK_STACK (stack), initial_state);
g_object_unref (builder);
}
static void
add_files (GSimpleAction *action, GVariant *param, gpointer user_data)
{
GtkApplication *gtk_app = GTK_APPLICATION (user_data);
clapper_app_file_dialog_open_files (gtk_app);
}
static void
add_uri (GSimpleAction *action, GVariant *param, gpointer user_data)
{
GtkApplication *gtk_app = GTK_APPLICATION (user_data);
clapper_app_uri_dialog_open_uri (gtk_app);
}
static void
show_preferences (GSimpleAction *action, GVariant *param, gpointer user_data)
{
GtkApplication *gtk_app = GTK_APPLICATION (user_data);
GtkWidget *preferences_window;
preferences_window = clapper_app_preferences_window_new (gtk_app);
gtk_window_present (GTK_WINDOW (preferences_window));
}
static void
show_info (GSimpleAction *action, GVariant *param, gpointer user_data)
{
GtkApplication *gtk_app = GTK_APPLICATION (user_data);
GtkWidget *info_window;
GtkWindow *window;
ClapperPlayer *player;
window = gtk_application_get_active_window (gtk_app);
player = clapper_app_window_get_player (CLAPPER_APP_WINDOW (window));
info_window = clapper_app_info_window_new (gtk_app, player);
gtk_window_present (GTK_WINDOW (info_window));
}
static void
show_about (GSimpleAction *action, GVariant *param, gpointer user_data)
{
GtkApplication *gtk_app = GTK_APPLICATION (user_data);
GtkWidget *about_window;
about_window = clapper_app_about_window_new (gtk_app);
gtk_window_present (GTK_WINDOW (about_window));
}
static inline void
_restore_settings_to_window (ClapperAppApplication *self, ClapperAppWindow *app_window)
{
ClapperPlayer *player = clapper_app_window_get_player (app_window);
ClapperQueue *queue = clapper_player_get_queue (player);
GST_DEBUG ("Restoring saved GSettings values to: %" GST_PTR_FORMAT, app_window);
clapper_player_set_volume (player, PERCENTAGE_ROUND (g_settings_get_double (self->settings, "volume")));
clapper_player_set_mute (player, g_settings_get_boolean (self->settings, "mute"));
clapper_player_set_speed (player, PERCENTAGE_ROUND (g_settings_get_double (self->settings, "speed")));
clapper_player_set_subtitles_enabled (player, g_settings_get_boolean (self->settings, "subtitles-enabled"));
clapper_queue_set_progression_mode (queue, g_settings_get_int (self->settings, "progression-mode"));
if (g_settings_get_boolean (self->settings, "fullscreened"))
gtk_window_fullscreen (GTK_WINDOW (app_window));
else if (g_settings_get_boolean (self->settings, "maximized"))
gtk_window_maximize (GTK_WINDOW (app_window));
GST_DEBUG ("Configuration restored");
}
static inline void
_store_settings_from_window (ClapperAppApplication *self, ClapperAppWindow *app_window)
{
ClapperPlayer *player = clapper_app_window_get_player (app_window);
ClapperQueue *queue = clapper_player_get_queue (player);
GtkWindow *window = GTK_WINDOW (app_window);
GST_DEBUG ("Storing current configuration to GSettings");
g_settings_set_double (self->settings, "volume", clapper_player_get_volume (player));
g_settings_set_boolean (self->settings, "mute", clapper_player_get_mute (player));
g_settings_set_double (self->settings, "speed", clapper_player_get_speed (player));
g_settings_set_boolean (self->settings, "subtitles-enabled", clapper_player_get_subtitles_enabled (player));
g_settings_set_int (self->settings, "progression-mode", clapper_queue_get_progression_mode (queue));
g_settings_set_boolean (self->settings, "maximized", gtk_window_is_maximized (window));
g_settings_set_boolean (self->settings, "fullscreened", gtk_window_is_fullscreen (window));
GST_DEBUG ("Configuration stored");
}
GApplication *
clapper_app_application_new (void)
{
return g_object_new (CLAPPER_APP_TYPE_APPLICATION,
"application-id", CLAPPER_APP_ID,
"flags", G_APPLICATION_HANDLES_OPEN,
NULL);
}
static void
clapper_app_application_window_removed (GtkApplication *gtk_app, GtkWindow *window)
{
ClapperAppApplication *self = CLAPPER_APP_APPLICATION_CAST (gtk_app);
if (CLAPPER_APP_IS_WINDOW (window)) {
GList *win, *windows = gtk_application_get_windows (gtk_app);
gboolean has_player_windows = FALSE;
for (win = windows; win != NULL; win = win->next) {
GtkWindow *rem_window = GTK_WINDOW (win->data);
if ((has_player_windows = (rem_window != window
&& CLAPPER_APP_IS_WINDOW (rem_window))))
break;
}
/* Last player window is closing, time to store settings */
if (!has_player_windows)
_store_settings_from_window (self, CLAPPER_APP_WINDOW_CAST (window));
}
GTK_APPLICATION_CLASS (parent_class)->window_removed (gtk_app, window);
}
static void
clapper_app_application_activate (GApplication *app)
{
ClapperAppApplication *self = CLAPPER_APP_APPLICATION_CAST (app);
GtkWindow *window;
GST_INFO ("Activate");
G_APPLICATION_CLASS (parent_class)->activate (app);
if (!(window = gtk_application_get_active_window (GTK_APPLICATION (app)))) {
window = GTK_WINDOW (clapper_app_window_new (GTK_APPLICATION (app)));
_restore_settings_to_window (self, CLAPPER_APP_WINDOW_CAST (window));
}
if (self->need_init_state) {
_assemble_initial_state (window);
self->need_init_state = FALSE;
}
gtk_window_present (window);
}
static gboolean
clapper_app_application_local_command_line (GApplication *app,
gchar ***arguments, gint *exit_status)
{
gchar **argv = *arguments;
guint i;
/* NOTE: argv is never NULL, so no need to check */
for (i = 0; argv[i]; ++i) {
/* Handle "-" special case as URI */
if (strlen (argv[i]) == 1 && argv[i][0] == '-') {
g_free (argv[i]);
argv[i] = g_strdup ("fd://0");
}
}
return G_APPLICATION_CLASS (parent_class)->local_command_line (app, arguments, exit_status);
}
static gboolean
_is_claps_file (GFile *file)
{
gchar *basename = g_file_get_basename (file);
gboolean is_claps;
is_claps = (basename && g_str_has_suffix (basename, ".claps"));
g_free (basename);
return is_claps;
}
static void
add_item_from_file (GFile *file, ClapperQueue *queue)
{
ClapperMediaItem *item = clapper_media_item_new_from_file (file);
GST_DEBUG ("Adding media item with URI: %s",
clapper_media_item_get_uri (item));
clapper_queue_add_item (queue, item);
gst_object_unref (item);
}
static void
add_items_from_claps_file (GFile *file, ClapperQueue *queue)
{
GDataInputStream *dstream = NULL;
GFileInputStream *stream;
GError *error = NULL;
gchar *line;
if (!(stream = g_file_read (file, NULL, &error)))
goto finish;
dstream = g_data_input_stream_new (G_INPUT_STREAM (stream));
while ((line = g_data_input_stream_read_line (
dstream, NULL, NULL, &error))) {
g_strstrip (line);
if (strlen (line) > 0) {
GFile *tmp_file = gst_uri_is_valid (line)
? g_file_new_for_uri (line)
: g_file_new_for_path (line);
if (_is_claps_file (tmp_file))
add_items_from_claps_file (tmp_file, queue);
else
add_item_from_file (tmp_file, queue);
g_object_unref (tmp_file);
}
g_free (line);
}
finish:
if (error) {
GST_ERROR ("Could not read \".claps\" file, reason: %s", error->message);
g_error_free (error);
}
if (stream) {
g_input_stream_close (G_INPUT_STREAM (stream), NULL, NULL);
g_object_unref (stream);
}
g_clear_object (&dstream);
}
static void
add_item_with_subtitles (GFile *media_file,
GFile *subs_file, ClapperQueue *queue)
{
ClapperMediaItem *item = clapper_media_item_new_from_file (media_file);
gchar *suburi = g_file_get_uri (subs_file);
GST_DEBUG ("Adding media item with URI: %s, SUBURI: %s",
clapper_media_item_get_uri (item), GST_STR_NULL (suburi));
clapper_media_item_set_suburi (item, suburi);
clapper_queue_add_item (queue, item);
gst_object_unref (item);
g_free (suburi);
}
static void
clapper_app_application_open (GApplication *app,
GFile **files, gint n_files, const gchar *hint)
{
ClapperAppApplication *self = CLAPPER_APP_APPLICATION_CAST (app);
GtkWindow *window;
ClapperPlayer *player;
ClapperQueue *queue;
guint n_before;
gboolean add_only, handled = FALSE;
GST_INFO ("Open");
/* Since we startup with media,
* no need to show initial state */
self->need_init_state = FALSE;
g_application_activate (app);
g_application_mark_busy (app);
window = gtk_application_get_active_window (GTK_APPLICATION (app));
while (window && !CLAPPER_APP_IS_WINDOW (window))
window = gtk_window_get_transient_for (window);
clapper_app_window_ensure_no_initial_state (CLAPPER_APP_WINDOW (window));
player = clapper_app_window_get_player (CLAPPER_APP_WINDOW (window));
queue = clapper_player_get_queue (player);
n_before = clapper_queue_get_n_items (queue);
/* Special path for opening video with subtitles at once */
if (n_files == 2) {
gboolean first_subs, second_subs;
first_subs = clapper_app_utils_is_subtitles_file (files[0]);
second_subs = clapper_app_utils_is_subtitles_file (files[1]);
if ((handled = first_subs != second_subs)) {
guint media_index, subs_index;
media_index = (second_subs) ? 0 : 1;
subs_index = (media_index + 1) % 2;
add_item_with_subtitles (
files[media_index], files[subs_index], queue);
}
}
if (!handled) {
gint i;
for (i = 0; i < n_files; ++i) {
if (_is_claps_file (files[i]))
add_items_from_claps_file (files[i], queue);
else
add_item_from_file (files[i], queue);
}
}
add_only = (g_strcmp0 (hint, "add-only") == 0);
/* Select first thing from added item to play (behave like "open" should),
* when queue was empty first item is automatically selected */
if (!add_only && n_before > 0)
clapper_queue_select_index (queue, n_before);
g_application_unmark_busy (app);
}
static void
clapper_app_application_init (ClapperAppApplication *self)
{
self->need_init_state = TRUE;
}
static void
clapper_app_application_constructed (GObject *object)
{
ClapperAppApplication *self = CLAPPER_APP_APPLICATION_CAST (object);
GApplication *app = G_APPLICATION (self);
guint i;
static const GActionEntry app_entries[] = {
{ "add-files", add_files, NULL, NULL, NULL },
{ "add-uri", add_uri, NULL, NULL, NULL },
{ "info", show_info, NULL, NULL, NULL },
{ "preferences", show_preferences, NULL, NULL, NULL },
{ "about", show_about, NULL, NULL, NULL },
};
static const ClapperAppShortcut app_shortcuts[] = {
{ "app.add-files", { "<Control>o", NULL, NULL }},
{ "app.add-uri", { "<Control>u", NULL, NULL }},
{ "app.info", { "<Control>i", NULL, NULL }},
{ "app.preferences", { "<Control>comma", NULL, NULL }},
{ "app.about", { "F1", NULL, NULL }},
{ "win.toggle-fullscreen", { "F11", "f", NULL }},
{ "win.show-help-overlay", { "<Control>question", NULL, NULL }},
{ "window.close", { "<Control>q", NULL, NULL }},
};
/* Override initial ranks, they will be updated
* from both stored settings and env below */
_set_initial_plugin_feature_ranks ();
self->settings = g_settings_new (CLAPPER_APP_ID);
g_signal_connect (self->settings,
"changed::plugin-feature-ranks",
G_CALLBACK (plugin_feature_ranks_settings_changed_cb), self);
plugin_feature_ranks_settings_changed_cb (self->settings, NULL, NULL);
g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries), app);
for (i = 0; i < G_N_ELEMENTS (app_shortcuts); ++i)
gtk_application_set_accels_for_action (GTK_APPLICATION (app), app_shortcuts[i].action, app_shortcuts[i].accels);
g_application_add_option_group (app, gst_init_get_option_group ());
G_OBJECT_CLASS (parent_class)->constructed (object);
}
static void
clapper_app_application_finalize (GObject *object)
{
ClapperAppApplication *self = CLAPPER_APP_APPLICATION_CAST (object);
GST_TRACE ("Finalize");
g_object_unref (self->settings);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_application_class_init (ClapperAppApplicationClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GApplicationClass *application_class = (GApplicationClass *) klass;
GtkApplicationClass *gtk_application_class = (GtkApplicationClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperappapplication", 0,
"Clapper App Application");
gobject_class->constructed = clapper_app_application_constructed;
gobject_class->finalize = clapper_app_application_finalize;
gtk_application_class->window_removed = clapper_app_application_window_removed;
application_class->activate = clapper_app_application_activate;
application_class->local_command_line = clapper_app_application_local_command_line;
application_class->open = clapper_app_application_open;
}

View File

@@ -0,0 +1,34 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_APPLICATION (clapper_app_application_get_type())
#define CLAPPER_APP_APPLICATION_CAST(obj) ((ClapperAppApplication *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppApplication, clapper_app_application, CLAPPER_APP, APPLICATION, GtkApplication)
G_GNUC_INTERNAL
GApplication * clapper_app_application_new (void);
G_END_DECLS

View File

@@ -0,0 +1,131 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <gio/gio.h>
#include "clapper-app-file-dialog.h"
#include "clapper-app-utils.h"
static inline void
_open_files_from_model (GtkApplication *gtk_app, GListModel *files_model)
{
GFile **files = NULL;
gint n_files = 0;
if (clapper_app_utils_files_from_list_model (files_model, &files, &n_files)) {
g_application_open (G_APPLICATION (gtk_app), files, n_files, "add-only");
clapper_app_utils_files_free (files);
}
}
static void
_open_files_cb (GtkFileDialog *dialog, GAsyncResult *result, GtkApplication *gtk_app)
{
GError *error = NULL;
GListModel *files_model = gtk_file_dialog_open_multiple_finish (dialog, result, &error);
if (G_LIKELY (error == NULL)) {
_open_files_from_model (gtk_app, files_model);
} else {
if (error->domain != GTK_DIALOG_ERROR || error->code != GTK_DIALOG_ERROR_DISMISSED) {
g_printerr ("Error: %s\n",
(error->message) ? error->message : "Could not open file dialog");
}
g_error_free (error);
}
g_clear_object (&files_model);
}
static void
_open_subtitles_cb (GtkFileDialog *dialog, GAsyncResult *result, ClapperMediaItem *item)
{
GError *error = NULL;
GFile *file = gtk_file_dialog_open_finish (dialog, result, &error);
if (G_LIKELY (error == NULL)) {
gchar *suburi = g_file_get_uri (file);
clapper_media_item_set_suburi (item, suburi);
g_free (suburi);
} else {
if (error->domain != GTK_DIALOG_ERROR || error->code != GTK_DIALOG_ERROR_DISMISSED) {
g_printerr ("Error: %s\n",
(error->message) ? error->message : "Could not open file dialog");
}
g_error_free (error);
}
g_clear_object (&file);
gst_object_unref (item); // Borrowed reference
}
static void
_dialog_add_mime_types (GtkFileDialog *dialog, const gchar *filter_name,
const gchar *const *mime_types)
{
GListStore *filters = g_list_store_new (GTK_TYPE_FILE_FILTER);
GtkFileFilter *filter = gtk_file_filter_new ();
guint i;
for (i = 0; mime_types[i]; ++i)
gtk_file_filter_add_mime_type (filter, mime_types[i]);
gtk_file_filter_set_name (filter, filter_name);
g_list_store_append (filters, filter);
gtk_file_dialog_set_filters (dialog, G_LIST_MODEL (filters));
g_object_unref (filters);
g_object_unref (filter);
}
void
clapper_app_file_dialog_open_files (GtkApplication *gtk_app)
{
GtkWindow *window = gtk_application_get_active_window (gtk_app);
GtkFileDialog *dialog = gtk_file_dialog_new ();
_dialog_add_mime_types (dialog, "Media Files",
clapper_app_utils_get_mime_types ());
gtk_file_dialog_set_modal (dialog, TRUE);
gtk_file_dialog_set_title (dialog, "Add Files");
gtk_file_dialog_open_multiple (dialog, window, NULL,
(GAsyncReadyCallback) _open_files_cb,
gtk_app);
g_object_unref (dialog);
}
void
clapper_app_file_dialog_open_subtitles (GtkApplication *gtk_app, ClapperMediaItem *item)
{
GtkWindow *window = gtk_application_get_active_window (gtk_app);
GtkFileDialog *dialog = gtk_file_dialog_new ();
_dialog_add_mime_types (dialog, "Subtitles",
clapper_app_utils_get_subtitles_mime_types ());
gtk_file_dialog_set_modal (dialog, TRUE);
gtk_file_dialog_set_title (dialog, "Open Subtitles");
gtk_file_dialog_open (dialog, window, NULL,
(GAsyncReadyCallback) _open_subtitles_cb,
gst_object_ref (item));
g_object_unref (dialog);
}

View File

@@ -0,0 +1,32 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <gtk/gtk.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
G_GNUC_INTERNAL
void clapper_app_file_dialog_open_files (GtkApplication *gtk_app);
G_GNUC_INTERNAL
void clapper_app_file_dialog_open_subtitles (GtkApplication *gtk_app, ClapperMediaItem *item);
G_END_DECLS

View File

@@ -0,0 +1,185 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include "clapper-app-headerbar.h"
#include "clapper-app-utils.h"
#define GST_CAT_DEFAULT clapper_app_headerbar_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppHeaderbar
{
ClapperGtkContainer parent;
GtkWidget *queue_revealer;
GtkWidget *previous_item_revealer;
GtkWidget *next_item_revealer;
GtkWidget *win_buttons_revealer;
GtkDropTarget *drop_target;
gboolean adapt;
};
#define parent_class clapper_app_headerbar_parent_class
G_DEFINE_TYPE (ClapperAppHeaderbar, clapper_app_headerbar, CLAPPER_GTK_TYPE_CONTAINER);
static void
_determine_win_buttons_reveal (ClapperAppHeaderbar *self)
{
gboolean queue_reveal = gtk_revealer_get_reveal_child (GTK_REVEALER (self->queue_revealer));
gtk_revealer_set_reveal_child (GTK_REVEALER (self->win_buttons_revealer),
(queue_reveal) ? !self->adapt : TRUE);
}
static void
container_adapt_cb (ClapperGtkContainer *container, gboolean adapt,
ClapperAppHeaderbar *self)
{
GST_DEBUG_OBJECT (self, "Width adapted: %s", (adapt) ? "yes" : "no");
self->adapt = adapt;
gtk_revealer_set_reveal_child (GTK_REVEALER (self->previous_item_revealer), !adapt);
gtk_revealer_set_reveal_child (GTK_REVEALER (self->next_item_revealer), !adapt);
_determine_win_buttons_reveal (self);
}
static void
queue_reveal_cb (GtkRevealer *revealer,
GParamSpec *pspec G_GNUC_UNUSED, ClapperAppHeaderbar *self)
{
_determine_win_buttons_reveal (self);
}
static void
reveal_queue_button_clicked_cb (GtkButton *button, ClapperAppHeaderbar *self)
{
gboolean reveal;
GST_INFO_OBJECT (self, "Reveal queue button clicked");
reveal = gtk_revealer_get_reveal_child (GTK_REVEALER (self->queue_revealer));
gtk_revealer_set_reveal_child (GTK_REVEALER (self->queue_revealer), !reveal);
}
static void
drop_value_notify_cb (GtkDropTarget *drop_target,
GParamSpec *pspec G_GNUC_UNUSED, ClapperAppHeaderbar *self)
{
const GValue *value = gtk_drop_target_get_value (drop_target);
if (value && !clapper_app_utils_value_for_item_is_valid (value))
gtk_drop_target_reject (drop_target);
}
static gboolean
drop_cb (GtkDropTarget *drop_target, const GValue *value,
gdouble x, gdouble y, ClapperAppHeaderbar *self)
{
GFile **files = NULL;
gint n_files = 0;
gboolean success = FALSE;
if (clapper_app_utils_files_from_value (value, &files, &n_files)) {
ClapperPlayer *player;
if ((player = clapper_gtk_get_player_from_ancestor (GTK_WIDGET (self)))) {
ClapperQueue *queue = clapper_player_get_queue (player);
gint i;
for (i = 0; i < n_files; ++i) {
ClapperMediaItem *item = clapper_media_item_new_from_file (files[i]);
clapper_queue_add_item (queue, item);
if (i == 0) // Select first added item for playback
clapper_queue_select_item (queue, item);
gst_object_unref (item);
}
success = TRUE;
}
clapper_app_utils_files_free (files);
}
return success;
}
static void
clapper_app_headerbar_init (ClapperAppHeaderbar *self)
{
gtk_widget_init_template (GTK_WIDGET (self));
gtk_drop_target_set_gtypes (self->drop_target,
(GType[3]) { GDK_TYPE_FILE_LIST, G_TYPE_FILE, G_TYPE_STRING }, 3);
}
static void
clapper_app_headerbar_dispose (GObject *object)
{
gtk_widget_dispose_template (GTK_WIDGET (object), CLAPPER_APP_TYPE_HEADERBAR);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
clapper_app_headerbar_finalize (GObject *object)
{
ClapperAppHeaderbar *self = CLAPPER_APP_HEADERBAR_CAST (object);
GST_TRACE_OBJECT (self, "Finalize");
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_headerbar_class_init (ClapperAppHeaderbarClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperappheaderbar", 0,
"Clapper App Headerbar");
gobject_class->dispose = clapper_app_headerbar_dispose;
gobject_class->finalize = clapper_app_headerbar_finalize;
gtk_widget_class_set_template_from_resource (widget_class,
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-headerbar.ui");
gtk_widget_class_bind_template_child (widget_class, ClapperAppHeaderbar, queue_revealer);
gtk_widget_class_bind_template_child (widget_class, ClapperAppHeaderbar, previous_item_revealer);
gtk_widget_class_bind_template_child (widget_class, ClapperAppHeaderbar, next_item_revealer);
gtk_widget_class_bind_template_child (widget_class, ClapperAppHeaderbar, win_buttons_revealer);
gtk_widget_class_bind_template_child (widget_class, ClapperAppHeaderbar, drop_target);
gtk_widget_class_bind_template_callback (widget_class, container_adapt_cb);
gtk_widget_class_bind_template_callback (widget_class, reveal_queue_button_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, queue_reveal_cb);
gtk_widget_class_bind_template_callback (widget_class, drop_value_notify_cb);
gtk_widget_class_bind_template_callback (widget_class, drop_cb);
gtk_widget_class_set_css_name (widget_class, "clapper-app-headerbar");
}

View File

@@ -0,0 +1,31 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <clapper-gtk/clapper-gtk.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_HEADERBAR (clapper_app_headerbar_get_type())
#define CLAPPER_APP_HEADERBAR_CAST(obj) ((ClapperAppHeaderbar *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppHeaderbar, clapper_app_headerbar, CLAPPER_APP, HEADERBAR, ClapperGtkContainer)
G_END_DECLS

View File

@@ -0,0 +1,212 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <glib/gi18n.h>
#include <gst/gst.h>
#include <clapper-gtk/clapper-gtk.h>
#include "clapper-app-info-window.h"
#include "clapper-app-property-row.h"
#include "clapper-app-list-item-utils.h"
#define GST_CAT_DEFAULT clapper_app_info_window_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppInfoWindow
{
AdwWindow parent;
GtkWidget *vstreams_list;
GtkWidget *astreams_list;
GtkWidget *sstreams_list;
ClapperPlayer *player;
};
#define parent_class clapper_app_info_window_parent_class
G_DEFINE_TYPE (ClapperAppInfoWindow, clapper_app_info_window, ADW_TYPE_WINDOW);
enum
{
PROP_0,
PROP_PLAYER,
PROP_LAST
};
static GParamSpec *param_specs[PROP_LAST] = { NULL, };
static gchar *
media_duration_closure (ClapperAppInfoWindow *self, gdouble duration)
{
return g_strdup_printf ("%" CLAPPER_TIME_MS_FORMAT, CLAPPER_TIME_MS_ARGS (duration));
}
static gchar *
playback_element_name_closure (ClapperAppInfoWindow *self, GstElement *element)
{
GstElementFactory *factory;
if (!element || !(factory = gst_element_get_factory (element)))
return NULL;
return gst_object_get_name (GST_OBJECT_CAST (factory));
}
static gchar *
playback_decoder_closure (ClapperAppInfoWindow *self, GstElement *decoder)
{
GstElementFactory *factory;
gchar *el_name, *text;
gboolean is_hardware;
if (!decoder || !(factory = gst_element_get_factory (decoder)))
return NULL;
el_name = gst_object_get_name (GST_OBJECT_CAST (factory));
is_hardware = gst_element_factory_list_is_type (factory,
GST_ELEMENT_FACTORY_TYPE_HARDWARE);
text = g_strdup_printf ("%s [%s]", el_name,
(is_hardware) ? _("Hardware") : _("Software"));
g_free (el_name);
return text;
}
static GtkSelectionModel *
create_no_selection_closure (ClapperAppInfoWindow *self, ClapperStreamList *stream_list)
{
return GTK_SELECTION_MODEL (gtk_no_selection_new (gst_object_ref (stream_list)));
}
static gboolean
has_streams_closure (ClapperAppInfoWindow *self, guint n_streams)
{
return (n_streams > 0);
}
GtkWidget *
clapper_app_info_window_new (GtkApplication *gtk_app, ClapperPlayer *player)
{
ClapperAppInfoWindow *window;
window = g_object_new (CLAPPER_APP_TYPE_INFO_WINDOW,
"application", gtk_app,
"transient-for", gtk_application_get_active_window (gtk_app),
"player", player,
NULL);
return GTK_WIDGET (window);
}
static void
clapper_app_info_window_init (ClapperAppInfoWindow *self)
{
gtk_widget_init_template (GTK_WIDGET (self));
gtk_widget_remove_css_class (self->vstreams_list, "view");
gtk_widget_remove_css_class (self->astreams_list, "view");
gtk_widget_remove_css_class (self->sstreams_list, "view");
}
static void
clapper_app_info_window_dispose (GObject *object)
{
gtk_widget_dispose_template (GTK_WIDGET (object), CLAPPER_APP_TYPE_INFO_WINDOW);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
clapper_app_info_window_finalize (GObject *object)
{
ClapperAppInfoWindow *self = CLAPPER_APP_INFO_WINDOW_CAST (object);
GST_TRACE_OBJECT (self, "Finalize");
gst_clear_object (&self->player);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_info_window_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
ClapperAppInfoWindow *self = CLAPPER_APP_INFO_WINDOW_CAST (object);
switch (prop_id) {
case PROP_PLAYER:
g_value_set_object (value, self->player);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_info_window_set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
ClapperAppInfoWindow *self = CLAPPER_APP_INFO_WINDOW_CAST (object);
switch (prop_id) {
case PROP_PLAYER:
self->player = g_value_dup_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_info_window_class_init (ClapperAppInfoWindowClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperappinfowindow", 0,
"Clapper App Info Window");
gobject_class->get_property = clapper_app_info_window_get_property;
gobject_class->set_property = clapper_app_info_window_set_property;
gobject_class->dispose = clapper_app_info_window_dispose;
gobject_class->finalize = clapper_app_info_window_finalize;
gtk_widget_class_set_template_from_resource (widget_class,
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-info-window.ui");
param_specs[PROP_PLAYER] = g_param_spec_object ("player",
NULL, NULL, CLAPPER_TYPE_PLAYER,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, PROP_LAST, param_specs);
gtk_widget_class_bind_template_child (widget_class, ClapperAppInfoWindow, vstreams_list);
gtk_widget_class_bind_template_child (widget_class, ClapperAppInfoWindow, astreams_list);
gtk_widget_class_bind_template_child (widget_class, ClapperAppInfoWindow, sstreams_list);
gtk_widget_class_bind_template_callback (widget_class, media_duration_closure);
gtk_widget_class_bind_template_callback (widget_class, playback_element_name_closure);
gtk_widget_class_bind_template_callback (widget_class, playback_decoder_closure);
gtk_widget_class_bind_template_callback (widget_class, create_no_selection_closure);
gtk_widget_class_bind_template_callback (widget_class, has_streams_closure);
}

View File

@@ -0,0 +1,36 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <adwaita.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_INFO_WINDOW (clapper_app_info_window_get_type())
#define CLAPPER_APP_INFO_WINDOW_CAST(obj) ((ClapperAppInfoWindow *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppInfoWindow, clapper_app_info_window, CLAPPER_APP, INFO_WINDOW, AdwWindow)
G_GNUC_INTERNAL
GtkWidget * clapper_app_info_window_new (GtkApplication *gtk_app, ClapperPlayer *player);
G_END_DECLS

View File

@@ -0,0 +1,83 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <glib/gi18n.h>
#include "clapper-app-list-item-utils.h"
gchar *
clapper_app_list_item_make_stream_group_title (GtkListItem *list_item, ClapperStream *stream)
{
ClapperStreamType stream_type = CLAPPER_STREAM_TYPE_UNKNOWN;
guint position = gtk_list_item_get_position (list_item);
gchar *title = NULL;
if (stream)
stream_type = clapper_stream_get_stream_type (stream);
switch (stream_type) {
case CLAPPER_STREAM_TYPE_VIDEO:
title = g_strdup_printf ("%s #%u", _("Video"), position);
break;
case CLAPPER_STREAM_TYPE_AUDIO:
title = g_strdup_printf ("%s #%u", _("Audio"), position);
break;
case CLAPPER_STREAM_TYPE_SUBTITLE:
title = g_strdup_printf ("%s #%u", _("Subtitles"), position);
break;
default:
break;
}
return title;
}
gchar *
clapper_app_list_item_make_resolution (GtkListItem *list_item,
gint width, gint height)
{
return g_strdup_printf ("%ix%i", width, height);
}
gchar *
clapper_app_list_item_make_bitrate (GtkListItem *list_item, guint bitrate)
{
if (bitrate >= 1000000)
return g_strdup_printf ("%.3lf Mbps", (gdouble) bitrate / 1000000);
return g_strdup_printf ("%u kbps", bitrate / 1000);
}
gchar *
clapper_app_list_item_convert_int (GtkListItem *list_item, gint value)
{
return g_strdup_printf ("%i", value);
}
gchar *
clapper_app_list_item_convert_uint (GtkListItem *list_item, guint value)
{
return g_strdup_printf ("%u", value);
}
gchar *
clapper_app_list_item_convert_double (GtkListItem *list_item, gdouble value)
{
return g_strdup_printf ("%.3lf", value);
}

View File

@@ -0,0 +1,38 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <gtk/gtk.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
gchar * clapper_app_list_item_make_stream_group_title (GtkListItem *list_item, ClapperStream *stream);
gchar * clapper_app_list_item_make_resolution (GtkListItem *list_item, gint width, gint height);
gchar * clapper_app_list_item_make_bitrate (GtkListItem *list_item, guint value);
gchar * clapper_app_list_item_convert_int (GtkListItem *list_item, gint value);
gchar * clapper_app_list_item_convert_uint (GtkListItem *list_item, guint value);
gchar * clapper_app_list_item_convert_double (GtkListItem *list_item, gdouble value);
G_END_DECLS

View File

@@ -0,0 +1,106 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "clapper-app-media-item-box.h"
struct _ClapperAppMediaItemBox
{
GtkBox parent;
ClapperMediaItem *media_item;
};
enum
{
PROP_0,
PROP_MEDIA_ITEM,
PROP_LAST
};
#define parent_class clapper_app_media_item_box_parent_class
G_DEFINE_TYPE (ClapperAppMediaItemBox, clapper_app_media_item_box, GTK_TYPE_BOX);
static GParamSpec *param_specs[PROP_LAST] = { NULL, };
ClapperMediaItem *
clapper_app_media_item_box_get_media_item (ClapperAppMediaItemBox *self)
{
return self->media_item;
}
static void
clapper_app_media_item_box_init (ClapperAppMediaItemBox *self)
{
}
static void
clapper_app_media_item_box_finalize (GObject *object)
{
ClapperAppMediaItemBox *self = CLAPPER_APP_MEDIA_ITEM_BOX_CAST (object);
gst_clear_object (&self->media_item);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_media_item_box_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
ClapperAppMediaItemBox *self = CLAPPER_APP_MEDIA_ITEM_BOX_CAST (object);
switch (prop_id) {
case PROP_MEDIA_ITEM:
g_value_set_object (value, clapper_app_media_item_box_get_media_item (self));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_media_item_box_set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
ClapperAppMediaItemBox *self = CLAPPER_APP_MEDIA_ITEM_BOX_CAST (object);
switch (prop_id) {
case PROP_MEDIA_ITEM:
gst_object_replace ((GstObject **) &self->media_item, GST_OBJECT_CAST (g_value_get_object (value)));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_media_item_box_class_init (ClapperAppMediaItemBoxClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
gobject_class->get_property = clapper_app_media_item_box_get_property;
gobject_class->set_property = clapper_app_media_item_box_set_property;
gobject_class->finalize = clapper_app_media_item_box_finalize;
param_specs[PROP_MEDIA_ITEM] = g_param_spec_object ("media-item",
NULL, NULL, CLAPPER_TYPE_MEDIA_ITEM,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, PROP_LAST, param_specs);
}

View File

@@ -0,0 +1,35 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_MEDIA_ITEM_BOX (clapper_app_media_item_box_get_type())
#define CLAPPER_APP_MEDIA_ITEM_BOX_CAST(obj) ((ClapperAppMediaItemBox *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppMediaItemBox, clapper_app_media_item_box, CLAPPER_APP, MEDIA_ITEM_BOX, GtkBox)
G_GNUC_INTERNAL
ClapperMediaItem * clapper_app_media_item_box_get_media_item (ClapperAppMediaItemBox *box);
G_END_DECLS

View File

@@ -0,0 +1,614 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <glib/gi18n.h>
#include <gst/gst.h>
#include <clapper/clapper.h>
#include "clapper-app-preferences-window.h"
#include "clapper-app-application.h"
#include "clapper-app-utils.h"
#define GST_CAT_DEFAULT clapper_app_preferences_window_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppPreferencesWindow
{
AdwPreferencesWindow parent;
AdwComboRow *seek_method_combo_row;
AdwComboRow *seek_unit_combo_row;
AdwSpinRow *seek_value_spin_row;
AdwSwitchRow *server_switch_row;
AdwSpinRow *audio_offset_spin_row;
AdwSpinRow *subtitle_offset_spin_row;
GtkFontDialogButton *font_dialog_button;
AdwNavigationPage *plugins_subpage;
AdwComboRow *plugins_combo_row;
AdwComboRow *features_combo_row;
AdwPreferencesGroup *overrides_group;
GSettings *settings;
GList *features;
GtkStringList *plugins_list;
GPtrArray *rank_rows;
gulong ranks_setting_changed_id;
gboolean ranking_has_plugins_model;
};
#define parent_class clapper_app_preferences_window_parent_class
G_DEFINE_TYPE (ClapperAppPreferencesWindow, clapper_app_preferences_window, ADW_TYPE_PREFERENCES_WINDOW);
typedef struct
{
ClapperAppPreferencesWindow *prefs;
GHashTable *parsed_overrides;
gboolean updated;
} ClapperAppPreferencesIterRanksData;
enum
{
PROP_0,
PROP_RANK_ROWS,
PROP_LAST
};
static GParamSpec *param_specs[PROP_LAST] = { NULL, };
/* Sort by plugin name and if the same, sort by element name */
static gint
_compare_plugins_cb (gconstpointer ptr_a, gconstpointer ptr_b)
{
GstPluginFeature *feature_a = GST_PLUGIN_FEATURE_CAST (ptr_a);
GstPluginFeature *feature_b = GST_PLUGIN_FEATURE_CAST (ptr_b);
gint result;
result = strcmp (
gst_plugin_feature_get_plugin_name (feature_a),
gst_plugin_feature_get_plugin_name (feature_b));
if (result == 0) {
result = strcmp (
gst_plugin_feature_get_name (feature_a),
gst_plugin_feature_get_name (feature_b));
}
return result;
}
static gint
_compare_names_cb (gconstpointer ptr_a, gconstpointer ptr_b)
{
GstPluginFeature *feature = GST_PLUGIN_FEATURE_CAST (ptr_a);
const gchar *plugin_name = (const gchar *) ptr_b;
return strcmp (gst_plugin_feature_get_plugin_name (feature), plugin_name);
}
static gboolean
_prefs_rows_compare_func (gconstpointer ptr_a, gconstpointer ptr_b)
{
AdwPreferencesRow *row = (AdwPreferencesRow *) ptr_a;
const gchar *name = (const gchar *) ptr_b;
return (strcmp (adw_preferences_row_get_title (row), name) == 0);
}
static gboolean
_find_rank_overide_for_name (ClapperAppPreferencesWindow *self,
const gchar *plugin_feature, guint *index)
{
return g_ptr_array_find_with_equal_func (self->rank_rows,
plugin_feature, (GEqualFunc) _prefs_rows_compare_func, index);
}
static gboolean
_plugin_feature_filter_cb (GstPluginFeature *feature, gpointer user_data G_GNUC_UNUSED)
{
return GST_IS_ELEMENT_FACTORY (feature);
}
static void
remove_rank_override_button_clicked_cb (GtkButton *button, ClapperAppPreferencesWindow *self)
{
GtkWidget *spin_row;
const gchar *feature_name;
spin_row = gtk_widget_get_ancestor (GTK_WIDGET (button), ADW_TYPE_SPIN_ROW);
feature_name = adw_preferences_row_get_title (ADW_PREFERENCES_ROW (spin_row));
GST_DEBUG ("Removing rank override for: %s", feature_name);
g_ptr_array_remove (self->rank_rows, spin_row);
adw_preferences_group_remove (self->overrides_group, GTK_WIDGET (spin_row));
gtk_widget_set_visible (GTK_WIDGET (self->overrides_group), self->rank_rows->len > 0);
g_object_notify_by_pspec (G_OBJECT (self), param_specs[PROP_RANK_ROWS]);
}
static void
_add_rank_override (ClapperAppPreferencesWindow *self,
const gchar *feature_name, GstRank rank, gboolean from_env)
{
GtkWidget *spin_row, *remove_button;
spin_row = adw_spin_row_new_with_range (0, G_MAXINT, 1);
remove_button = gtk_button_new_from_icon_name ("user-trash-symbolic");
gtk_widget_set_halign (remove_button, GTK_ALIGN_CENTER);
gtk_widget_set_valign (remove_button, GTK_ALIGN_CENTER);
gtk_widget_add_css_class (remove_button, "circular");
adw_preferences_row_set_title (ADW_PREFERENCES_ROW (spin_row), feature_name);
adw_action_row_add_prefix (ADW_ACTION_ROW (spin_row), remove_button);
adw_spin_row_set_numeric (ADW_SPIN_ROW (spin_row), TRUE);
adw_spin_row_set_value (ADW_SPIN_ROW (spin_row), rank);
gtk_widget_set_sensitive (spin_row, !from_env);
if (!from_env) {
g_signal_connect (remove_button, "clicked",
G_CALLBACK (remove_rank_override_button_clicked_cb), self);
}
adw_preferences_group_add (self->overrides_group, spin_row);
g_ptr_array_add (self->rank_rows, spin_row);
}
static void
_iter_ranks_func (const gchar *feature_name, GstRank rank,
gboolean from_env, ClapperAppPreferencesIterRanksData *data)
{
ClapperAppPreferencesWindow *self = data->prefs;
guint index = 0;
if (_find_rank_overide_for_name (self, feature_name, &index)) {
GtkWidget *spin_row = g_ptr_array_index (self->rank_rows, index);
if (rank != adw_spin_row_get_value (ADW_SPIN_ROW (spin_row))) {
adw_spin_row_set_value (ADW_SPIN_ROW (spin_row), rank);
data->updated = TRUE;
}
if (from_env == gtk_widget_get_sensitive (spin_row)) {
gtk_widget_set_sensitive (spin_row, !from_env);
data->updated = TRUE;
}
} else {
_add_rank_override (self, feature_name, rank, from_env);
data->updated = TRUE;
}
g_hash_table_insert (data->parsed_overrides,
g_strdup (feature_name), GINT_TO_POINTER (rank));
}
static void
_update_rank_overrides (ClapperAppPreferencesWindow *self)
{
ClapperAppPreferencesIterRanksData *data;
gint i;
data = g_new (ClapperAppPreferencesIterRanksData, 1);
data->prefs = self;
data->parsed_overrides = g_hash_table_new (g_str_hash, g_str_equal);
data->updated = FALSE;
GST_DEBUG ("Updating rank overrides");
clapper_app_utils_iterate_plugin_feature_ranks (self->settings,
(ClapperAppUtilsIterRanks) _iter_ranks_func, data);
for (i = self->rank_rows->len - 1; i >= 0; --i) {
AdwPreferencesRow *prefs_row = ADW_PREFERENCES_ROW (g_ptr_array_index (self->rank_rows, i));
const gchar *feature_name = adw_preferences_row_get_title (prefs_row);
if (!g_hash_table_contains (data->parsed_overrides, feature_name)) {
g_ptr_array_remove_index (self->rank_rows, i);
adw_preferences_group_remove (self->overrides_group, GTK_WIDGET (prefs_row));
data->updated = TRUE;
}
}
if (data->updated) {
gtk_widget_set_visible (GTK_WIDGET (self->overrides_group), self->rank_rows->len > 0);
g_object_notify_by_pspec (G_OBJECT (self), param_specs[PROP_RANK_ROWS]);
}
g_hash_table_unref (data->parsed_overrides);
g_free (data);
}
static void
add_override_button_clicked_cb (GtkButton *button, ClapperAppPreferencesWindow *self)
{
GstPluginFeature *plugin_feature;
GstRank rank;
GtkStringObject *string_obj;
const gchar *feature_name;
string_obj = GTK_STRING_OBJECT (adw_combo_row_get_selected_item (self->features_combo_row));
/* Should never happen, as button is insensitive when no selection */
if (G_UNLIKELY (string_obj == NULL))
return;
feature_name = gtk_string_object_get_string (string_obj);
GST_DEBUG ("Adding rank override for: %s", feature_name);
plugin_feature = gst_registry_lookup_feature (gst_registry_get (), feature_name);
rank = gst_plugin_feature_get_rank (plugin_feature);
_add_rank_override (self, feature_name, rank, FALSE);
gtk_widget_set_visible (GTK_WIDGET (self->overrides_group), self->rank_rows->len > 0);
g_object_notify_by_pspec (G_OBJECT (self), param_specs[PROP_RANK_ROWS]);
gst_object_unref (plugin_feature);
}
static GtkStringList *
_make_plugin_features_string_list (ClapperAppPreferencesWindow *self, const gchar *plugin_name)
{
GList *features, *feat;
GtkStringList *features_list;
GStrvBuilder *builder;
gchar **features_names;
GST_DEBUG ("Reading plugin features for plugin: %s", plugin_name);
features = g_list_find_custom (self->features, plugin_name, (GCompareFunc) _compare_names_cb);
builder = g_strv_builder_new ();
for (feat = features; feat != NULL; feat = feat->next) {
GstPluginFeature *feature = GST_PLUGIN_FEATURE_CAST (feat->data);
const gchar *feature_name = gst_plugin_feature_get_name (feature);
if (strcmp (gst_plugin_feature_get_plugin_name (feature), plugin_name) != 0)
break;
g_strv_builder_add (builder, feature_name);
}
features_names = g_strv_builder_end (builder);
g_strv_builder_unref (builder);
features_list = gtk_string_list_new ((const gchar *const *) features_names);
g_strfreev (features_names);
GST_DEBUG ("Found plugin features: %u", g_list_model_get_n_items (G_LIST_MODEL (features_list)));
return features_list;
}
static GtkStringList *
ranking_features_model_closure (ClapperAppPreferencesWindow *self, GtkStringObject *string_obj)
{
if (!string_obj || !self->ranking_has_plugins_model)
return NULL;
return _make_plugin_features_string_list (self, gtk_string_object_get_string (string_obj));
}
static gboolean
add_override_button_sensitive_closure (ClapperAppPreferencesWindow *self,
GtkStringObject *string_obj, GPtrArray *rank_rows)
{
return (string_obj && !_find_rank_overide_for_name (self,
gtk_string_object_get_string (string_obj), NULL));
}
static void
plugin_feature_ranks_settings_changed_cb (GSettings *settings,
gchar *key G_GNUC_UNUSED, ClapperAppPreferencesWindow *self)
{
GST_DEBUG ("Plugin feature ranks stored setting changed");
_update_rank_overrides (self);
}
static void
_ensure_plugins_and_features_lists (ClapperAppPreferencesWindow *self)
{
GList *feat;
GStrvBuilder *builder;
gchar **plugin_names;
const gchar *last_plugin_name = NULL;
/* Return if we were here already. Features can be NULL
* when no plugins are found at specified directory */
if (self->features || self->plugins_list)
return;
GST_DEBUG ("Reading available plugin features...");
self->features = gst_registry_feature_filter (gst_registry_get (),
(GstPluginFeatureFilter) _plugin_feature_filter_cb,
FALSE, NULL);
self->features = g_list_sort (self->features, (GCompareFunc) _compare_plugins_cb);
builder = g_strv_builder_new ();
for (feat = self->features; feat != NULL; feat = feat->next) {
GstPluginFeature *feature = GST_PLUGIN_FEATURE_CAST (feat->data);
const gchar *plugin_name = gst_plugin_feature_get_plugin_name (feature);
if (g_strcmp0 (plugin_name, last_plugin_name) != 0) {
g_strv_builder_add (builder, plugin_name);
last_plugin_name = plugin_name;
}
}
plugin_names = g_strv_builder_end (builder);
g_strv_builder_unref (builder);
GST_DEBUG ("Read all available plugin features");
self->plugins_list = gtk_string_list_new ((const gchar *const *) plugin_names);
g_strfreev (plugin_names);
}
static void
plugin_ranking_activated_cb (AdwActionRow *action_row, ClapperAppPreferencesWindow *self)
{
_ensure_plugins_and_features_lists (self);
if (!self->ranking_has_plugins_model) {
adw_combo_row_set_model (self->plugins_combo_row, G_LIST_MODEL (self->plugins_list));
adw_combo_row_set_selected (self->plugins_combo_row, GTK_INVALID_LIST_POSITION);
GST_DEBUG ("Populated plugins combo row in ranking subpage");
/* This is needed here so we will not populate plugin features row after setting
* model and unset it again after changing back to GTK_INVALID_LIST_POSITION */
self->ranking_has_plugins_model = TRUE;
}
if (self->ranks_setting_changed_id == 0) {
self->ranks_setting_changed_id = g_signal_connect (self->settings,
"changed::plugin-feature-ranks",
G_CALLBACK (plugin_feature_ranks_settings_changed_cb), self);
}
_update_rank_overrides (self);
adw_preferences_window_push_subpage (ADW_PREFERENCES_WINDOW (self), self->plugins_subpage);
}
static void
plugin_ranking_unrealize_cb (GtkWidget *widget, ClapperAppPreferencesWindow *self)
{
GString *string;
gchar *ranks_str;
guint i;
/* Since we are closing ranking subpage, disconnect this
* signal as we do not need to update widgets immediately */
if (self->ranks_setting_changed_id != 0) {
g_signal_handler_disconnect (self->settings, self->ranks_setting_changed_id);
self->ranks_setting_changed_id = 0;
}
GST_DEBUG ("Saving current rank overrides");
string = g_string_new (NULL);
for (i = 0; i < self->rank_rows->len; ++i) {
GtkWidget *spin_row = g_ptr_array_index (self->rank_rows, i);
GstRank rank;
const gchar *feature_name;
/* Insensitive are from env, we do not want to save these */
if (!gtk_widget_get_sensitive (spin_row))
continue;
rank = adw_spin_row_get_value (ADW_SPIN_ROW (spin_row));
feature_name = adw_preferences_row_get_title (ADW_PREFERENCES_ROW (spin_row));
if (string->len == 0)
g_string_append_printf (string, "%s:%i", feature_name, rank);
else
g_string_append_printf (string, ",%s:%i", feature_name, rank);
}
ranks_str = g_string_free_and_steal (string);
g_settings_set_string (self->settings, "plugin-feature-ranks", ranks_str);
g_free (ranks_str);
}
static gchar *
seek_method_name_closure (AdwEnumListItem *list_item, gpointer *user_data G_GNUC_UNUSED)
{
switch (adw_enum_list_item_get_value (list_item)) {
case CLAPPER_PLAYER_SEEK_METHOD_ACCURATE:
return g_strdup (_("Accurate"));
case CLAPPER_PLAYER_SEEK_METHOD_NORMAL:
return g_strdup (_("Normal"));
case CLAPPER_PLAYER_SEEK_METHOD_FAST:
return g_strdup (_("Fast"));
default:
return NULL;
}
}
static gboolean
_get_font_mapping (GValue *value,
GVariant *variant, gpointer user_data G_GNUC_UNUSED)
{
PangoFontDescription *desc;
const gchar *desc_str = g_variant_get_string (variant, NULL);
desc = pango_font_description_from_string (desc_str);
g_value_set_boxed (value, desc);
pango_font_description_free (desc);
return TRUE;
}
static GVariant *
_set_font_mapping (const GValue *value,
const GVariantType *expected_type, gpointer user_data G_GNUC_UNUSED)
{
PangoFontDescription *desc;
gchar *desc_str;
desc = (PangoFontDescription *) g_value_get_boxed (value);
desc_str = pango_font_description_to_string (desc);
return g_variant_new_take_string (desc_str);
}
GtkWidget *
clapper_app_preferences_window_new (GtkApplication *gtk_app)
{
ClapperAppPreferencesWindow *window;
window = g_object_new (CLAPPER_APP_TYPE_PREFERENCES_WINDOW,
"application", gtk_app,
"transient-for", gtk_application_get_active_window (gtk_app),
NULL);
return GTK_WIDGET (window);
}
static void
clapper_app_preferences_window_init (ClapperAppPreferencesWindow *self)
{
gtk_widget_init_template (GTK_WIDGET (self));
self->rank_rows = g_ptr_array_new ();
self->settings = g_settings_new (CLAPPER_APP_ID);
g_settings_bind (self->settings, "seek-method",
self->seek_method_combo_row, "selected", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (self->settings, "seek-unit",
self->seek_unit_combo_row, "selected", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (self->settings, "seek-value",
self->seek_value_spin_row, "value", G_SETTINGS_BIND_DEFAULT);
#if CLAPPER_HAVE_SERVER
g_settings_bind (self->settings, "server-enabled",
self->server_switch_row, "active", G_SETTINGS_BIND_DEFAULT);
#else
gtk_widget_set_sensitive (GTK_WIDGET (self->server_switch_row), FALSE);
#endif
g_settings_bind (self->settings, "audio-offset",
self->audio_offset_spin_row, "value", G_SETTINGS_BIND_DEFAULT);
g_settings_bind (self->settings, "subtitle-offset",
self->subtitle_offset_spin_row, "value", G_SETTINGS_BIND_DEFAULT);
g_settings_bind_with_mapping (self->settings, "subtitle-font-desc",
self->font_dialog_button, "font-desc", G_SETTINGS_BIND_DEFAULT,
(GSettingsBindGetMapping) _get_font_mapping,
(GSettingsBindSetMapping) _set_font_mapping,
NULL, NULL);
}
static void
clapper_app_preferences_window_dispose (GObject *object)
{
ClapperAppPreferencesWindow *self = CLAPPER_APP_PREFERENCES_WINDOW_CAST (object);
g_clear_pointer (&self->rank_rows, g_ptr_array_unref);
gtk_widget_dispose_template (GTK_WIDGET (self), CLAPPER_APP_TYPE_PREFERENCES_WINDOW);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
clapper_app_preferences_window_finalize (GObject *object)
{
ClapperAppPreferencesWindow *self = CLAPPER_APP_PREFERENCES_WINDOW_CAST (object);
GST_TRACE_OBJECT (self, "Finalize");
g_object_unref (self->settings);
g_clear_object (&self->plugins_list);
if (self->features)
gst_plugin_feature_list_free (self->features);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_preferences_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
ClapperAppPreferencesWindow *self = CLAPPER_APP_PREFERENCES_WINDOW_CAST (object);
switch (prop_id) {
case PROP_RANK_ROWS:
g_value_set_boxed (value, self->rank_rows);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_preferences_window_class_init (ClapperAppPreferencesWindowClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperapppreferenceswindow", 0,
"Clapper App Preferences Window");
gobject_class->get_property = clapper_app_preferences_get_property;
gobject_class->dispose = clapper_app_preferences_window_dispose;
gobject_class->finalize = clapper_app_preferences_window_finalize;
gtk_widget_class_set_template_from_resource (widget_class,
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-preferences-window.ui");
param_specs[PROP_RANK_ROWS] = g_param_spec_boxed ("rank-rows",
NULL, NULL, G_TYPE_PTR_ARRAY,
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, PROP_LAST, param_specs);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, seek_method_combo_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, seek_unit_combo_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, seek_value_spin_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, server_switch_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, audio_offset_spin_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, subtitle_offset_spin_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, font_dialog_button);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, plugins_subpage);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, plugins_combo_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, features_combo_row);
gtk_widget_class_bind_template_child (widget_class, ClapperAppPreferencesWindow, overrides_group);
gtk_widget_class_bind_template_callback (widget_class, seek_method_name_closure);
gtk_widget_class_bind_template_callback (widget_class, plugin_ranking_activated_cb);
gtk_widget_class_bind_template_callback (widget_class, plugin_ranking_unrealize_cb);
gtk_widget_class_bind_template_callback (widget_class, ranking_features_model_closure);
gtk_widget_class_bind_template_callback (widget_class, add_override_button_sensitive_closure);
gtk_widget_class_bind_template_callback (widget_class, add_override_button_clicked_cb);
}

View File

@@ -0,0 +1,35 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <adwaita.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_PREFERENCES_WINDOW (clapper_app_preferences_window_get_type())
#define CLAPPER_APP_PREFERENCES_WINDOW_CAST(obj) ((ClapperAppPreferencesWindow *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppPreferencesWindow, clapper_app_preferences_window, CLAPPER_APP, PREFERENCES_WINDOW, AdwPreferencesWindow)
G_GNUC_INTERNAL
GtkWidget * clapper_app_preferences_window_new (GtkApplication *gtk_app);
G_END_DECLS

View File

@@ -0,0 +1,77 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "clapper-app-property-row.h"
struct _ClapperAppPropertyRow
{
AdwActionRow parent;
};
#define parent_class clapper_app_property_row_parent_class
G_DEFINE_TYPE (ClapperAppPropertyRow, clapper_app_property_row, ADW_TYPE_ACTION_ROW);
static inline void
_ensure_subtitle (AdwActionRow *action_row)
{
const gchar *subtitle = adw_action_row_get_subtitle (action_row);
if (!subtitle || strlen (subtitle) == 0)
adw_action_row_set_subtitle (action_row, "-");
}
static void
_subtitle_changed_cb (AdwActionRow *action_row,
GParamSpec *pspec G_GNUC_UNUSED, gpointer user_data G_GNUC_UNUSED)
{
_ensure_subtitle (action_row);
}
static void
clapper_app_property_row_realize (GtkWidget *widget)
{
_ensure_subtitle (ADW_ACTION_ROW (widget));
g_signal_connect (widget, "notify::subtitle",
G_CALLBACK (_subtitle_changed_cb), NULL);
GTK_WIDGET_CLASS (parent_class)->realize (widget);
}
static void
clapper_app_property_row_unrealize (GtkWidget *widget)
{
g_signal_handlers_disconnect_by_func (widget,
_subtitle_changed_cb, NULL);
GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
}
static void
clapper_app_property_row_init (ClapperAppPropertyRow *self)
{
gtk_widget_add_css_class (GTK_WIDGET (self), "property");
}
static void
clapper_app_property_row_class_init (ClapperAppPropertyRowClass *klass)
{
GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
widget_class->realize = clapper_app_property_row_realize;
widget_class->unrealize = clapper_app_property_row_unrealize;
}

View File

@@ -0,0 +1,31 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <adwaita.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_PROPERTY_ROW (clapper_app_property_row_get_type())
#define CLAPPER_APP_PROPERTY_ROW_CAST(obj) ((ClapperAppPropertyRow *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppPropertyRow, clapper_app_property_row, CLAPPER_APP, PROPERTY_ROW, AdwActionRow)
G_END_DECLS

View File

@@ -0,0 +1,472 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <gdk/gdk.h>
#include "clapper-app-queue-list.h"
#include "clapper-app-queue-selection.h"
#include "clapper-app-media-item-box.h"
#include "clapper-app-utils.h"
#define GST_CAT_DEFAULT clapper_app_queue_list_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppQueueList
{
GtkBox parent;
GtkWidget *progression_drop_down;
GtkWidget *list_view;
GtkWidget *stack;
GtkWidget *stack_default_page;
GtkWidget *stack_trash_page;
GtkDropTarget *trash_drop_target;
GtkDropTarget *drop_target;
GBinding *queue_progression_binding;
GtkWidget *list_target; // store last target
gboolean drop_after; // if should drop below list_target
};
#define parent_class clapper_app_queue_list_parent_class
G_DEFINE_TYPE (ClapperAppQueueList, clapper_app_queue_list, GTK_TYPE_BOX);
typedef struct
{
ClapperMediaItem *item;
GtkWidget *widget;
GdkPaintable *paintable;
gdouble x, y;
} ClapperAppQueueListDragData;
static GdkContentProvider *
drag_item_prepare_cb (GtkDragSource *drag_source, gdouble x, gdouble y, ClapperAppQueueList *self)
{
GtkWidget *list_view, *pickup, *list_widget;
GdkPaintable *paintable;
ClapperMediaItem *item;
ClapperAppQueueListDragData *drag_data;
graphene_point_t p;
/* Ensure no target yet */
self->list_target = NULL;
list_view = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (drag_source));
pickup = gtk_widget_pick (list_view, x, y, GTK_PICK_DEFAULT);
if (G_UNLIKELY (pickup == NULL) || !CLAPPER_APP_IS_MEDIA_ITEM_BOX (pickup))
return NULL;
list_widget = gtk_widget_get_parent (pickup);
item = clapper_app_media_item_box_get_media_item (CLAPPER_APP_MEDIA_ITEM_BOX_CAST (pickup));
if (G_UNLIKELY (item == NULL || list_widget == NULL))
return NULL;
GST_DEBUG_OBJECT (self, "Preparing drag for: %" GST_PTR_FORMAT, item);
if (!gtk_widget_compute_point (list_view, list_widget, &GRAPHENE_POINT_INIT (x, y), &p))
graphene_point_init (&p, x, y);
paintable = gtk_widget_paintable_new (list_widget);
drag_data = g_new0 (ClapperAppQueueListDragData, 1);
drag_data->item = gst_object_ref (item);
drag_data->widget = g_object_ref_sink (pickup);
drag_data->paintable = gdk_paintable_get_current_image (paintable);
drag_data->x = p.x;
drag_data->y = p.y;
g_object_set_data (G_OBJECT (self), "drag-data", drag_data);
g_object_unref (paintable);
return gdk_content_provider_new_typed (GTK_TYPE_WIDGET, pickup);
}
static void
drag_item_drag_begin_cb (GtkDragSource *drag_source, GdkDrag *drag, ClapperAppQueueList *self)
{
ClapperAppQueueListDragData *drag_data;
GtkWidget *list_view;
drag_data = (ClapperAppQueueListDragData *) g_object_get_data (G_OBJECT (self), "drag-data");
gtk_drag_source_set_icon (drag_source, drag_data->paintable, drag_data->x, drag_data->y);
gtk_widget_set_opacity (drag_data->widget, 0.3);
list_view = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (drag_source));
gtk_widget_add_css_class (list_view, "dnd");
gtk_stack_set_visible_child (GTK_STACK (self->stack), self->stack_trash_page);
}
static void
drag_item_drag_end_cb (GtkDragSource *drag_source, GdkDrag *drag,
gboolean delete_data, ClapperAppQueueList *self)
{
ClapperAppQueueListDragData *drag_data;
GtkWidget *list_view;
drag_data = (ClapperAppQueueListDragData *) g_object_get_data (G_OBJECT (self), "drag-data");
g_object_set_data (G_OBJECT (self), "drag-data", NULL);
list_view = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (drag_source));
gtk_widget_remove_css_class (list_view, "dnd");
gtk_widget_set_opacity (drag_data->widget, 1.0);
gtk_stack_set_visible_child (GTK_STACK (self->stack), self->stack_default_page);
gst_object_unref (drag_data->item);
g_object_unref (drag_data->widget);
g_object_unref (drag_data->paintable);
g_free (drag_data);
gtk_event_controller_reset (GTK_EVENT_CONTROLLER (drag_source));
}
static void
queue_drop_value_notify_cb (GtkDropTarget *drop_target,
GParamSpec *pspec G_GNUC_UNUSED, ClapperAppQueueList *self)
{
const GValue *value = gtk_drop_target_get_value (drop_target);
if (value && !clapper_app_utils_value_for_item_is_valid (value))
gtk_drop_target_reject (drop_target);
}
static GdkDragAction
queue_drop_motion_cb (GtkDropTarget *drop_target,
gdouble x, gdouble y, ClapperAppQueueList *self)
{
GtkWidget *list_view, *pickup;
GdkDrop *drop;
list_view = gtk_event_controller_get_widget (GTK_EVENT_CONTROLLER (drop_target));
pickup = gtk_widget_pick (list_view, x, y, GTK_PICK_DEFAULT);
if (pickup && CLAPPER_APP_IS_MEDIA_ITEM_BOX (pickup)) {
ClapperAppQueueListDragData *drag_data;
GtkWidget *list_widget;
graphene_point_t point;
gint height, margin_top = 0, margin_bottom = 0;
drag_data = (ClapperAppQueueListDragData *) g_object_get_data (G_OBJECT (self), "drag-data");
list_widget = gtk_widget_get_parent (pickup);
height = gtk_widget_get_height (list_widget);
if ((!drag_data || pickup != drag_data->widget)
&& gtk_widget_compute_point (list_view, list_widget, &GRAPHENE_POINT_INIT (x, y), &point)) {
GtkWidget *sibling = NULL;
if (point.y < (gfloat) height / 2) {
if (drag_data)
sibling = gtk_widget_get_prev_sibling (list_widget);
if (!sibling || gtk_widget_get_parent (drag_data->widget) != sibling)
margin_top = height;
} else {
if (drag_data)
sibling = gtk_widget_get_next_sibling (list_widget);
if (!sibling || gtk_widget_get_parent (drag_data->widget) != sibling)
margin_bottom = height;
}
}
if (self->list_target && self->list_target != list_widget) {
gtk_widget_set_margin_top (self->list_target, 0);
gtk_widget_set_margin_bottom (self->list_target, 0);
}
gtk_widget_set_margin_top (list_widget, margin_top);
gtk_widget_set_margin_bottom (list_widget, margin_bottom);
self->list_target = list_widget;
self->drop_after = (margin_bottom > margin_top);
}
if ((drop = gtk_drop_target_get_current_drop (drop_target))) {
GdkContentFormats *formats = gdk_drop_get_formats (drop);
/* If it is a widget we move it from one place to another */
if (gdk_content_formats_contain_gtype (formats, GTK_TYPE_WIDGET))
return GDK_ACTION_MOVE;
}
return GDK_ACTION_COPY;
}
static void
queue_drop_leave_cb (GtkDropTarget *drop_target, ClapperAppQueueList *self)
{
if (self->list_target) {
gtk_widget_set_margin_top (self->list_target, 0);
gtk_widget_set_margin_bottom (self->list_target, 0);
}
}
static gboolean
queue_drop_cb (GtkDropTarget *drop_target, const GValue *value,
gdouble x, gdouble y, ClapperAppQueueList *self)
{
ClapperQueue *queue;
ClapperMediaItem *item;
GtkWidget *pickup;
guint drop_index = 0;
gboolean success = FALSE;
if (G_UNLIKELY (self->list_target == NULL))
return FALSE;
pickup = gtk_widget_get_first_child (self->list_target);
/* Reset margins on drop */
gtk_widget_set_margin_top (self->list_target, 0);
gtk_widget_set_margin_bottom (self->list_target, 0);
self->list_target = NULL;
if (G_UNLIKELY (pickup == NULL) || !CLAPPER_APP_IS_MEDIA_ITEM_BOX (pickup))
return FALSE;
item = clapper_app_media_item_box_get_media_item (CLAPPER_APP_MEDIA_ITEM_BOX_CAST (pickup));
queue = CLAPPER_QUEUE (gst_object_get_parent (GST_OBJECT (item)));
if (G_UNLIKELY (queue == NULL))
return FALSE;
if (!clapper_queue_find_item (queue, item, &drop_index)) {
gst_object_unref (queue);
return FALSE;
}
if (self->drop_after)
drop_index++;
/* Moving item with widget */
if (G_VALUE_HOLDS (value, GTK_TYPE_WIDGET)) {
ClapperAppQueueListDragData *drag_data;
drag_data = (ClapperAppQueueListDragData *) g_object_get_data (G_OBJECT (self), "drag-data");
/* Insert at different place */
if (item != drag_data->item) {
guint index = 0;
if (clapper_queue_find_item (queue, drag_data->item, &index)) {
if (drop_index > index)
drop_index--;
clapper_queue_reposition_item (queue, drag_data->item, drop_index);
success = TRUE;
}
}
} else {
GFile **files = NULL;
gint n_files = 0;
if (clapper_app_utils_files_from_value (value, &files, &n_files)) {
gint i;
for (i = 0; i < n_files; ++i) {
ClapperMediaItem *new_item = clapper_media_item_new_from_file (files[i]);
clapper_queue_insert_item (queue, new_item, drop_index + i);
gst_object_unref (new_item);
}
clapper_app_utils_files_free (files);
success = TRUE;
}
}
gst_object_unref (queue);
return success;
}
static gboolean
trash_drop_cb (GtkDropTarget *drop_target, const GValue *value,
gdouble x, gdouble y, ClapperAppQueueList *self)
{
ClapperAppQueueListDragData *drag_data;
ClapperQueue *queue;
drag_data = (ClapperAppQueueListDragData *) g_object_get_data (G_OBJECT (self), "drag-data");
if ((queue = CLAPPER_QUEUE (gst_object_get_parent (GST_OBJECT (drag_data->item))))) {
clapper_queue_remove_item (queue, drag_data->item);
gst_object_unref (queue);
}
return TRUE;
}
static void
_item_selected_cb (ClapperAppQueueSelection *selection, guint index, ClapperAppQueueList *self)
{
GtkWidget *list_revealer;
/* Auto hide queue list after selection */
list_revealer = gtk_widget_get_ancestor (self->list_view, GTK_TYPE_REVEALER);
if (G_LIKELY (list_revealer != NULL))
gtk_revealer_set_reveal_child (GTK_REVEALER (list_revealer), FALSE);
}
static gboolean
_queue_progression_mode_transform_to_func (GBinding *binding, const GValue *from_value,
GValue *to_value, ClapperAppQueueList *self)
{
ClapperQueueProgressionMode mode = g_value_get_enum (from_value);
g_value_set_uint (to_value, (guint) mode);
return TRUE;
}
static gboolean
_queue_progression_mode_transform_from_func (GBinding *binding, const GValue *from_value,
GValue *to_value, ClapperAppQueueList *self)
{
guint mode = g_value_get_uint (from_value);
if (mode == GTK_INVALID_LIST_POSITION)
return FALSE;
g_value_set_enum (to_value, (ClapperQueueProgressionMode) mode);
return TRUE;
}
static void
clapper_app_queue_list_realize (GtkWidget *widget)
{
ClapperAppQueueList *self = CLAPPER_APP_QUEUE_LIST_CAST (widget);
ClapperPlayer *player;
GTK_WIDGET_CLASS (parent_class)->realize (widget);
GST_TRACE_OBJECT (self, "Realize");
if ((player = clapper_gtk_get_player_from_ancestor (widget))) {
ClapperQueue *queue = clapper_player_get_queue (player);
ClapperAppQueueSelection *selection = clapper_app_queue_selection_new (queue);
g_signal_connect (selection, "item-selected",
G_CALLBACK (_item_selected_cb), self);
self->queue_progression_binding = g_object_bind_property_full (queue, "progression-mode",
self->progression_drop_down, "selected", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL,
(GBindingTransformFunc) _queue_progression_mode_transform_to_func,
(GBindingTransformFunc) _queue_progression_mode_transform_from_func,
self, NULL);
gtk_list_view_set_model (GTK_LIST_VIEW (self->list_view),
GTK_SELECTION_MODEL (selection));
g_object_unref (selection);
}
}
static void
clapper_app_queue_list_unrealize (GtkWidget *widget)
{
ClapperAppQueueList *self = CLAPPER_APP_QUEUE_LIST_CAST (widget);
GST_TRACE_OBJECT (self, "Unrealize");
g_clear_pointer (&self->queue_progression_binding, g_binding_unbind);
gtk_list_view_set_model (GTK_LIST_VIEW (self->list_view), NULL);
GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
}
static void
clapper_app_queue_list_init (ClapperAppQueueList *self)
{
gtk_widget_init_template (GTK_WIDGET (self));
/* Does not work correctly with OSD */
gtk_widget_remove_css_class (self->list_view, "view");
gtk_drop_target_set_gtypes (self->trash_drop_target,
(GType[1]) { GTK_TYPE_WIDGET }, 1);
gtk_drop_target_set_gtypes (self->drop_target,
(GType[4]) { GTK_TYPE_WIDGET, GDK_TYPE_FILE_LIST, G_TYPE_FILE, G_TYPE_STRING }, 4);
}
static void
clapper_app_queue_list_dispose (GObject *object)
{
gtk_widget_dispose_template (GTK_WIDGET (object), CLAPPER_APP_TYPE_QUEUE_LIST);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
clapper_app_queue_list_finalize (GObject *object)
{
ClapperAppQueueList *self = CLAPPER_APP_QUEUE_LIST_CAST (object);
GST_TRACE_OBJECT (self, "Finalize");
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_queue_list_class_init (ClapperAppQueueListClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperappqueuelist", 0,
"Clapper App Queue List");
gobject_class->dispose = clapper_app_queue_list_dispose;
gobject_class->finalize = clapper_app_queue_list_finalize;
widget_class->realize = clapper_app_queue_list_realize;
widget_class->unrealize = clapper_app_queue_list_unrealize;
gtk_widget_class_set_template_from_resource (widget_class,
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-queue-list.ui");
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, progression_drop_down);
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, list_view);
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, stack);
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, stack_default_page);
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, stack_trash_page);
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, trash_drop_target);
gtk_widget_class_bind_template_child (widget_class, ClapperAppQueueList, drop_target);
gtk_widget_class_bind_template_callback (widget_class, drag_item_prepare_cb);
gtk_widget_class_bind_template_callback (widget_class, drag_item_drag_begin_cb);
gtk_widget_class_bind_template_callback (widget_class, drag_item_drag_end_cb);
gtk_widget_class_bind_template_callback (widget_class, queue_drop_value_notify_cb);
gtk_widget_class_bind_template_callback (widget_class, queue_drop_motion_cb);
gtk_widget_class_bind_template_callback (widget_class, queue_drop_leave_cb);
gtk_widget_class_bind_template_callback (widget_class, queue_drop_cb);
gtk_widget_class_bind_template_callback (widget_class, trash_drop_cb);
gtk_widget_class_set_css_name (widget_class, "clapper-app-queue-list");
}

View File

@@ -0,0 +1,32 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <clapper-gtk/clapper-gtk.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_QUEUE_LIST (clapper_app_queue_list_get_type())
#define CLAPPER_APP_QUEUE_LIST_CAST(obj) ((ClapperAppQueueList *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppQueueList, clapper_app_queue_list, CLAPPER_APP, QUEUE_LIST, GtkBox)
G_END_DECLS

View File

@@ -0,0 +1,107 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <glib.h>
#include "clapper-app-queue-progression-item.h"
struct _ClapperAppQueueProgressionItem
{
GObject parent;
gchar *icon_name;
gchar *label;
};
enum
{
PROP_0,
PROP_ICON_NAME,
PROP_LABEL,
PROP_LAST
};
#define parent_class clapper_app_queue_progression_item_parent_class
G_DEFINE_TYPE (ClapperAppQueueProgressionItem, clapper_app_queue_progression_item, G_TYPE_OBJECT);
static GParamSpec *param_specs[PROP_LAST] = { NULL, };
ClapperAppQueueProgressionItem *
clapper_app_queue_progression_item_new (const gchar *icon_name, const gchar *label)
{
ClapperAppQueueProgressionItem *item;
item = g_object_new (CLAPPER_APP_TYPE_QUEUE_PROGRESSION_ITEM, NULL);
item->icon_name = g_strdup (icon_name);
item->label = g_strdup (label);
return item;
}
static void
clapper_app_queue_progression_item_init (ClapperAppQueueProgressionItem *self)
{
}
static void
clapper_app_queue_progression_item_finalize (GObject *object)
{
ClapperAppQueueProgressionItem *self = CLAPPER_APP_QUEUE_PROGRESSION_ITEM_CAST (object);
g_free (self->icon_name);
g_free (self->label);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_queue_progression_item_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
ClapperAppQueueProgressionItem *self = CLAPPER_APP_QUEUE_PROGRESSION_ITEM_CAST (object);
switch (prop_id) {
case PROP_ICON_NAME:
g_value_set_string (value, self->icon_name);
break;
case PROP_LABEL:
g_value_set_string (value, self->label);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_queue_progression_item_class_init (ClapperAppQueueProgressionItemClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
gobject_class->get_property = clapper_app_queue_progression_item_get_property;
gobject_class->finalize = clapper_app_queue_progression_item_finalize;
param_specs[PROP_ICON_NAME] = g_param_spec_string ("icon-name",
NULL, NULL, NULL,
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
param_specs[PROP_LABEL] = g_param_spec_string ("label",
NULL, NULL, NULL,
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (gobject_class, PROP_LAST, param_specs);
}

View File

@@ -0,0 +1,33 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_QUEUE_PROGRESSION_ITEM (clapper_app_queue_progression_item_get_type())
#define CLAPPER_APP_QUEUE_PROGRESSION_ITEM_CAST(obj) ((ClapperAppQueueProgressionItem *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppQueueProgressionItem, clapper_app_queue_progression_item, CLAPPER_APP, QUEUE_PROGRESSION_ITEM, GObject)
ClapperAppQueueProgressionItem * clapper_app_queue_progression_item_new (const gchar *icon_name, const gchar *label);
G_END_DECLS

View File

@@ -0,0 +1,109 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "clapper-app-queue-progression-model.h"
#include "clapper-app-queue-progression-item.h"
#include "clapper-app-utils.h"
#define N_PROGRESSION_MODES 5
struct _ClapperAppQueueProgressionModel
{
GObject parent;
GListStore *store;
};
static GType
clapper_app_queue_progression_model_get_item_type (GListModel *model)
{
return CLAPPER_APP_TYPE_QUEUE_PROGRESSION_ITEM;
}
static guint
clapper_app_queue_progression_model_get_n_items (GListModel *model)
{
ClapperAppQueueProgressionModel *self = CLAPPER_APP_QUEUE_PROGRESSION_MODEL_CAST (model);
return g_list_model_get_n_items (G_LIST_MODEL (self->store));
}
static gpointer
clapper_app_queue_progression_model_get_item (GListModel *model, guint index)
{
ClapperAppQueueProgressionModel *self = CLAPPER_APP_QUEUE_PROGRESSION_MODEL_CAST (model);
return g_list_model_get_item (G_LIST_MODEL (self->store), index);
}
static void
_list_model_iface_init (GListModelInterface *iface)
{
iface->get_item_type = clapper_app_queue_progression_model_get_item_type;
iface->get_n_items = clapper_app_queue_progression_model_get_n_items;
iface->get_item = clapper_app_queue_progression_model_get_item;
}
#define parent_class clapper_app_queue_progression_model_parent_class
G_DEFINE_TYPE_WITH_CODE (ClapperAppQueueProgressionModel, clapper_app_queue_progression_model, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, _list_model_iface_init));
static void
clapper_app_queue_progression_model_init (ClapperAppQueueProgressionModel *self)
{
self->store = g_list_store_new (CLAPPER_APP_TYPE_QUEUE_PROGRESSION_ITEM);
}
static void
clapper_app_queue_progression_model_constructed (GObject *object)
{
ClapperAppQueueProgressionModel *self = CLAPPER_APP_QUEUE_PROGRESSION_MODEL_CAST (object);
guint i;
for (i = 0; i < N_PROGRESSION_MODES; ++i) {
ClapperAppQueueProgressionItem *item;
const gchar *icon = NULL, *label = NULL;
clapper_app_utils_parse_progression (i, &icon, &label);
item = clapper_app_queue_progression_item_new (icon, label);
g_list_store_append (self->store, item);
g_object_unref (item);
}
G_OBJECT_CLASS (parent_class)->constructed (object);
}
static void
clapper_app_queue_progression_model_finalize (GObject *object)
{
ClapperAppQueueProgressionModel *self = CLAPPER_APP_QUEUE_PROGRESSION_MODEL_CAST (object);
g_object_unref (self->store);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_queue_progression_model_class_init (ClapperAppQueueProgressionModelClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
gobject_class->constructed = clapper_app_queue_progression_model_constructed;
gobject_class->finalize = clapper_app_queue_progression_model_finalize;
}

View File

@@ -0,0 +1,30 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_QUEUE_PROGRESSION_MODEL (clapper_app_queue_progression_model_get_type())
#define CLAPPER_APP_QUEUE_PROGRESSION_MODEL_CAST(obj) ((ClapperAppQueueProgressionModel *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppQueueProgressionModel, clapper_app_queue_progression_model, CLAPPER_APP, QUEUE_PROGRESSION_MODEL, GObject)
G_END_DECLS

View File

@@ -0,0 +1,364 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include <gst/gst.h>
#include <gtk/gtk.h>
#include "clapper-app-queue-selection.h"
#define GST_CAT_DEFAULT clapper_app_queue_selection_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppQueueSelection
{
GObject parent;
ClapperQueue *queue;
ClapperMediaItem *current_item;
guint current_position;
};
enum
{
PROP_0,
PROP_QUEUE,
PROP_LAST
};
enum
{
SIGNAL_ITEM_SELECTED,
SIGNAL_LAST
};
static GParamSpec *param_specs[PROP_LAST] = { NULL, };
static guint signals[SIGNAL_LAST] = { 0, };
static GType
clapper_app_queue_selection_get_item_type (GListModel *model)
{
return CLAPPER_TYPE_MEDIA_ITEM;
}
static guint
clapper_app_queue_selection_get_n_items (GListModel *model)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (model);
return (self->queue) ? clapper_queue_get_n_items (self->queue) : 0;
}
static gpointer
clapper_app_queue_selection_get_item (GListModel *model, guint index)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (model);
return (self->queue) ? clapper_queue_get_item (self->queue, index) : NULL;
}
static void
_list_model_iface_init (GListModelInterface *iface)
{
iface->get_item_type = clapper_app_queue_selection_get_item_type;
iface->get_n_items = clapper_app_queue_selection_get_n_items;
iface->get_item = clapper_app_queue_selection_get_item;
}
static inline void
_refresh_current_selection (ClapperAppQueueSelection *self)
{
guint position, old_position, index, n_changed;
position = clapper_queue_get_current_index (self->queue);
/* Clapper -> GTK expected value change.
* Should be the same, but better be safe. */
if (position == CLAPPER_QUEUE_INVALID_POSITION)
position = GTK_INVALID_LIST_POSITION;
/* No change */
if (position == self->current_position)
return;
old_position = self->current_position;
self->current_position = position;
if (old_position == GTK_INVALID_LIST_POSITION) {
index = position;
n_changed = 1;
} else if (position == GTK_INVALID_LIST_POSITION) {
index = old_position;
n_changed = 1;
} else if (position < old_position) {
index = position;
n_changed = old_position - position + 1;
} else {
index = old_position;
n_changed = position - old_position + 1;
}
GST_DEBUG ("Selection changed, index: %u, n_changed: %u", index, n_changed);
gtk_selection_model_selection_changed (GTK_SELECTION_MODEL (self), index, n_changed);
}
static gboolean
clapper_app_queue_selection_is_selected (GtkSelectionModel *model, guint position)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (model);
return (position == self->current_position);
}
static GtkBitset *
clapper_app_queue_selection_get_selection_in_range (GtkSelectionModel *model, guint position, guint n_items)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (model);
GtkBitset *bitset = gtk_bitset_new_empty ();
if (self->current_position != GTK_INVALID_LIST_POSITION
&& position <= self->current_position
&& position + n_items > self->current_position)
gtk_bitset_add (bitset, self->current_position);
return bitset;
}
static gboolean
clapper_app_queue_selection_select_item (GtkSelectionModel *model, guint position, gboolean exclusive)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (model);
gboolean res = TRUE;
if (G_UNLIKELY (self->queue == NULL))
return FALSE;
/* Disallow reselecting of the same item */
if (self->current_position != position)
res = clapper_queue_select_index (self->queue, position);
/* Need to always emit this signal when select item succeeds */
if (G_LIKELY (res))
g_signal_emit (self, signals[SIGNAL_ITEM_SELECTED], 0, position);
return res;
}
static gboolean
clapper_app_queue_selection_unselect_item (GtkSelectionModel *model, guint position)
{
return FALSE;
}
static void
_selection_model_iface_init (GtkSelectionModelInterface *iface)
{
iface->is_selected = clapper_app_queue_selection_is_selected;
iface->get_selection_in_range = clapper_app_queue_selection_get_selection_in_range;
iface->select_item = clapper_app_queue_selection_select_item;
iface->unselect_item = clapper_app_queue_selection_unselect_item;
}
#define parent_class clapper_app_queue_selection_parent_class
G_DEFINE_TYPE_WITH_CODE (ClapperAppQueueSelection, clapper_app_queue_selection, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_LIST_MODEL, _list_model_iface_init)
G_IMPLEMENT_INTERFACE (GTK_TYPE_SELECTION_MODEL, _selection_model_iface_init))
static void
_queue_model_items_changed_cb (GListModel *model, guint position, guint removed, guint added,
ClapperAppQueueSelection *self)
{
/* Forward event from internal model */
g_list_model_items_changed (G_LIST_MODEL (self), position, removed, added);
}
static void
_queue_current_index_changed_cb (ClapperQueue *queue,
GParamSpec *pspec G_GNUC_UNUSED, ClapperAppQueueSelection *self)
{
_refresh_current_selection (self);
}
/*
* clapper_app_queue_selection_new:
* @queue: (nullable): a #ClapperQueue
*
* Creates a new #ClapperAppQueueSelection instance.
*
* Returns: (transfer full): a new #ClapperAppQueueSelection.
*/
ClapperAppQueueSelection *
clapper_app_queue_selection_new (ClapperQueue *queue)
{
return g_object_new (CLAPPER_APP_TYPE_QUEUE_SELECTION, "queue", queue, NULL);
}
/*
* clapper_app_queue_selection_set_queue:
* @selection: a #ClapperAppQueueSelection
* @queue: a #ClapperQueue
*
* Set #ClapperQueue to be managed by this selection model.
*/
void
clapper_app_queue_selection_set_queue (ClapperAppQueueSelection *self, ClapperQueue *queue)
{
guint n_before = 0, n_after = 0;
g_return_if_fail (CLAPPER_APP_IS_QUEUE_SELECTION (self));
g_return_if_fail (CLAPPER_IS_QUEUE (queue));
if (self->queue) {
g_signal_handlers_disconnect_by_func (G_LIST_MODEL (self->queue), _queue_model_items_changed_cb, self);
g_signal_handlers_disconnect_by_func (self->queue, _queue_current_index_changed_cb, self);
n_before = clapper_queue_get_n_items (self->queue);
}
gst_object_replace ((GstObject **) &self->queue, GST_OBJECT_CAST (queue));
g_signal_connect (G_LIST_MODEL (self->queue), "items-changed",
G_CALLBACK (_queue_model_items_changed_cb), self);
g_signal_connect (self->queue, "notify::current-index",
G_CALLBACK (_queue_current_index_changed_cb), self);
g_object_notify_by_pspec (G_OBJECT (self), param_specs[PROP_QUEUE]);
n_after = clapper_queue_get_n_items (self->queue);
/* Refresh selected item after queue change */
self->current_position = GTK_INVALID_LIST_POSITION;
_queue_model_items_changed_cb (G_LIST_MODEL (self->queue), 0, n_before, n_after, self);
_refresh_current_selection (self);
}
/*
* clapper_app_queue_selection_get_queue:
* @selection: a #ClapperAppQueueSelection
*
* Get #ClapperQueue managed by this selection model.
*
* Returns: (transfer none): #ClapperQueue being managed.
*/
ClapperQueue *
clapper_app_queue_selection_get_queue (ClapperAppQueueSelection *self)
{
g_return_val_if_fail (CLAPPER_APP_IS_QUEUE_SELECTION (self), NULL);
return self->queue;
}
static void
clapper_app_queue_selection_init (ClapperAppQueueSelection *self)
{
self->current_position = GTK_INVALID_LIST_POSITION;
}
static void
clapper_app_queue_selection_finalize (GObject *object)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (object);
if (self->queue) {
g_signal_handlers_disconnect_by_func (G_LIST_MODEL (self->queue), _queue_model_items_changed_cb, self);
g_signal_handlers_disconnect_by_func (self->queue, _queue_current_index_changed_cb, self);
g_object_unref (self->queue);
}
g_clear_object (&self->current_item);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
clapper_app_queue_selection_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (object);
switch (prop_id) {
case PROP_QUEUE:
g_value_set_object (value, clapper_app_queue_selection_get_queue (self));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_queue_selection_set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
ClapperAppQueueSelection *self = CLAPPER_APP_QUEUE_SELECTION_CAST (object);
switch (prop_id) {
case PROP_QUEUE:
clapper_app_queue_selection_set_queue (self, g_value_get_object (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
clapper_app_queue_selection_class_init (ClapperAppQueueSelectionClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clapperappqueueselection", 0,
"Clapper App Queue Selection");
gobject_class->get_property = clapper_app_queue_selection_get_property;
gobject_class->set_property = clapper_app_queue_selection_set_property;
gobject_class->finalize = clapper_app_queue_selection_finalize;
/*
* ClapperAppQueueSelection:queue:
*
* The queue being managed.
*/
param_specs[PROP_QUEUE] = g_param_spec_object ("queue",
NULL, NULL, CLAPPER_TYPE_QUEUE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
/*
* ClapperAppQueueSelection::item-selected:
* @selection: a #ClapperAppQueueSelection
* @index: an index of selected item
*
* Signals when user selected item within the [iface@Gtk.SelectionModel].
*
* Note that this signal is emitted only when item gets selected from
* the GTK side (also when the same item is reselected). If item was
* changed internally by e.g. progression of [class@Clapper.Queue],
* this signal will not be emitted.
*
* #ClapperAppQueueSelection automatically takes care of having its
* selection in sync with passed [class@Clapper.Queue], so you do not
* have to listen for the changes. This signal is useful if you need
* to differentiate what caused item selection, otherwise use either
* [signal@Gtk.SelectionModel::selection-changed] signal or listen for
* changes of [property@Clapper.Queue:current-item] property.
*/
signals[SIGNAL_ITEM_SELECTED] = g_signal_new ("item-selected",
G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
0, NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_UINT);
g_object_class_install_properties (gobject_class, PROP_LAST, param_specs);
}

View File

@@ -0,0 +1,37 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_QUEUE_SELECTION (clapper_app_queue_selection_get_type())
#define CLAPPER_APP_QUEUE_SELECTION_CAST(obj) ((ClapperAppQueueSelection *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppQueueSelection, clapper_app_queue_selection, CLAPPER_APP, QUEUE_SELECTION, GObject)
ClapperAppQueueSelection * clapper_app_queue_selection_new (ClapperQueue *queue);
void clapper_app_queue_selection_set_queue (ClapperAppQueueSelection *selection, ClapperQueue *queue);
ClapperQueue * clapper_app_queue_selection_get_queue (ClapperAppQueueSelection *selection);
G_END_DECLS

View File

@@ -0,0 +1,120 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <gio/gio.h>
#include <adwaita.h>
#include <gst/gst.h>
#include "clapper-app-uri-dialog.h"
#include "clapper-app-utils.h"
static void
_entry_text_changed_cb (GtkEntry *entry,
GParamSpec *pspec G_GNUC_UNUSED, AdwMessageDialog *dialog)
{
GtkEntryBuffer *buffer = gtk_entry_get_buffer (entry);
guint text_length = gtk_entry_buffer_get_length (buffer);
gboolean enabled = FALSE;
if (text_length > 0) {
const gchar *text = gtk_entry_buffer_get_text (buffer);
enabled = (text && gst_uri_is_valid (text));
}
adw_message_dialog_set_response_enabled (dialog, "add", enabled);
}
static void
_open_uri_cb (AdwMessageDialog *dialog, GAsyncResult *result, GtkApplication *gtk_app)
{
const gchar *response = adw_message_dialog_choose_finish (dialog, result);
if (strcmp (response, "add") == 0) {
GtkWidget *extra_child = adw_message_dialog_get_extra_child (dialog);
GtkEntryBuffer *buffer = gtk_entry_get_buffer (GTK_ENTRY (extra_child));
const gchar *text = gtk_entry_buffer_get_text (buffer);
GFile **files = NULL;
gint n_files = 0;
if (clapper_app_utils_files_from_string (text, &files, &n_files)) {
g_application_open (G_APPLICATION (gtk_app), files, n_files, "add-only");
clapper_app_utils_files_free (files);
}
}
}
static void
_read_text_cb (GdkClipboard *clipboard, GAsyncResult *result, GtkWidget *extra_child)
{
GtkEntry *entry = GTK_ENTRY (extra_child);
GError *error = NULL;
gchar *text = gdk_clipboard_read_text_finish (clipboard, result, &error);
if (G_LIKELY (error == NULL)) {
if (gst_uri_is_valid (text)) {
gtk_editable_set_text (GTK_EDITABLE (entry), text);
gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
}
} else {
/* Common error when clipboard is empty or has unsupported content.
* This we can safely ignore and not notify user. */
if (error->domain != G_IO_ERROR || error->code != G_IO_ERROR_NOT_SUPPORTED) {
g_printerr ("Error: %s\n",
(error->message) ? error->message : "Could not read clipboard");
}
g_error_free (error);
}
g_free (text);
}
void
clapper_app_uri_dialog_open_uri (GtkApplication *gtk_app)
{
GtkWindow *window = gtk_application_get_active_window (gtk_app);
GtkBuilder *builder;
AdwMessageDialog *dialog;
GtkWidget *extra_child;
GdkDisplay *display;
builder = gtk_builder_new_from_resource (
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-uri-dialog.ui");
dialog = ADW_MESSAGE_DIALOG (gtk_builder_get_object (builder, "dialog"));
gtk_window_set_transient_for (GTK_WINDOW (dialog), window);
extra_child = adw_message_dialog_get_extra_child (dialog);
g_signal_connect (GTK_ENTRY (extra_child), "notify::text",
G_CALLBACK (_entry_text_changed_cb), dialog);
if ((display = gdk_display_get_default ())) {
GdkClipboard *clipboard = gdk_display_get_clipboard (display);
gdk_clipboard_read_text_async (clipboard, NULL,
(GAsyncReadyCallback) _read_text_cb, extra_child);
}
/* NOTE: Dialog will automatically unref itself after response */
adw_message_dialog_choose (dialog, NULL,
(GAsyncReadyCallback) _open_uri_cb,
gtk_app);
g_object_unref (builder);
}

View File

@@ -0,0 +1,28 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <gtk/gtk.h>
G_BEGIN_DECLS
G_GNUC_INTERNAL
void clapper_app_uri_dialog_open_uri (GtkApplication *gtk_app);
G_END_DECLS

View File

@@ -0,0 +1,326 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "clapper-app-utils.h"
#include "clapper-app-media-item-box.h"
const gchar *const *
clapper_app_utils_get_mime_types (void)
{
static const gchar *const all_mime_types[] = {
"video/*",
"audio/*",
"application/claps",
"application/x-subrip",
"text/x-ssa",
NULL
};
return all_mime_types;
}
const gchar *const *
clapper_app_utils_get_subtitles_mime_types (void)
{
static const gchar *const subs_mime_types[] = {
"application/x-subrip",
"text/x-ssa",
NULL
};
return subs_mime_types;
}
void
clapper_app_utils_parse_progression (ClapperQueueProgressionMode mode,
const gchar **icon, const gchar **label)
{
const gchar *const icon_names[] = {
"action-unavailable-symbolic",
"media-playlist-consecutive-symbolic",
"media-playlist-repeat-song-symbolic",
"media-playlist-repeat-symbolic",
"media-playlist-shuffle-symbolic",
NULL
};
const gchar *const labels[] = {
_("No progression"),
_("Consecutive"),
_("Repeat item"),
_("Carousel"),
_("Shuffle"),
NULL
};
*icon = icon_names[mode];
*label = labels[mode];
}
gboolean
clapper_app_utils_is_subtitles_file (GFile *file)
{
GFileInfo *info;
gboolean is_subs = FALSE;
if ((info = g_file_query_info (file,
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ","
G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE,
G_FILE_QUERY_INFO_NONE,
NULL, NULL))) {
is_subs = g_strv_contains (
clapper_app_utils_get_subtitles_mime_types (),
g_file_info_get_content_type (info));
g_object_unref (info);
}
return is_subs;
}
gboolean
clapper_app_utils_value_for_item_is_valid (const GValue *value)
{
if (G_VALUE_HOLDS (value, GTK_TYPE_WIDGET))
return CLAPPER_APP_IS_MEDIA_ITEM_BOX (g_value_get_object (value));
if (G_VALUE_HOLDS (value, GDK_TYPE_FILE_LIST)
|| G_VALUE_HOLDS (value, G_TYPE_FILE))
return TRUE;
if (G_VALUE_HOLDS (value, G_TYPE_STRING))
return gst_uri_is_valid (g_value_get_string (value));
return FALSE;
}
gboolean
clapper_app_utils_files_from_list_model (GListModel *files_model, GFile ***files, gint *n_files)
{
guint i, len = g_list_model_get_n_items (files_model);
if (G_UNLIKELY (len == 0 || len > G_MAXINT))
return FALSE;
*files = g_new (GFile *, len + 1);
if (n_files)
*n_files = (gint) len;
for (i = 0; i < len; ++i) {
(*files)[i] = g_list_model_get_item (files_model, i);
}
(*files)[i] = NULL;
return TRUE;
}
gboolean
clapper_app_utils_files_from_slist (GSList *file_list, GFile ***files, gint *n_files)
{
GSList *fl;
guint len, i = 0;
len = g_slist_length (file_list);
if (G_UNLIKELY (len == 0 || len > G_MAXINT))
return FALSE;
*files = g_new (GFile *, len + 1);
if (n_files)
*n_files = (gint) len;
for (fl = file_list; fl != NULL; fl = fl->next) {
(*files)[i] = (GFile *) g_object_ref (fl->data);
i++;
}
(*files)[i] = NULL;
return TRUE;
}
gboolean
clapper_app_utils_files_from_string (const gchar *string, GFile ***files, gint *n_files)
{
GSList *slist = NULL;
gchar **uris = g_strsplit (string, "\n", 0);
guint i;
gboolean success;
for (i = 0; uris[i]; ++i) {
const gchar *uri = uris[i];
if (!gst_uri_is_valid (uri))
continue;
slist = g_slist_append (slist, g_file_new_for_uri (uri));
}
g_strfreev (uris);
if (!slist)
return FALSE;
success = clapper_app_utils_files_from_slist (slist, files, n_files);
g_slist_free_full (slist, g_object_unref);
return success;
}
static inline gboolean
_files_from_file (GFile *file, GFile ***files, gint *n_files)
{
*files = g_new (GFile *, 2);
(*files)[0] = g_object_ref (file);
(*files)[1] = NULL;
if (n_files)
*n_files = 1;
return TRUE;
}
gboolean
clapper_app_utils_files_from_value (const GValue *value, GFile ***files, gint *n_files)
{
if (G_VALUE_HOLDS (value, GDK_TYPE_FILE_LIST)) {
return clapper_app_utils_files_from_slist (
(GSList *) g_value_get_boxed (value), files, n_files);
} else if (G_VALUE_HOLDS (value, G_TYPE_FILE)) {
return _files_from_file (
(GFile *) g_value_get_object (value), files, n_files);
} else if (G_VALUE_HOLDS (value, G_TYPE_STRING)) {
return clapper_app_utils_files_from_string (
g_value_get_string (value), files, n_files);
}
return FALSE;
}
void
clapper_app_utils_files_free (GFile **files)
{
gint i;
for (i = 0; files[i]; ++i)
g_object_unref (files[i]);
g_free (files);
}
static inline gboolean
_parse_feature_name (gchar *str, const gchar **feature_name)
{
if (!str)
return FALSE;
g_strstrip (str);
if (str[0] == '\0')
return FALSE;
*feature_name = str;
return TRUE;
}
static inline gboolean
_parse_feature_rank (gchar *str, GstRank *rank)
{
if (!str)
return FALSE;
g_strstrip (str);
if (str[0] == '\0')
return FALSE;
if (g_ascii_isdigit (str[0])) {
gulong l;
gchar *endptr;
l = strtoul (str, &endptr, 10);
if (endptr > str && endptr[0] == 0) {
*rank = (GstRank) l;
} else {
return FALSE;
}
} else if (g_ascii_strcasecmp (str, "NONE") == 0) {
*rank = GST_RANK_NONE;
} else if (g_ascii_strcasecmp (str, "MARGINAL") == 0) {
*rank = GST_RANK_MARGINAL;
} else if (g_ascii_strcasecmp (str, "SECONDARY") == 0) {
*rank = GST_RANK_SECONDARY;
} else if (g_ascii_strcasecmp (str, "PRIMARY") == 0) {
*rank = GST_RANK_PRIMARY;
} else if (g_ascii_strcasecmp (str, "MAX") == 0) {
*rank = (GstRank) G_MAXINT;
} else {
return FALSE;
}
return TRUE;
}
void
clapper_app_utils_iterate_plugin_feature_ranks (GSettings *settings,
ClapperAppUtilsIterRanks callback, gpointer user_data)
{
gchar **split, **walk, *stored_overrides;
const gchar *env_overrides;
gboolean from_env = FALSE;
stored_overrides = g_settings_get_string (settings, "plugin-feature-ranks");
env_overrides = g_getenv ("GST_PLUGIN_FEATURE_RANK");
/* Iterate from GSettings, then from ENV */
parse_overrides:
split = g_strsplit ((from_env) ? env_overrides : stored_overrides, ",", 0);
for (walk = split; *walk; walk++) {
gchar **values;
if (!strchr (*walk, ':'))
continue;
values = g_strsplit (*walk, ":", 2);
if (g_strv_length (values) == 2) {
GstRank rank;
const gchar *feature_name;
if (_parse_feature_name (values[0], &feature_name)
&& _parse_feature_rank (values[1], &rank))
callback (feature_name, rank, from_env, user_data);
}
g_strfreev (values);
}
g_strfreev (split);
if (!from_env && env_overrides) {
from_env = TRUE;
goto parse_overrides;
}
g_free (stored_overrides);
}

View File

@@ -0,0 +1,62 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <gio/gio.h>
#include <gst/gst.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
typedef void (* ClapperAppUtilsIterRanks) (const gchar *feature_name, GstRank rank, gboolean from_env, gpointer user_data);
G_GNUC_INTERNAL
const gchar *const * clapper_app_utils_get_mime_types (void);
G_GNUC_INTERNAL
const gchar *const * clapper_app_utils_get_subtitles_mime_types (void);
G_GNUC_INTERNAL
void clapper_app_utils_parse_progression (ClapperQueueProgressionMode mode, const gchar **icon, const gchar **label);
G_GNUC_INTERNAL
gboolean clapper_app_utils_is_subtitles_file (GFile *file);
G_GNUC_INTERNAL
gboolean clapper_app_utils_value_for_item_is_valid (const GValue *value);
G_GNUC_INTERNAL
gboolean clapper_app_utils_files_from_list_model (GListModel *files_model, GFile ***files, gint *n_files);
G_GNUC_INTERNAL
gboolean clapper_app_utils_files_from_slist (GSList *file_list, GFile ***files, gint *n_files);
G_GNUC_INTERNAL
gboolean clapper_app_utils_files_from_string (const gchar *string, GFile ***files, gint *n_files);
G_GNUC_INTERNAL
gboolean clapper_app_utils_files_from_value (const GValue *value, GFile ***files, gint *n_files);
G_GNUC_INTERNAL
void clapper_app_utils_files_free (GFile **files);
G_GNUC_INTERNAL
void clapper_app_utils_iterate_plugin_feature_ranks (GSettings *settings, ClapperAppUtilsIterRanks callback, gpointer user_data);
G_END_DECLS

View File

@@ -0,0 +1,275 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <clapper/clapper.h>
#include "clapper-app-window-state-buttons.h"
#define GST_CAT_DEFAULT clapper_app_window_state_buttons_debug
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
struct _ClapperAppWindowStateButtons
{
GtkBox parent;
GtkWidget *menu_button;
GtkWidget *minimize_button;
GtkWidget *maximize_button;
GtkWidget *close_button;
gboolean has_minimize;
gboolean has_maximize;
gboolean is_maximized;
gboolean is_fullscreen;
GtkSettings *settings;
};
#define parent_class clapper_app_window_state_buttons_parent_class
G_DEFINE_TYPE (ClapperAppWindowStateButtons, clapper_app_window_state_buttons, GTK_TYPE_BOX)
static void
minimize_button_clicked_cb (GtkButton *button, ClapperAppWindowStateButtons *self)
{
GST_INFO_OBJECT (self, "Minimize button clicked");
gtk_widget_activate_action (GTK_WIDGET (self), "window.minimize", NULL);
}
static void
maximize_button_clicked_cb (GtkButton *button, ClapperAppWindowStateButtons *self)
{
GST_INFO_OBJECT (self, "Maximize button clicked");
gtk_widget_activate_action (GTK_WIDGET (self), "window.toggle-maximized", NULL);
}
static void
close_button_clicked_cb (GtkButton *button, ClapperAppWindowStateButtons *self)
{
GST_INFO_OBJECT (self, "Close button clicked");
gtk_widget_activate_action (GTK_WIDGET (self), "window.close", NULL);
}
static void
_refresh_min_max_visibility (ClapperAppWindowStateButtons *self)
{
gtk_widget_set_visible (self->minimize_button,
(self->has_minimize && !self->is_fullscreen));
gtk_widget_set_visible (self->maximize_button,
(self->has_maximize && !self->is_fullscreen));
}
static void
clapper_app_window_state_buttons_parse_layout (ClapperAppWindowStateButtons *self)
{
gchar *org_layout = NULL;
gboolean has_minimize = FALSE;
gboolean has_maximize = FALSE;
gboolean has_close = FALSE;
GST_DEBUG_OBJECT (self, "Buttons layout update");
g_object_get (self->settings, "gtk-decoration-layout", &org_layout, NULL);
if (G_LIKELY (org_layout != NULL)) {
GtkWidget *last_widget = self->menu_button;
const gchar *layout = org_layout;
guint i;
for (i = 0; layout[i]; ++i) {
GtkWidget *widget = NULL;
const gchar *next = layout + i + 1;
if (next[0] != '\0' && next[0] != ',' && next[0] != ':')
continue;
GST_TRACE_OBJECT (self, "Remaining layout: %s", layout);
if (g_str_has_prefix (layout, "minimize")) {
widget = self->minimize_button;
has_minimize = TRUE;
} else if (g_str_has_prefix (layout, "maximize")) {
widget = self->maximize_button;
has_maximize = TRUE;
} else if (g_str_has_prefix (layout, "close")) {
widget = self->close_button;
has_close = TRUE;
}
if (widget) {
gtk_box_reorder_child_after (GTK_BOX (self), widget, last_widget);
last_widget = widget;
}
if (next[0] == '\0')
break;
layout = next + 1;
i = 0;
}
}
self->has_minimize = has_minimize;
self->has_maximize = has_maximize;
gtk_widget_set_visible (self->close_button, has_close);
GST_DEBUG_OBJECT (self, "Buttons layout parsed");
g_free (org_layout);
}
static void
_decoration_layout_changed_cb (GtkSettings *settings,
GParamSpec *pspec G_GNUC_UNUSED, ClapperAppWindowStateButtons *self)
{
clapper_app_window_state_buttons_parse_layout (self);
_refresh_min_max_visibility (self);
}
static void
_surface_state_changed_cb (GdkSurface *surface,
GParamSpec *pspec G_GNUC_UNUSED, ClapperAppWindowStateButtons *self)
{
GdkToplevelState state = gdk_toplevel_get_state (GDK_TOPLEVEL (surface));
gboolean is_maximized, is_fullscreen;
GST_LOG_OBJECT (self, "Surface state changed");
is_maximized = (state & GDK_TOPLEVEL_STATE_MAXIMIZED);
is_fullscreen = (state & GDK_TOPLEVEL_STATE_FULLSCREEN);
if (self->is_maximized != is_maximized) {
self->is_maximized = is_maximized;
gtk_button_set_icon_name (GTK_BUTTON (self->maximize_button),
(self->is_maximized) ? "window-restore-symbolic" : "window-maximize-symbolic");
}
if (self->is_fullscreen != is_fullscreen) {
self->is_fullscreen = is_fullscreen;
_refresh_min_max_visibility (self);
}
}
static void
clapper_app_window_state_buttons_init (ClapperAppWindowStateButtons *self)
{
gtk_widget_init_template (GTK_WIDGET (self));
}
static void
_clear_stored_settings (ClapperAppWindowStateButtons *self)
{
if (self->settings) {
g_signal_handlers_disconnect_by_func (self->settings,
_decoration_layout_changed_cb, self);
g_clear_object (&self->settings);
}
}
static void
clapper_app_window_state_buttons_realize (GtkWidget *widget)
{
ClapperAppWindowStateButtons *self = CLAPPER_APP_WINDOW_STATE_BUTTONS_CAST (widget);
GtkSettings *settings;
GtkRoot *root;
GdkSurface *surface;
GST_TRACE_OBJECT (self, "Realize");
GTK_WIDGET_CLASS (parent_class)->realize (widget);
settings = gtk_settings_get_for_display (gtk_widget_get_display (widget));
if (self->settings != settings) {
_clear_stored_settings (self);
self->settings = g_object_ref (settings);
g_signal_connect (self->settings, "notify::gtk-decoration-layout",
G_CALLBACK (_decoration_layout_changed_cb), self);
_decoration_layout_changed_cb (self->settings, NULL, self);
}
root = gtk_widget_get_root (widget);
surface = gtk_native_get_surface (GTK_NATIVE (root));
g_signal_connect (surface, "notify::state",
G_CALLBACK (_surface_state_changed_cb), self);
_surface_state_changed_cb (surface, NULL, self);
}
static void
clapper_app_window_state_buttons_unrealize (GtkWidget *widget)
{
ClapperAppWindowStateButtons *self = CLAPPER_APP_WINDOW_STATE_BUTTONS_CAST (widget);
GtkRoot *root;
GdkSurface *surface;
GST_TRACE_OBJECT (self, "Unrealize");
_clear_stored_settings (self);
root = gtk_widget_get_root (widget);
surface = gtk_native_get_surface (GTK_NATIVE (root));
g_signal_handlers_disconnect_by_func (surface,
_surface_state_changed_cb, self);
GTK_WIDGET_CLASS (parent_class)->unrealize (widget);
}
static void
clapper_app_window_state_buttons_dispose (GObject *object)
{
ClapperAppWindowStateButtons *self = CLAPPER_APP_WINDOW_STATE_BUTTONS_CAST (object);
_clear_stored_settings (self);
gtk_widget_dispose_template (GTK_WIDGET (object), CLAPPER_APP_TYPE_WINDOW_STATE_BUTTONS);
G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
clapper_app_window_state_buttons_class_init (ClapperAppWindowStateButtonsClass *klass)
{
GObjectClass *gobject_class = (GObjectClass *) klass;
GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;
GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "clappergtkwindowstatebuttons", 0,
"Clapper GTK Window State Buttons");
gobject_class->dispose = clapper_app_window_state_buttons_dispose;
widget_class->realize = clapper_app_window_state_buttons_realize;
widget_class->unrealize = clapper_app_window_state_buttons_unrealize;
gtk_widget_class_set_template_from_resource (widget_class,
CLAPPER_APP_RESOURCE_PREFIX "/ui/clapper-app-window-state-buttons.ui");
gtk_widget_class_bind_template_child (widget_class, ClapperAppWindowStateButtons, menu_button);
gtk_widget_class_bind_template_child (widget_class, ClapperAppWindowStateButtons, minimize_button);
gtk_widget_class_bind_template_child (widget_class, ClapperAppWindowStateButtons, maximize_button);
gtk_widget_class_bind_template_child (widget_class, ClapperAppWindowStateButtons, close_button);
gtk_widget_class_bind_template_callback (widget_class, minimize_button_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, maximize_button_clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, close_button_clicked_cb);
gtk_widget_class_set_css_name (widget_class, "clapper-app-window-state-buttons");
}

View File

@@ -0,0 +1,31 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_WINDOW_STATE_BUTTONS (clapper_app_window_state_buttons_get_type())
#define CLAPPER_APP_WINDOW_STATE_BUTTONS_CAST(obj) ((ClapperAppWindowStateButtons *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppWindowStateButtons, clapper_app_window_state_buttons, CLAPPER_APP, WINDOW_STATE_BUTTONS, GtkBox)
G_END_DECLS

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#pragma once
#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <clapper/clapper.h>
G_BEGIN_DECLS
#define CLAPPER_APP_TYPE_WINDOW (clapper_app_window_get_type())
#define CLAPPER_APP_WINDOW_CAST(obj) ((ClapperAppWindow *)(obj))
G_DECLARE_FINAL_TYPE (ClapperAppWindow, clapper_app_window, CLAPPER_APP, WINDOW, GtkApplicationWindow)
G_GNUC_INTERNAL
GtkWidget * clapper_app_window_new (GtkApplication *application);
G_GNUC_INTERNAL
GtkWidget * clapper_app_window_get_video (ClapperAppWindow *window);
G_GNUC_INTERNAL
ClapperPlayer * clapper_app_window_get_player (ClapperAppWindow *window);
G_GNUC_INTERNAL
void clapper_app_window_ensure_no_initial_state (ClapperAppWindow *window);
G_END_DECLS

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/github/rafostar/Clapper/clapper-app">
<file preprocess="xml-stripblanks">data/metainfo/com.github.rafostar.Clapper.metainfo.xml</file>
<file preprocess="xml-stripblanks">ui/clapper-app-initial-state.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-uri-dialog.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-headerbar.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-help-overlay.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-info-window.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-queue-list.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-queue-list-item.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-queue-progression-item.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-video-stream-list-item.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-audio-stream-list-item.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-subtitle-stream-list-item.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-preferences-window.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-window.ui</file>
<file preprocess="xml-stripblanks">ui/clapper-app-window-state-buttons.ui</file>
<file compressed="true">css/styles.css</file>
</gresource>
</gresources>

View File

@@ -0,0 +1,109 @@
window.app {
min-width: 352px;
min-height: 198px;
}
window .initialstate {
padding-left: 6px;
padding-right: 6px;
padding-top: 8px;
background-color: @dark_4;
}
window.info .maincontent {
margin: 16px;
margin-top: 0px;
}
window.info .subcontent {
margin: 16px;
margin-top: 0px;
margin-bottom: 8px;
}
window.info .subcontent streamlist preferencesgroup {
margin-bottom: 8px;
}
window.preferences .subcontent {
margin: 16px;
}
window.preferences .pluginssubpage .subcontent popover {
min-width: 264px;
}
window.preferences .pluginssubpage .subcontent button.pill {
margin-top: 8px;
margin-bottom: 8px;
}
clapper-gtk-seek-bar scale trough highlight {
color: @accent_fg_color;
background-color: @accent_bg_color;
}
clapper-gtk-video .overamp trough highlight {
color: @error_fg_color;
background-color: @error_bg_color;
}
clapper-app-headerbar .mainbox {
margin: 6px;
padding: 2px;
}
clapper-app-headerbar .titlelabel label {
margin-left: 8px;
margin-right: 8px;
}
clapper-app-headerbar clapper-app-window-state-buttons {
margin-top: 8px;
}
clapper-app-headerbar clapper-app-window-state-buttons:dir(ltr) {
padding-right: 6px;
}
clapper-app-headerbar clapper-app-window-state-buttons:dir(rtl) {
padding-left: 6px;
}
clapper-app-queue-list .topseparator {
margin-top: 2px;
margin-bottom: 4px;
}
clapper-app-queue-list .buttonsbox {
padding-left: 6px;
padding-right: 6px;
}
clapper-app-queue-list .buttonsbox dropdown .toggle row {
background-color: transparent;
}
clapper-app-queue-list .buttonsbox .additemsbutton box {
padding-left: 6px;
padding-right: 6px;
}
clapper-app-queue-list .buttonsbox .additemsbutton box image {
margin-left: 3px;
margin-right: 3px;
}
clapper-app-queue-list .buttonsbox .progressiondropdown popover label {
min-width: 100px;
}
clapper-app-queue-list .removeitembox {
margin-left: 6px;
margin-right: 6px;
border-radius: 9999px;
background-color: alpha(@destructive_bg_color, 0.9);
}
clapper-app-queue-list .queue {
padding: 3px;
}
clapper-app-queue-list .queue listview {
padding: 2px;
padding-bottom: 0px;
border-radius: 0px 0px 19px 19px;
}
clapper-app-queue-list .queue listview row {
padding-left: 10px;
padding-right: 10px;
min-height: 30px;
border-radius: 9999px;
}
/* Disable background light on hover when doing D&D */
clapper-app-queue-list .queue listview.dnd row.activatable:not(:selected):hover {
background: none;
}

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
Name=Clapper
GenericName=Multimedia Player
Comment=Play videos and music
Categories=GTK;GNOME;AudioVideo;Player;Video;TV;
MimeType=application/claps;application/mpeg4-iod;application/mpeg4-muxcodetable;application/mxf;application/ogg;application/ram;application/sdp;application/streamingmedia;application/vnd.apple.mpegurl;application/vnd.ms-asf;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-ogg;application/x-streamingmedia;audio/3gpp;audio/3gpp2;audio/aac;audio/ac3;audio/amr;audio/amr-wb;audio/basic;audio/dv;audio/eac3;audio/flac;audio/m4a;audio/midi;audio/mp1;audio/mp2;audio/mp3;audio/mp4;audio/mpeg;audio/mpegurl;audio/mpg;audio/ogg;audio/opus;audio/scpls;audio/vnd.dolby.heaac.1;audio/vnd.dolby.heaac.2;audio/vnd.dolby.mlp;audio/vnd.dts;audio/vnd.dts.hd;audio/vnd.rn-realaudio;audio/wav;audio/webm;audio/x-aac;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp1;audio/x-mp2;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-mpg;audio/x-ms-asf;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-wav;audio/x-real-audio;audio/x-realaudio;audio/x-s3m;audio/x-scpls;audio/x-shorten;audio/x-speex;audio/x-tta;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;audio/x-xm;video/3gp;video/3gpp;video/3gpp2;video/divx;video/dv;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/mpeg-system;video/msvideo;video/ogg;video/quicktime;video/vnd.mpegurl;video/vnd.rn-realvideo;video/webm;video/x-avi;video/x-flc;video/x-fli;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg-system;video/x-mpeg2;video/x-ms-asf;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-msvideo;video/x-nsv;video/x-ogm+ogg;video/x-theora;video/x-theora+ogg;x-content/audio-cdda;x-content/audio-player;x-content/video-dvd;x-scheme-handler/mms;x-scheme-handler/mmsh;x-scheme-handler/rtmp;x-scheme-handler/rtp;x-scheme-handler/rtsp;
Exec=clapper %U
Icon=com.github.rafostar.Clapper
DBusActivatable=true
StartupNotify=true
Terminal=false
Type=Application
# Translators: Search terms to find this application. Do NOT translate the semicolons!
Keywords=Video;Movie;Film;Clip;Series;Player;Playlist;DVD;TV;Disc;Album;Music;GNOME;Clapper;
# Translators: Do NOT translate or transliterate this text (these are enum types)!
X-Purism-FormFactor=Workstation;Mobile;

View File

@@ -0,0 +1 @@
subdir('services')

View File

@@ -0,0 +1,3 @@
[D-BUS Service]
Name=@app_id@
Exec=@bindir@/@bin@ --gapplication-service

View File

@@ -0,0 +1,12 @@
dbus_conf = configuration_data()
dbus_conf.set('app_id', app_id)
dbus_conf.set('bindir', join_paths(prefix, bindir))
dbus_conf.set('bin', meson.project_name())
configure_file(
input: 'com.github.rafostar.Clapper.service.in',
output: 'com.github.rafostar.Clapper.service',
configuration: dbus_conf,
install: true,
install_dir: join_paths(prefix, datadir, 'dbus-1', 'services'),
)

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="com.github.rafostar.Clapper">
<schema id="com.github.rafostar.Clapper" path="/com/github/rafostar/Clapper/">
<!-- General -->
<key name="seek-method" type="i">
<default>1</default>
<summary>Method used for seeking</summary>
</key>
<key name="seek-unit" type="i">
<default>0</default>
<summary>Unit ID to use with seeking value</summary>
</key>
<key name="seek-value" type="i">
<default>10</default>
<summary>Time amount to seek with single press of arrow keys</summary>
</key>
<key name="server-enabled" type="b">
<default>false</default>
<summary>Enable Server feature for remote playback control</summary>
</key>
<!-- Playback -->
<key name="audio-offset" type="d">
<default>0</default>
<summary>Offset time for audio stream relative to video</summary>
</key>
<key name="subtitle-offset" type="d">
<default>0</default>
<summary>Offset time for subtitle stream relative to video</summary>
</key>
<key name="subtitle-font-desc" type="s">
<default>"Sans 12"</default>
<summary>Default subtitle stream font description</summary>
</key>
<!-- Tweaks -->
<key name="plugin-feature-ranks" type="s">
<default>''</default>
<summary>Overrides for GStreamer plugin ranking</summary>
</key>
<!-- Other -->
<key name="volume" type="d">
<default>1.0</default>
<summary>Stores last volume value to apply on startup</summary>
</key>
<key name="mute" type="b">
<default>false</default>
<summary>Stores last mute state to apply on startup</summary>
</key>
<key name="speed" type="d">
<default>1.0</default>
<summary>Stores last speed value to apply on startup</summary>
</key>
<key name="progression-mode" type="i">
<default>1</default>
<summary>Stores last queue progression mode used to apply on startup</summary>
</key>
<key name="subtitles-enabled" type="b">
<default>true</default>
<summary>Stores whether subtitles are enabled value to apply on startup</summary>
</key>
<key name="maximized" type="b">
<default>false</default>
<summary>Stores whether window was last time maximized to restore on startup</summary>
</key>
<key name="fullscreened" type="b">
<default>false</default>
<summary>Stores whether window was last time in fullscreen to restore on startup</summary>
</key>
</schema>
</schemalist>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 256 256" width="256" height="256">
<defs>
<path id="b1nGq5BrLC" d="M27.2 243.52C27.2 236.16 27.2 199.83 27.2 134.22C47.64 134.22 211.12 134.22 231.56 134.22C231.56 199.83 231.56 236.16 231.56 243.52C231.56 250.4 225.96 256 218.92 256C183.07 256 57.77 256 39.84 256C32.8 256 27.2 250.4 27.2 243.52Z"></path>
<path id="a3jkaoNn4k" d="M24.32 103.65C24.32 106.22 24.32 127.02 24.32 129.58C24.32 132.78 26.72 135.18 29.92 135.18C50.41 135.18 215.08 135.18 235.72 135.18C238.76 135.18 241.32 132.78 241.32 129.58C241.32 127.02 241.32 106.22 241.32 103.65C241.32 100.45 238.76 98.05 235.72 98.05C194.59 98.05 50.41 98.05 29.92 98.05C26.72 98.05 24.32 100.45 24.32 103.65Z"></path>
<path id="atpVQ8mnd" d="M174.59 135.18L211.87 98.05L171.07 98.05L133.78 135.18L174.59 135.18Z"></path>
<path id="bMtYoNHu0" d="M76.81 135.18L114.1 98.05L73.13 98.05L35.84 135.18L76.81 135.18Z"></path>
<path id="b5oP0Glp4" d="M19.04 69.41C19.84 71.97 25.92 91.97 26.72 94.37C27.68 97.41 30.72 99.01 33.76 98.05C54.09 91.81 216.68 42.04 237 35.8C240.04 35 241.64 31.8 240.84 28.92C240.04 26.36 233.96 6.36 233.16 3.96C232.2 0.92 229.16 -0.68 226.12 0.28C185.47 12.6 43.21 56.29 22.88 62.53C19.84 63.33 18.24 66.53 19.04 69.41Z"></path>
<path id="lwBgev6DR" d="M176.51 54.37L129.94 29.4L169.15 17.56L215.72 42.52L176.51 54.37Z"></path>
<path id="cUsjEMRUu" d="M81.61 83.49L35.04 58.69L74.25 46.69L120.82 71.49L81.61 83.49Z"></path>
<path id="c1bcHZGXe" d="M14.72 66.69C14.72 72.93 14.72 123.02 14.72 129.26C14.72 132.62 17.44 135.18 20.64 135.18C26.56 135.18 74.09 135.18 80.01 135.18C84.33 135.18 87.21 130.86 85.61 127.02C82.89 120.78 61.45 70.53 58.73 64.29C57.77 62.05 55.69 60.77 53.29 60.77C46.73 60.77 24 60.77 20.64 60.77C17.44 60.77 14.72 63.33 14.72 66.69Z"></path>
<path id="f2PtH0V1vC" d="M32.64 60.61C31.52 60.61 21.92 60.61 20.64 60.61C17.44 60.61 14.72 63.33 14.72 66.53C14.72 72.77 14.72 123.02 14.72 129.26C14.72 132.46 17.44 135.18 20.64 135.18C21.92 135.18 31.52 135.18 32.64 135.18C29.44 135.18 26.72 132.46 26.72 129.26C26.72 116.62 26.72 72.77 26.72 66.53C26.72 63.33 29.44 60.61 32.64 60.61Z"></path>
<path id="a1SvrrkqVm" d="M231.56 135.18C231.56 143.82 231.56 148.46 231.56 149.42C231.56 149.42 231.56 149.42 231.56 149.42C108.98 149.42 40.8 149.42 27.2 149.42C27.2 149.42 27.2 149.42 27.2 149.42C27.2 140.94 27.2 136.14 27.2 135.18C27.2 135.18 27.2 135.18 27.2 135.18C149.78 135.18 217.96 135.18 231.56 135.18C231.56 135.18 231.56 135.18 231.56 135.18Z"></path>
<path id="agXcvKqh8" d="M104.22 162.46L104.22 234.46L163.22 198.54L104.22 162.46Z"></path>
</defs>
<g>
<g><use xlink:href="#b1nGq5BrLC" fill="#4747d1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#a3jkaoNn4k" fill="#4747d1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#atpVQ8mnd" fill="#f1f1f1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#bMtYoNHu0" fill="#f1f1f1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#b5oP0Glp4" fill="#4747d1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#lwBgev6DR" fill="#f1f1f1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#cUsjEMRUu" fill="#f1f1f1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#c1bcHZGXe" fill="#a9a9a9" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#f2PtH0V1vC" opacity="0.2" fill="#000000" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#a1SvrrkqVm" opacity="0.2" fill="#000000" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
<g><use xlink:href="#agXcvKqh8" fill="#f1f1f1" transform="matrix(1, 0, 0, 0.97, 0, 0)"></use></g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="16"
height="16"
viewBox="0 0 4.2333333 4.2333334"
version="1.1"
id="svg5"
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
sodipodi:docname="com.github.rafostar.Clapper-symbolic.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-midpoints="true"
inkscape:snap-global="false"
units="px"
inkscape:zoom="32"
inkscape:cx="6.078125"
inkscape:cy="8.09375"
inkscape:window-width="1680"
inkscape:window-height="981"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2">
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect1853"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,1.8520833,0,1 @ F,0,0,1,0,1.8520833,0,1 @ F,0,0,1,0,1.8520833,0,1 @ F,0,0,1,0,1.8520833,0,1"
unit="px"
method="auto"
mode="F"
radius="7"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" />
<inkscape:path-effect
effect="fillet_chamfer"
id="path-effect1732"
is_visible="true"
lpeversion="1"
satellites_param="F,0,0,1,0,1.8520833,0,1 @ F,0,0,1,0,1.8520833,0,1 @ F,0,0,1,0,1.8520833,0,1 @ F,0,0,1,0,1.8520833,0,1"
unit="px"
method="auto"
mode="F"
radius="7"
chamfer_steps="1"
flexible="false"
use_knot_distance="true"
apply_no_radius="true"
apply_with_radius="true"
only_selected="false"
hide_knots="false" />
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2022"
transform="matrix(0.06169519,0,0,0.06168906,-4.7800087,-3.2713603)">
<path
id="rect973"
style="fill:#000000;stroke-width:1.30776;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke markers fill"
d="m 88.193064,81.795006 c -0.699254,0 -1.342327,0.227875 -1.864484,0.609782 h 51.32503 c -0.52216,-0.381907 -1.16471,-0.609782 -1.86397,-0.609782 z m -3.157945,10.475846 v 26.225278 c 0,1.74939 1.40856,3.15743 3.157945,3.15743 h 47.596576 c 1.74939,0 3.15795,-1.40804 3.15795,-3.15743 V 92.270852 Z m 20.323311,4.964038 15.40009,9.27283 -15.5205,9.56634 z" />
<path
style="fill:#000000;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 83.974394,69.464471 7.344033,-0.06509 a 2.7923103,2.7923103 33.047712 0 1 2.587466,1.683384 l 7.009937,16.201526 a 1.2163248,1.2163248 123.30899 0 1 -1.116623,1.699322 l -15.720141,-0.004 a 1.862525,1.862525 44.853691 0 1 -1.862019,-1.852534 l -0.08473,-15.79409 a 1.8585738,1.8585738 134.59241 0 1 1.842075,-1.868472 z"
id="path1422"
inkscape:path-effect="#path-effect1732"
inkscape:original-d="m 82.122383,69.480886 11.048055,-0.09792 8.480852,19.601124 -19.424307,-0.005 z" />
<rect
style="fill:#000000;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke markers fill"
id="rect1544"
width="59.366463"
height="9.8661175"
x="82"
y="79.292183"
ry="1.2306831" />
<path
id="rect1847"
style="fill:#000000;stroke-width:4.91339;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke markers fill"
d="m 522.12695,200.42773 c -0.45798,3.8e-4 -0.92335,0.0696 -1.38476,0.21289 l -172.88672,53.70313 5.28515,-0.0469 a 10.55362,10.55362 0 0 1 9.7793,6.36328 l 10.69922,24.72656 158.18359,-49.13477 c 2.46089,-0.7644 3.82691,-3.36137 3.0625,-5.82226 l -8.30078,-26.72657 c -0.62108,-1.99947 -2.4529,-3.277 -4.4375,-3.27539 z m -203.69531,63.05469 -3.08398,0.95899 c -2.46089,0.7644 -3.82691,3.35942 -3.0625,5.82031 l 6.29101,20.2539 z"
transform="scale(0.26458333)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,52 @@
if not ['linux'].contains(host_machine.system())
subdir_done()
endif
appstream_util = find_program('appstream-util', required: false)
if appstream_util.found()
test('Validate appstream file',
appstream_util,
args: [
'validate-relax',
'--nonet',
join_paths(meson.current_source_dir(), 'metainfo', 'com.github.rafostar.Clapper.metainfo.xml'),
]
)
endif
glib_compile_schemas = find_program('glib-compile-schemas', required: false)
if glib_compile_schemas.found()
test('Validate gsettings schemas',
glib_compile_schemas,
args: [
'--strict',
'--dry-run',
join_paths(meson.current_source_dir(), 'glib-2.0', 'schemas'),
]
)
endif
install_subdir('icons',
install_dir: join_paths(prefix, datadir)
)
install_subdir('mime',
install_dir: join_paths(prefix, datadir)
)
install_subdir('applications',
install_dir: join_paths(prefix, datadir)
)
install_subdir('metainfo',
install_dir: join_paths(prefix, datadir)
)
install_subdir('glib-2.0',
install_dir: join_paths(prefix, datadir)
)
subdir('dbus-1')
gnome.post_install(
glib_compile_schemas: true,
gtk_update_icon_cache: true,
update_desktop_database: true,
update_mime_database: true,
)

View File

@@ -0,0 +1,240 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.github.rafostar.Clapper</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>Clapper</name>
<summary>Simple and modern GNOME media player</summary>
<translation type="gettext">com.github.rafostar.Clapper</translation>
<launchable type="desktop-id">com.github.rafostar.Clapper.desktop</launchable>
<description>
<p>
Clapper is a GNOME media player built using GJS with GTK4 toolkit.
The media player is using GStreamer as a media backend and renders
everything via OpenGL. Player works natively on both Xorg and Wayland.
It also supports hardware acceleration through VA-API on AMD/Intel GPUs,
NVDEC on Nvidia and V4L2 on mobile devices.
</p>
<p>
The media player has an adaptive GUI. When viewing videos in "Windowed Mode",
Clapper will use mostly unmodified GTK widgets to match your OS look nicely.
When player enters "Fullscreen Mode" all GUI elements will become darker, bigger
and semi-transparent for your viewing comfort. It also has a "Floating Mode" which
displays only video on top of all other windows for a PiP-like viewing experience.
Mobile friendly transitions are also supported.
</p>
</description>
<developer_name>Rafał Dzięgiel</developer_name>
<url type="homepage">https://rafostar.github.io/clapper</url>
<url type="bugtracker">https://github.com/Rafostar/clapper/issues</url>
<url type="donation">https://liberapay.com/Clapper</url>
<url type="help">https://github.com/Rafostar/clapper/wiki</url>
<categories>
<category>AudioVideo</category>
<category>Video</category>
</categories>
<screenshots>
<screenshot type="default">
<image type="source">https://raw.githubusercontent.com/wiki/Rafostar/clapper/media/screenshot-windowed.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/wiki/Rafostar/clapper/media/screenshot-fullscreen.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/wiki/Rafostar/clapper/media/screenshot-floating.png</image>
</screenshot>
<screenshot>
<image type="source">https://raw.githubusercontent.com/wiki/Rafostar/clapper/media/screenshot-mobile.png</image>
</screenshot>
</screenshots>
<releases>
<release version="0.5.2" date="2022-06-24">
<description>
<p>Fixes:</p>
<ul>
<li>Fix time labels display on RTL languages</li>
<li>Improved GL/GLES context automatic selection</li>
</ul>
<p>New translations:</p>
<ul>
<li>Hebrew</li>
</ul>
</description>
</release>
<release version="0.5.1" date="2022-05-29">
<description>
<p>
A quick hotfix release. Fixes problems with new video sink on displays with non-100% scaling applied.
See 0.5.0 version release notes for full recent changelog.
</p>
</description>
</release>
<release version="0.5.0" date="2022-05-28">
<description>
<p>Changes:</p>
<ul>
<li>Includes and uses new, improved GStreamer video sink</li>
<li>All networking ported to libsoup3</li>
<li>A lot of cleanup, including removal of unfinished web application and old YT code</li>
<li>App now supports D-Bus launching (DBusActivatable)</li>
<li>Other small fixes</li>
</ul>
<p>New translations:</p>
<ul>
<li>Arabic</li>
<li>Basque</li>
<li>French</li>
<li>Japanese</li>
<li>Swedish</li>
<li>Turkish</li>
</ul>
</description>
</release>
<release version="0.4.1" date="2021-12-20">
<description>
<p>Fixes:</p>
<ul>
<li>Compatibility with more recent libadwaita versions</li>
<li>Toggle mute with M button alone</li>
<li>Allow handling YouTube with external GStreamer plugins</li>
<li>Fix catching errors when reading clipboard</li>
<li>Fix missing translator-credits</li>
<li>Fix missing gio-unix-2.0 dep</li>
<li>Fix playback pausing when entering fullscreen with touchscreen</li>
<li>Fix GST_PLUGIN_FEATURE_RANK env usage</li>
<li>Fix video/audio decoder change detection</li>
<li>Merge global video tags instead replacing them</li>
<li>Few other misc bug fixes</li>
</ul>
<p>New translations:</p>
<ul>
<li>Chinese Simplified</li>
<li>Czech</li>
<li>Hungarian</li>
<li>Portuguese</li>
<li>Portuguese, Brazilian</li>
<li>Russian</li>
<li>Spanish</li>
</ul>
</description>
</release>
<release version="0.4.0" date="2021-09-12">
<description>
<p>Changes:</p>
<ul>
<li>Now uses libadwaita</li>
<li>New and adaptive preferences window</li>
<li>Improved open URI dialog</li>
<li>Few small tweaks to fullscreen UI design</li>
<li>Show current video and audio decoders in popovers (easy way to check if HW accel is used)</li>
<li>Enabled NVDEC hardware acceleration by default (requires Nvidia proprietary drivers)</li>
<li>Added option to use PipeWire for audio output (experimental)</li>
<li>Added option to use playbin3 element (experimental)</li>
<li>New PiP icon from icon development kit</li>
<li>Improved performance on devices running OpenGL ES</li>
<li>Translations support</li>
<li>Various bug fixes</li>
</ul>
<p>New keyboard shortcuts:</p>
<ul>
<li>Leave fullscreen with Escape key</li>
<li>Toggle mute with Ctrl+M</li>
</ul>
<p>More touchscreen gestures:</p>
<ul>
<li>Toggle playback with a long press</li>
<li>Switch playlist items via double tap on screen side</li>
</ul>
<p>New translations:</p>
<ul>
<li>Catalan</li>
<li>Dutch</li>
<li>German</li>
<li>Italian</li>
<li>Polish</li>
</ul>
</description>
</release>
<release version="0.3.0" date="2021-06-18">
<description>
<p>Changes:</p>
<ul>
<li>Added MPRIS support</li>
<li>Added repeat modes: single video, whole playlist and shuffle</li>
<li>Support opening folders with media files</li>
<li>Append playlist items by holding Ctrl while doing Drag and Drop</li>
<li>Improved handling of keyboard shortcuts</li>
<li>Added more keyboard shortcuts</li>
<li>Added window that shows available keyboard shortcuts</li>
<li>Show black screen by default after playback (make showing last frame optional instead)</li>
<li>Added ability to export playlist to file</li>
<li>Improve handling of changing displays with different resolutions</li>
<li>Added support for EGL under x11 with GTK 4.3.1 or later</li>
<li>Added missing symbolic app icon</li>
<li>Some misc bug fixes and code cleanups</li>
</ul>
</description>
</release>
<release version="0.2.1" date="2021-04-19">
<description>
<p>Player:</p>
<ul>
<li>Fix missing top left menu buttons on some system configurations</li>
<li>Fix potential video sink deadlock</li>
<li>Do not show mobile controls transition on launch</li>
<li>Show tooltip with full playlist item text on hover</li>
</ul>
<p>YouTube:</p>
<ul>
<li>Auto select best matching resolution for used monitor</li>
<li>Added some YouTube related preferences</li>
<li>Added support for live HLS videos</li>
<li>Added support for non-adaptive live HLS streaming</li>
</ul>
</description>
</release>
<release version="0.2.0" date="2021-04-13">
<description>
<p>New features:</p>
<ul>
<li>YouTube support - drag and drop videos from youtube or use open URI dialog to play them</li>
<li>Added convenient ways of opening external subtitles</li>
</ul>
<p>Changes:</p>
<ul>
<li>Few GUI layout improvements</li>
<li>Simplified video sink code</li>
<li>Fixed missing Ctrl+O common keybinding</li>
<li>Fixed error when playback finishes during controls reveal animation</li>
<li>Fixed startup window size on Xorg</li>
<li>Fixed top time not showing up on fullscreen startup</li>
<li>Fixed missing file extensions in online URIs</li>
<li>Fixed some error messages not being displayed</li>
</ul>
</description>
</release>
<release version="0.1.0" date="2021-02-26">
<description>
<p>First stable release</p>
</description>
</release>
<release version="0.0.0" date="2020-10-31">
<description>
<p>GitHub version</p>
</description>
</release>
</releases>
<content_rating type="oars-1.1" />
<recommends>
<control>keyboard</control>
<control>pointing</control>
<control>touch</control>
</recommends>
<requires>
<display_length compare="ge">small</display_length>
</requires>
<custom>
<value key="Purism::form_factor">workstation</value>
<value key="Purism::form_factor">mobile</value>
</custom>
</component>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/claps">
<comment>Clapper Playlist</comment>
<glob pattern="*.claps"/>
<icon name="com.github.rafostar.Clapper"/>
</mime-type>
</mime-info>

View File

@@ -0,0 +1,54 @@
/* Clapper Application
* Copyright (C) 2024 Rafał Dzięgiel <rafostar.github@gmail.com>
*
* This program 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.
*
* This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "config.h"
#include <locale.h>
#include <glib.h>
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include <adwaita.h>
#include <clapper/clapper.h>
#include "clapper-app-application.h"
gint
main (gint argc, gchar **argv)
{
GApplication *application;
gint status;
g_setenv ("GSK_RENDERER", "gl", FALSE);
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
clapper_init (&argc, &argv);
gtk_init ();
adw_init ();
g_set_application_name ("Clapper");
application = clapper_app_application_new ();
status = g_application_run (application, argc, argv);
g_object_unref (application);
return status;
}

View File

@@ -0,0 +1,91 @@
clapperapp_option = get_option('clapper-app')
app_id = 'com.github.rafostar.Clapper'
app_resource_prefix = '/com/github/rafostar/Clapper/clapper-app'
build_clapperapp = false
if clapperapp_option.disabled()
subdir_done()
endif
clapperapp_deps = [
clapper_dep,
clappergtk_dep,
gst_dep,
gtk4_dep,
libadwaita_dep,
glib_dep,
gobject_dep,
]
foreach dep : clapperapp_deps
if not dep.found()
if clapperapp_option.enabled()
error('clapper-app option was enabled, but required dependencies were not found')
endif
subdir_done()
endif
endforeach
subdir('data')
subdir('po')
clapperapp_resources = gnome.compile_resources(
'clapper-app-resources',
'clapper-app.gresources.xml',
c_name: 'clapper_app',
)
# Include the generated headers
clapperapp_conf_inc = [
include_directories('.'),
include_directories('..'),
]
config_h = configuration_data()
config_h.set_quoted('GETTEXT_PACKAGE', meson.project_name() + '-gtk')
config_h.set_quoted('LOCALEDIR', join_paths (prefix, localedir))
config_h.set_quoted('CLAPPER_APP_NAME', 'Clapper')
config_h.set_quoted('CLAPPER_APP_ID', app_id)
config_h.set_quoted('CLAPPER_APP_RESOURCE_PREFIX', app_resource_prefix)
configure_file(
output: 'config.h',
configuration: config_h,
)
clapperapp_sources = [
'clapper-app-about-window.c',
'clapper-app-application.c',
'clapper-app-file-dialog.c',
'clapper-app-headerbar.c',
'clapper-app-info-window.c',
'clapper-app-list-item-utils.c',
'clapper-app-media-item-box.c',
'clapper-app-preferences-window.c',
'clapper-app-property-row.c',
'clapper-app-queue-list.c',
'clapper-app-queue-progression-item.c',
'clapper-app-queue-progression-model.c',
'clapper-app-queue-selection.c',
'clapper-app-uri-dialog.c',
'clapper-app-utils.c',
'clapper-app-window.c',
'clapper-app-window-state-buttons.c',
'main.c',
clapperapp_resources,
]
clapperapp_c_args = [
'-DG_LOG_DOMAIN="ClapperApp"',
'-DGST_USE_UNSTABLE_API',
]
executable(
meson.project_name(),
clapperapp_sources,
dependencies: clapperapp_deps,
include_directories: clapperapp_conf_inc,
c_args: clapperapp_c_args,
install: true,
install_dir: bindir,
)
build_clapperapp = true

View File

@@ -0,0 +1 @@
ar ast ca cs de es eu fa fi fr he hr hu it ja lt nl pl pt pt_BR ru sk sv tr zh_CN

View File

@@ -0,0 +1,17 @@
src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui
src/bin/clapper-app/ui/clapper-app-help-overlay.ui
src/bin/clapper-app/ui/clapper-app-info-window.ui
src/bin/clapper-app/ui/clapper-app-initial-state.ui
src/bin/clapper-app/ui/clapper-app-preferences-window.ui
src/bin/clapper-app/ui/clapper-app-queue-list.ui
src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui
src/bin/clapper-app/ui/clapper-app-uri-dialog.ui
src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui
src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui
src/bin/clapper-app/clapper-app-about-window.c
src/bin/clapper-app/clapper-app-info-window.c
src/bin/clapper-app/clapper-app-list-item-utils.c
src/bin/clapper-app/clapper-app-preferences-window.c
src/bin/clapper-app/clapper-app-utils.c
src/bin/clapper-app/clapper-app-window.c

View File

@@ -0,0 +1,467 @@
# Arabic translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,467 @@
# Asturian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ast\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Catalan translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Czech translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# German translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Spanish translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,467 @@
# Basque translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: eu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,467 @@
# Persian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Finnish translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# French translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Hebrew translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,469 @@
# Croatian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Hungarian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Italian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Japanese translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,469 @@
# Lithuanian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1 @@
i18n.gettext(meson.project_name() + '-app', preset: 'glib')

View File

@@ -0,0 +1,468 @@
# Dutch translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,469 @@
# Polish translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Portuguese translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,469 @@
# Portuguese translations for clapper-app package
# Tradu<64><75>es em portugu<67>s brasileiro para o pacote clapper-app.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,469 @@
# Russian translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Slovak translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Swedish translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Turkish translations for clapper-app package.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,468 @@
# Chinese translations for clapper-app package
# clapper-app <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>.
# Copyright (C) 2024 THE clapper-app'S COPYRIGHT HOLDER
# This file is distributed under the same license as the clapper-app package.
# Automatically generated, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: clapper-app\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-05 20:50+0200\n"
"PO-Revision-Date: 2024-03-07 21:34+0100\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:14
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:14
msgid "Codec"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:24
msgid "Channels"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:36
msgid "Sample Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:46
msgid "Sample Rate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:58
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:51
msgid "Bitrate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-audio-stream-list-item.ui:70
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:24
msgid "Language"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:10
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:11
msgid "General"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:13
msgid "Show shortcuts"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:19
msgid "Open preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:25
msgid "Toggle fullscreen"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:26
msgid "Double tap | Double click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:32
msgid "Quit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:40
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:32
msgid "Media"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:43
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:30
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:178
msgid "Add Files…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:49
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:40
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:182
msgid "Add URI…"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:57
msgid "Queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:61
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:68
msgid "Next item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:75
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:82
msgid "Previous item"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:88
msgid "Change progression mode"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:96
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:76
msgid "Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:99
msgid "Toggle play"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:100
msgid "Tap | Left click"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:107
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:115
msgid "Seek forward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:108
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:132
msgid "Double tap (right side) | Scroll right"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:116
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:124
msgid "Double tap (left side) | Scroll left"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:123
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:131
msgid "Seek backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:138
msgid "Volume up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:139
msgid "Scroll up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:145
msgid "Volume down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:146
msgid "Scroll down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:152
msgid "Toggle mute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:158
msgid "Speed up"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:164
msgid "Speed down"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:171
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:178
msgid "Next chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:185
#: src/bin/clapper-app/ui/clapper-app-help-overlay.ui:192
msgid "Previous chapter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:13
msgid "Info"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:35
#: src/bin/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui:14
msgid "Title"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:49
msgid "Container Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:63
msgid "Duration"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:81
msgid "Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:84
#: src/bin/clapper-app/clapper-app-list-item-utils.c:36
msgid "Video"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:107
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:80
#: src/bin/clapper-app/clapper-app-list-item-utils.c:39
msgid "Audio"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:130
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:100
#: src/bin/clapper-app/clapper-app-list-item-utils.c:42
msgid "Subtitles"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:155
msgid "Video Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:158
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:199
msgid "Decoder"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:170
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:211
msgid "Filter"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:182
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:223
msgid "Sink"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:196
msgid "Audio Playback"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:247
msgid "Video Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:290
msgid "Audio Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-info-window.ui:333
msgid "Subtitle Streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-initial-state.ui:21
msgid "Start by adding media to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:15
msgid "Seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:18
msgid "Method"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:19
msgid "A preferred method used for seeking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:32
msgid "Value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:33
msgid "Value used for seeking forward/backward"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:46
msgid "Unit"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:47
msgid "An unit of a seek forward/backward value"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:51
msgid "Second"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:52
msgid "Minute"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:53
msgid "Percentage"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:63
msgid "Features"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:66
msgid "Server"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:67
msgid "Control player remotely"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:83
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:103
msgid "Offset"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:84
msgid "Synchronisation offset in seconds between the audio and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:104
msgid ""
"Synchronisation offset in seconds between the subtitle and video streams"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:118
msgid "Default font"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:119
msgid "Text font used for subtitles when media does not explicitly specify one"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:137
msgid "Tweaks"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:144
msgid "Plugin ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:145
msgid "Alter default ranks of GStreamer plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:164
msgid "Plugin Ranking"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:182
msgid "Available plugins"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:183
msgid ""
"Select a plugin and its feature to override rank for. When multiple elements "
"have similiar capabilities, the one with highest value is preferred."
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:186
msgid "Plugin"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:195
msgid "Plugin feature"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:213
msgid "Add override"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-preferences-window.ui:229
msgid "Rank overrides"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:60
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:23
msgid "Add"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-queue-list.ui:87
msgid "Queue progression"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:6
msgid "Add URI"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:7
msgid "Insert an URI to be added to playback queue"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:18
msgid "Enter or drop URI here"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-uri-dialog.ui:22
msgid "Cancel"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:24
msgid "Resolution"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:39
msgid "Framerate"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-video-stream-list-item.ui:63
msgid "Pixel Format"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:57
msgid "Preferences"
msgstr ""
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:61
msgid "Keyboard Shortcuts"
msgstr ""
#. TRANSLATORS: Please do not translate application name
#: src/bin/clapper-app/ui/clapper-app-window-state-buttons.ui:68
msgid "About Clapper"
msgstr ""
#. TRANSLATORS: Put your name(s) here for credits or leave untranslated
#: src/bin/clapper-app/clapper-app-about-window.c:43
msgid "translator-credits"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Hardware"
msgstr ""
#: src/bin/clapper-app/clapper-app-info-window.c:86
msgid "Software"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:441
msgid "Accurate"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:443
msgid "Normal"
msgstr ""
#: src/bin/clapper-app/clapper-app-preferences-window.c:445
msgid "Fast"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:66
msgid "No progression"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:67
msgid "Consecutive"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:68
msgid "Repeat item"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:69
msgid "Carousel"
msgstr ""
#: src/bin/clapper-app/clapper-app-utils.c:70
msgid "Shuffle"
msgstr ""
#: src/bin/clapper-app/clapper-app-window.c:824
msgid "Drop on title bar to play now or anywhere else to enqueue."
msgstr ""

View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="GtkListItem">
<property name="activatable">false</property>
<property name="child">
<object class="AdwPreferencesGroup">
<binding name="title">
<closure type="gchararray" function="clapper_app_list_item_make_stream_group_title">
<lookup name="item">GtkListItem</lookup>
</closure>
</binding>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Codec</property>
<binding name="subtitle">
<lookup name="codec" type="ClapperAudioStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Channels</property>
<binding name="subtitle">
<closure type="gchararray" function="clapper_app_list_item_convert_int">
<lookup name="channels" type="ClapperAudioStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Sample Format</property>
<binding name="subtitle">
<lookup name="sample-format" type="ClapperAudioStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Sample Rate</property>
<binding name="subtitle">
<closure type="gchararray" function="clapper_app_list_item_convert_int">
<lookup name="sample-rate" type="ClapperAudioStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Bitrate</property>
<binding name="subtitle">
<closure type="gchararray" function="clapper_app_list_item_make_bitrate">
<lookup name="bitrate" type="ClapperAudioStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Language</property>
<binding name="subtitle">
<lookup name="lang-name" type="ClapperAudioStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
</object>
</property>
</template>
</interface>

View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="ClapperAppHeaderbar" parent="ClapperGtkContainer">
<property name="adaptive-width">560</property>
<signal name="adapt" handler="container_adapt_cb"/>
<child>
<object class="GtkCenterBox">
<property name="orientation">horizontal</property>
<property name="halign">fill</property>
<property name="valign">start</property>
<child type="center">
<object class="ClapperGtkLeadContainer">
<property name="blocked-actions">toggle-play|seek-request</property>
<property name="width-target">640</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="halign">fill</property>
<property name="valign">center</property>
<style>
<class name="osd"/>
<class name="rounded"/>
<class name="mainbox"/>
</style>
<child>
<object class="GtkBox">
<property name="orientation">horizontal</property>
<property name="halign">fill</property>
<property name="valign">center</property>
<property name="spacing">2</property>
<style>
<class name="rounded"/>
</style>
<child>
<object class="GtkButton">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="icon-name">view-list-symbolic</property>
<signal name="clicked" handler="reveal_queue_button_clicked_cb"/>
<style>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkRevealer" id="previous_item_revealer">
<property name="halign">start</property>
<property name="valign">center</property>
<property name="transition-type">slide-right</property>
<property name="transition-duration">400</property>
<property name="reveal-child">true</property>
<child>
<object class="ClapperGtkPreviousItemButton">
<property name="halign">center</property>
<property name="valign">center</property>
<style>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="ClapperGtkTitleLabel">
<property name="halign">fill</property>
<property name="valign">fill</property>
<property name="hexpand">true</property>
<property name="fallback-to-uri">true</property>
<style>
<class name="heading"/>
<class name="titlelabel"/>
</style>
</object>
</child>
<child>
<object class="GtkRevealer" id="next_item_revealer">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="transition-type">slide-left</property>
<property name="transition-duration">400</property>
<property name="reveal-child">true</property>
<child>
<object class="ClapperGtkNextItemButton">
<property name="halign">center</property>
<property name="valign">center</property>
<style>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="icon-name">help-about-symbolic</property>
<property name="action-name">app.info</property>
<style>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkDropTarget" id="drop_target">
<property name="actions">copy</property>
<property name="preload">true</property>
<signal name="notify::value" handler="drop_value_notify_cb"/>
<signal name="drop" handler="drop_cb"/>
</object>
</child>
</object>
</child>
<child>
<object class="GtkRevealer" id="queue_revealer">
<property name="halign">fill</property>
<property name="valign">start</property>
<property name="transition-type">slide-down</property>
<property name="transition-duration">800</property>
<property name="reveal-child">false</property>
<signal name="notify::reveal-child" handler="queue_reveal_cb"/>
<child>
<object class="ClapperAppQueueList"/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child type="end">
<object class="GtkRevealer" id="win_buttons_revealer">
<property name="halign">end</property>
<property name="valign">start</property>
<property name="transition-type">slide-left</property>
<property name="transition-duration">500</property>
<property name="reveal-child">true</property>
<child>
<object class="ClapperAppWindowStateButtons">
<property name="halign">center</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
</interface>

View File

@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<object class="GtkShortcutsWindow" id="help_overlay">
<property name="modal">true</property>
<child>
<object class="GtkShortcutsSection">
<property name="section-name">app</property>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes">General</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Show shortcuts</property>
<property name="accelerator">&lt;Ctrl&gt;question</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Open preferences</property>
<property name="accelerator">&lt;Ctrl&gt;comma</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Toggle fullscreen</property>
<property name="subtitle" translatable="yes">Double tap | Double click</property>
<property name="accelerator">F11 f</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Quit</property>
<property name="accelerator">&lt;Ctrl&gt;Q</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes">Media</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Add Files…</property>
<property name="accelerator">&lt;Ctrl&gt;O</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Add URI…</property>
<property name="accelerator">&lt;Ctrl&gt;U</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes">Queue</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">ltr</property>
<property name="title" translatable="yes">Next item</property>
<property name="accelerator">&lt;Ctrl&gt;Right</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">rtl</property>
<property name="title" translatable="yes">Next item</property>
<property name="accelerator">&lt;Ctrl&gt;Left</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">ltr</property>
<property name="title" translatable="yes">Previous item</property>
<property name="accelerator">&lt;Ctrl&gt;Left</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">rtl</property>
<property name="title" translatable="yes">Previous item</property>
<property name="accelerator">&lt;Ctrl&gt;Right</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Change progression mode</property>
<property name="accelerator">&lt;Ctrl&gt;P</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes">Playback</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Toggle play</property>
<property name="subtitle" translatable="yes">Tap | Left click</property>
<property name="accelerator">space k</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">ltr</property>
<property name="title" translatable="yes">Seek forward</property>
<property name="subtitle" translatable="yes">Double tap (right side) | Scroll right</property>
<property name="accelerator">Right l</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">rtl</property>
<property name="title" translatable="yes">Seek forward</property>
<property name="subtitle" translatable="yes">Double tap (left side) | Scroll left</property>
<property name="accelerator">Left j</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">ltr</property>
<property name="title" translatable="yes">Seek backward</property>
<property name="subtitle" translatable="yes">Double tap (left side) | Scroll left</property>
<property name="accelerator">Left j</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">rtl</property>
<property name="title" translatable="yes">Seek backward</property>
<property name="subtitle" translatable="yes">Double tap (right side) | Scroll right</property>
<property name="accelerator">Right l</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Volume up</property>
<property name="subtitle" translatable="yes">Scroll up</property>
<property name="accelerator">Up</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Volume down</property>
<property name="subtitle" translatable="yes">Scroll down</property>
<property name="accelerator">Down</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Toggle mute</property>
<property name="accelerator">M</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Speed up</property>
<property name="accelerator">greater</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes">Speed down</property>
<property name="accelerator">less</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">ltr</property>
<property name="title" translatable="yes">Next chapter</property>
<property name="accelerator">&lt;Shift&gt;Right</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">rtl</property>
<property name="title" translatable="yes">Next chapter</property>
<property name="accelerator">&lt;Shift&gt;Left</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">ltr</property>
<property name="title" translatable="yes">Previous chapter</property>
<property name="accelerator">&lt;Shift&gt;Left</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="direction">rtl</property>
<property name="title" translatable="yes">Previous chapter</property>
<property name="accelerator">&lt;Shift&gt;Right</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,380 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="ClapperAppInfoWindow" parent="AdwWindow">
<property name="width-request">280</property>
<property name="height-request">280</property>
<property name="default-width">400</property>
<property name="default-height">640</property>
<property name="modal">true</property>
<property name="content">
<object class="AdwNavigationView">
<child>
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Info</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar"/>
</child>
<property name="content">
<object class="GtkScrolledWindow">
<child>
<object class="AdwClamp">
<style>
<class name="maincontent"/>
</style>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="spacing">8</property>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Media</property>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Title</property>
<binding name="subtitle">
<lookup name="title" type="ClapperMediaItem">
<lookup name="current-item" type="ClapperQueue">
<lookup name="queue" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Container Format</property>
<binding name="subtitle">
<lookup name="container-format" type="ClapperMediaItem">
<lookup name="current-item" type="ClapperQueue">
<lookup name="queue" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Duration</property>
<binding name="subtitle">
<closure type="gchararray" function="media_duration_closure">
<lookup name="duration" type="ClapperMediaItem">
<lookup name="current-item" type="ClapperQueue">
<lookup name="queue" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Streams</property>
<child>
<object class="AdwActionRow" id="video_action_row">
<property name="title" translatable="yes">Video</property>
<property name="activatable">true</property>
<property name="action-name">navigation.push</property>
<property name="action-target">'video-streams-page'</property>
<binding name="sensitive">
<closure type="gboolean" function="has_streams_closure">
<lookup name="n-streams" type="ClapperStreamList">
<lookup name="video-streams" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</lookup>
</closure>
</binding>
<child>
<object class="GtkImage">
<property name="icon_name">go-next-symbolic</property>
<property name="visible" bind-source="video_action_row" bind-property="sensitive" bind-flags="sync-create"/>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="audio_action_row">
<property name="title" translatable="yes">Audio</property>
<property name="activatable">true</property>
<property name="action-name">navigation.push</property>
<property name="action-target">'audio-streams-page'</property>
<binding name="sensitive">
<closure type="gboolean" function="has_streams_closure">
<lookup name="n-streams" type="ClapperStreamList">
<lookup name="audio-streams" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</lookup>
</closure>
</binding>
<child>
<object class="GtkImage">
<property name="icon_name">go-next-symbolic</property>
<property name="visible" bind-source="audio_action_row" bind-property="sensitive" bind-flags="sync-create"/>
</object>
</child>
</object>
</child>
<child>
<object class="AdwActionRow" id="subtitles_action_row">
<property name="title" translatable="yes">Subtitles</property>
<property name="activatable">true</property>
<property name="action-name">navigation.push</property>
<property name="action-target">'subtitle-streams-page'</property>
<binding name="sensitive">
<closure type="gboolean" function="has_streams_closure">
<lookup name="n-streams" type="ClapperStreamList">
<lookup name="subtitle-streams" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</lookup>
</closure>
</binding>
<child>
<object class="GtkImage">
<property name="icon_name">go-next-symbolic</property>
<property name="visible" bind-source="subtitles_action_row" bind-property="sensitive" bind-flags="sync-create"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Video Playback</property>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Decoder</property>
<binding name="subtitle">
<closure type="gchararray" function="playback_decoder_closure">
<lookup name="current-video-decoder" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Filter</property>
<binding name="subtitle">
<closure type="gchararray" function="playback_element_name_closure">
<lookup name="video-filter" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Sink</property>
<binding name="subtitle">
<closure type="gchararray" function="playback_element_name_closure">
<lookup name="video-sink" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Audio Playback</property>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Decoder</property>
<binding name="subtitle">
<closure type="gchararray" function="playback_element_name_closure">
<lookup name="current-audio-decoder" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Filter</property>
<binding name="subtitle">
<closure type="gchararray" function="playback_element_name_closure">
<lookup name="audio-filter" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Sink</property>
<binding name="subtitle">
<closure type="gchararray" function="playback_element_name_closure">
<lookup name="audio-sink" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Video Streams</property>
<property name="tag">video-streams-page</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar"/>
</child>
<property name="content">
<object class="GtkScrolledWindow">
<child>
<object class="AdwClamp">
<style>
<class name="subcontent"/>
</style>
<child>
<object class="GtkListView" id="vstreams_list">
<property name="orientation">vertical</property>
<property name="css-name">streamlist</property>
<property name="can-target">false</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="resource">/com/github/rafostar/Clapper/clapper-app/ui/clapper-app-video-stream-list-item.ui</property>
</object>
</property>
<binding name="model">
<closure type="GtkSelectionModel" function="create_no_selection_closure">
<lookup name="video-streams" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Audio Streams</property>
<property name="tag">audio-streams-page</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar"/>
</child>
<property name="content">
<object class="GtkScrolledWindow">
<child>
<object class="AdwClamp">
<style>
<class name="subcontent"/>
</style>
<child>
<object class="GtkListView" id="astreams_list">
<property name="orientation">vertical</property>
<property name="css-name">streamlist</property>
<property name="can-target">false</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="resource">/com/github/rafostar/Clapper/clapper-app/ui/clapper-app-audio-stream-list-item.ui</property>
</object>
</property>
<binding name="model">
<closure type="GtkSelectionModel" function="create_no_selection_closure">
<lookup name="audio-streams" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwNavigationPage">
<property name="title" translatable="yes">Subtitle Streams</property>
<property name="tag">subtitle-streams-page</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar"/>
</child>
<property name="content">
<object class="GtkScrolledWindow">
<child>
<object class="AdwClamp">
<style>
<class name="subcontent"/>
</style>
<child>
<object class="GtkListView" id="sstreams_list">
<property name="orientation">vertical</property>
<property name="css-name">streamlist</property>
<property name="can-target">false</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="resource">/com/github/rafostar/Clapper/clapper-app/ui/clapper-app-subtitle-stream-list-item.ui</property>
</object>
</property>
<binding name="model">
<closure type="GtkSelectionModel" function="create_no_selection_closure">
<lookup name="subtitle-streams" type="ClapperPlayer">
<lookup name="player">ClapperAppInfoWindow</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
</object>
</child>
</object>
</property>
<style>
<class name="info"/>
</style>
</template>
</interface>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<object class="GtkBox" id="initial_state">
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<style>
<class name="initialstate"/>
</style>
<child>
<object class="ClapperAppWindowStateButtons">
<property name="halign">end</property>
<property name="valign">center</property>
</object>
</child>
<child>
<object class="AdwStatusPage">
<property name="vexpand">true</property>
<property name="hexpand">true</property>
<property name="icon-name">com.github.rafostar.Clapper</property>
<property name="title" translatable="no">Clapper</property>
<property name="description" translatable="yes">Start by adding media to playback queue</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="spacing">6</property>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">Add Files…</property>
<property name="action-name">app.add-files</property>
<style>
<class name="pill"/>
<class name="suggested-action"/>
</style>
</object>
</child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">Add URI…</property>
<property name="action-name">app.add-uri</property>
<style>
<class name="pill"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,246 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="ClapperAppPreferencesWindow" parent="AdwPreferencesWindow">
<property name="width-request">280</property>
<property name="height-request">280</property>
<property name="default-width">540</property>
<property name="default-height">540</property>
<property name="modal">true</property>
<child>
<object class="AdwPreferencesPage">
<property name="title" translatable="yes">General</property>
<property name="icon-name">user-home-symbolic</property>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Seeking</property>
<child>
<object class="AdwComboRow" id="seek_method_combo_row">
<property name="title" translatable="yes">Method</property>
<property name="subtitle" translatable="yes">A preferred method used for seeking</property>
<property name="model">
<object class="AdwEnumListModel">
<property name="enum-type">ClapperPlayerSeekMethod</property>
</object>
</property>
<property name="expression">
<closure type="gchararray" function="seek_method_name_closure"/>
</property>
</object>
</child>
<child>
<object class="AdwSpinRow" id="seek_value_spin_row">
<property name="title" translatable="yes">Value</property>
<property name="subtitle" translatable="yes">Value used for seeking forward/backward</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="lower">1</property>
<property name="upper">99</property>
<property name="page-increment">1</property>
<property name="step-increment">1</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwComboRow" id="seek_unit_combo_row">
<property name="title" translatable="yes">Unit</property>
<property name="subtitle" translatable="yes">An unit of a seek forward/backward value</property>
<property name="model">
<object class="GtkStringList">
<items>
<item translatable="yes">Second</item>
<item translatable="yes">Minute</item>
<item translatable="yes">Percentage</item>
</items>
</object>
</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Features</property>
<child>
<object class="AdwSwitchRow" id="server_switch_row">
<property name="title" translatable="yes">Server</property>
<property name="subtitle" translatable="yes">Control player remotely</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesPage">
<property name="title" translatable="yes">Playback</property>
<property name="icon-name">camera-video-symbolic</property>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Audio</property>
<child>
<object class="AdwSpinRow" id="audio_offset_spin_row">
<property name="title" translatable="yes">Offset</property>
<property name="subtitle" translatable="yes">Synchronisation offset in seconds between the audio and video streams</property>
<property name="digits">3</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="lower">-10</property>
<property name="upper">10</property>
<property name="page-increment">1</property>
<property name="step-increment">0.025</property>
</object>
</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Subtitles</property>
<child>
<object class="AdwSpinRow" id="subtitle_offset_spin_row">
<property name="title" translatable="yes">Offset</property>
<property name="subtitle" translatable="yes">Synchronisation offset in seconds between the subtitle and video streams</property>
<property name="digits">3</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="lower">-10</property>
<property name="upper">10</property>
<property name="page-increment">1</property>
<property name="step-increment">0.025</property>
</object>
</property>
</object>
</child>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Default font</property>
<property name="subtitle" translatable="yes">Text font used for subtitles when media does not explicitly specify one</property>
<child>
<object class="GtkFontDialogButton" id="font_dialog_button">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="dialog">
<object class="GtkFontDialog"/>
</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="AdwPreferencesPage">
<property name="title" translatable="yes">Tweaks</property>
<property name="icon-name">applications-engineering-symbolic</property>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="no">GStreamer</property>
<child>
<object class="AdwActionRow">
<property name="title" translatable="yes">Plugin ranking</property>
<property name="subtitle" translatable="yes">Alter default ranks of GStreamer plugins</property>
<property name="activatable">true</property>
<signal name="activated" handler="plugin_ranking_activated_cb"/>
<child>
<object class="GtkImage">
<property name="icon_name">go-next-symbolic</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<style>
<class name="preferences"/>
</style>
</template>
<object class="AdwNavigationPage" id="plugins_subpage">
<property name="title" translatable="yes">Plugin Ranking</property>
<property name="child">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar"/>
</child>
<property name="content">
<object class="GtkScrolledWindow">
<child>
<object class="AdwClamp">
<style>
<class name="subcontent"/>
</style>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="AdwPreferencesGroup">
<property name="title" translatable="yes">Available plugins</property>
<property name="description" translatable="yes">Select a plugin and its feature to override rank for. When multiple elements have similiar capabilities, the one with highest value is preferred.</property>
<child>
<object class="AdwComboRow" id="plugins_combo_row">
<property name="title" translatable="yes">Plugin</property>
<property name="enable-search">true</property>
<property name="expression">
<lookup type="GtkStringObject" name="string"/>
</property>
</object>
</child>
<child>
<object class="AdwComboRow" id="features_combo_row">
<property name="title" translatable="yes">Plugin feature</property>
<property name="enable-search">true</property>
<property name="expression">
<lookup type="GtkStringObject" name="string"/>
</property>
<binding name="model">
<closure type="GtkStringList" function="ranking_features_model_closure">
<lookup name="selected-item">plugins_combo_row</lookup>
</closure>
</binding>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton" id="add_override_button">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="label" translatable="yes">Add override</property>
<binding name="sensitive">
<closure type="gboolean" function="add_override_button_sensitive_closure">
<lookup name="selected-item">features_combo_row</lookup>
<lookup name="rank-rows">ClapperAppPreferencesWindow</lookup>
</closure>
</binding>
<signal name="clicked" handler="add_override_button_clicked_cb"/>
<style>
<class name="pill"/>
<class name="suggested-action"/>
</style>
</object>
</child>
<child>
<object class="AdwPreferencesGroup" id="overrides_group">
<property name="title" translatable="yes">Rank overrides</property>
<property name="visible">false</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</property>
<signal name="unrealize" handler="plugin_ranking_unrealize_cb"/>
<style>
<class name="pluginssubpage"/>
</style>
</object>
</interface>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="GtkListItem">
<property name="child">
<object class="ClapperAppMediaItemBox">
<property name="orientation">horizontal</property>
<property name="hexpand">true</property>
<property name="can-target">true</property>
<property name="spacing">6</property>
<binding name="media-item">
<lookup name="item">GtkListItem</lookup>
</binding>
<child>
<object class="GtkImage">
<property name="halign">start</property>
<property name="valign">center</property>
<property name="can-target">false</property>
<property name="icon-name">list-drag-handle-symbolic</property>
</object>
</child>
<child>
<object class="ClapperGtkTitleLabel">
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">true</property>
<property name="can-target">false</property>
<property name="fallback-to-uri">true</property>
<binding name="media-item">
<lookup name="item">GtkListItem</lookup>
</binding>
<style>
<class name="heading"/>
</style>
</object>
</child>
</object>
</property>
</template>
</interface>

View File

@@ -0,0 +1,187 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="ClapperAppQueueList" parent="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkSeparator">
<property name="orientation">horizontal</property>
<style>
<class name="topseparator"/>
</style>
</object>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="transition-duration">200</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkBox" id="stack_default_page">
<property name="orientation">horizontal</property>
<property name="hexpand">true</property>
<property name="spacing">6</property>
<style>
<class name="buttonsbox"/>
</style>
<child>
<object class="GtkBox">
<property name="orientation">horizontal</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">true</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox">
<property name="orientation">horizontal</property>
<property name="halign">start</property>
<property name="valign">center</property>
<style>
<class name="linked"/>
</style>
<child>
<object class="GtkButton">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="action-name">app.add-files</property>
<style>
<class name="additemsbutton"/>
<class name="circular"/>
</style>
<child>
<object class="GtkBox">
<property name="orientation">horizontal</property>
<property name="spacing">2</property>
<child>
<object class="GtkImage">
<property name="icon-name">list-add-symbolic</property>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Add</property>
<property name="use-underline">true</property>
<property name="ellipsize">end</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="menu-model">add_items_menu</property>
<style>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkDropDown" id="progression_drop_down">
<property name="halign">end</property>
<property name="valign">center</property>
<property name="tooltip-text" translatable="yes">Queue progression</property>
<property name="show-arrow">false</property>
<property name="model">
<object class="ClapperAppQueueProgressionModel"/>
</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="resource">/com/github/rafostar/Clapper/clapper-app/ui/clapper-app-queue-progression-item.ui</property>
</object>
</property>
<style>
<class name="progressiondropdown"/>
<class name="circular"/>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="stack_trash_page">
<property name="orientation">horizontal</property>
<property name="hexpand">true</property>
<style>
<class name="removeitembox"/>
</style>
<child>
<object class="GtkImage">
<property name="hexpand">true</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="icon-name">user-trash-symbolic</property>
</object>
</child>
<child>
<object class="GtkDropTarget" id="trash_drop_target">
<property name="actions">move</property>
<signal name="drop" handler="trash_drop_cb"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="hscrollbar-policy">never</property>
<property name="vscrollbar-policy">automatic</property>
<property name="propagate-natural-height">true</property>
<property name="max-content-height">274</property>
<style>
<class name="queue"/>
</style>
<child>
<object class="GtkListView" id="list_view">
<property name="orientation">vertical</property>
<property name="enable-rubberband">false</property>
<property name="single-click-activate">false</property>
<property name="factory">
<object class="GtkBuilderListItemFactory">
<property name="resource">/com/github/rafostar/Clapper/clapper-app/ui/clapper-app-queue-list-item.ui</property>
</object>
</property>
<style>
<class name="osd"/>
</style>
<child>
<object class="GtkDragSource">
<property name="actions">move</property>
<signal name="prepare" handler="drag_item_prepare_cb"/>
<signal name="drag-begin" handler="drag_item_drag_begin_cb"/>
<signal name="drag-end" handler="drag_item_drag_end_cb"/>
</object>
</child>
<child>
<object class="GtkDropTarget" id="drop_target">
<property name="actions">move|copy</property>
<property name="preload">true</property>
<signal name="notify::value" handler="queue_drop_value_notify_cb"/>
<signal name="motion" handler="queue_drop_motion_cb"/>
<signal name="leave" handler="queue_drop_leave_cb"/>
<signal name="drop" handler="queue_drop_cb"/>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
<menu id="add_items_menu">
<section>
<item>
<attribute name="label" translatable="yes">Add Files…</attribute>
<attribute name="action">app.add-files</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Add URI…</attribute>
<attribute name="action">app.add-uri</attribute>
</item>
</section>
</menu>
</interface>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="GtkListItem">
<property name="child">
<object class="GtkBox">
<property name="orientation">horizontal</property>
<property name="hexpand">true</property>
<property name="spacing">6</property>
<child>
<object class="GtkImage">
<property name="halign">start</property>
<property name="valign">center</property>
<property name="icon-name">list-drag-handle-symbolic</property>
<binding name="icon-name">
<lookup name="icon-name" type="ClapperAppQueueProgressionItem">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">true</property>
<property name="single-line-mode">true</property>
<property name="ellipsize">end</property>
<property name="xalign">0.0</property>
<binding name="label">
<lookup name="label" type="ClapperAppQueueProgressionItem">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
</object>
</property>
</template>
</interface>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="GtkListItem">
<property name="activatable">false</property>
<property name="child">
<object class="AdwPreferencesGroup">
<binding name="title">
<closure type="gchararray" function="clapper_app_list_item_make_stream_group_title">
<lookup name="item">GtkListItem</lookup>
</closure>
</binding>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Title</property>
<binding name="subtitle">
<lookup name="title" type="ClapperStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Language</property>
<binding name="subtitle">
<lookup name="lang-name" type="ClapperSubtitleStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
</object>
</property>
</template>
</interface>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<object class="AdwMessageDialog" id="dialog">
<property name="modal">true</property>
<property name="width-request">420</property>
<property name="heading" translatable="yes">Add URI</property>
<property name="body" translatable="yes">Insert an URI to be added to playback queue</property>
<property name="close-response">cancel</property>
<property name="default-response">add</property>
<property name="extra-child">
<object class="GtkEntry">
<property name="halign">fill</property>
<property name="valign">center</property>
<property name="hexpand">true</property>
<property name="activates-default">true</property>
<property name="truncate-multiline">true</property>
<property name="input-purpose">url</property>
<property name="placeholder-text" translatable="yes">Enter or drop URI here</property>
</object>
</property>
<responses>
<response id="cancel" translatable="yes">Cancel</response>
<response id="add" translatable="yes" appearance="suggested" enabled="false">Add</response>
</responses>
</object>
</interface>

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="GtkListItem">
<property name="activatable">false</property>
<property name="child">
<object class="AdwPreferencesGroup">
<binding name="title">
<closure type="gchararray" function="clapper_app_list_item_make_stream_group_title">
<lookup name="item">GtkListItem</lookup>
</closure>
</binding>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Codec</property>
<binding name="subtitle">
<lookup name="codec" type="ClapperVideoStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Resolution</property>
<binding name="subtitle">
<closure type="gchararray" function="clapper_app_list_item_make_resolution">
<lookup name="width" type="ClapperVideoStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
<lookup name="height" type="ClapperVideoStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Framerate</property>
<binding name="subtitle">
<closure type="gchararray" function="clapper_app_list_item_convert_double">
<lookup name="fps" type="ClapperVideoStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Bitrate</property>
<binding name="subtitle">
<closure type="gchararray" function="clapper_app_list_item_make_bitrate">
<lookup name="bitrate" type="ClapperVideoStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</closure>
</binding>
</object>
</child>
<child>
<object class="ClapperAppPropertyRow">
<property name="title" translatable="yes">Pixel Format</property>
<binding name="subtitle">
<lookup name="pixel-format" type="ClapperVideoStream">
<lookup name="item">GtkListItem</lookup>
</lookup>
</binding>
</object>
</child>
</object>
</property>
</template>
</interface>

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="ClapperAppWindowStateButtons" parent="GtkBox">
<property name="orientation">horizontal</property>
<property name="spacing">6</property>
<child>
<object class="GtkMenuButton" id="menu_button">
<property name="icon-name">open-menu-symbolic</property>
<property name="menu-model">app_menu</property>
<style>
<class name="osd"/>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="minimize_button">
<property name="icon_name">window-minimize-symbolic</property>
<property name="visible">false</property>
<signal name="clicked" handler="minimize_button_clicked_cb"/>
<style>
<class name="osd"/>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="maximize_button">
<property name="icon_name">window-maximize-symbolic</property>
<property name="visible">false</property>
<signal name="clicked" handler="maximize_button_clicked_cb"/>
<style>
<class name="osd"/>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
<child>
<object class="GtkButton" id="close_button">
<property name="icon_name">window-close-symbolic</property>
<property name="visible">false</property>
<signal name="clicked" handler="close_button_clicked_cb"/>
<style>
<class name="osd"/>
<class name="flat"/>
<class name="circular"/>
</style>
</object>
</child>
</template>
<menu id="app_menu">
<section>
<item>
<attribute name="label" translatable="yes">Preferences</attribute>
<attribute name="action">app.preferences</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Keyboard Shortcuts</attribute>
<attribute name="action">win.show-help-overlay</attribute>
</item>
</section>
<section>
<item>
<!-- TRANSLATORS: Please do not translate application name -->
<attribute name="label" translatable="yes">About Clapper</attribute>
<attribute name="action">app.about</attribute>
</item>
</section>
</menu>
</interface>

View File

@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="clapper-app">
<template class="ClapperAppWindow" parent="GtkApplicationWindow">
<property name="default-width">1024</property>
<property name="default-height">576</property>
<property name="child">
<object class="GtkStack">
<property name="transition-duration">300</property>
<property name="transition-type">crossfade</property>
<child>
<object class="ClapperGtkVideo" id="video">
<property name="focusable">true</property>
<property name="auto-inhibit">true</property>
<signal name="toggle-fullscreen" handler="video_toggle_fullscreen_cb"/>
<signal name="seek-request" handler="video_seek_request_cb"/>
<signal name="map" handler="video_map_cb"/>
<signal name="unmap" handler="video_unmap_cb"/>
<child type="overlay">
<object class="ClapperGtkBillboard" id="billboard"/>
</child>
<child type="fading-overlay">
<object class="ClapperGtkSimpleControls" id="simple_controls">
<property name="valign">end</property>
</object>
</child>
<child type="fading-overlay">
<object class="ClapperAppHeaderbar">
<property name="valign">start</property>
</object>
</child>
<child>
<object class="GtkEventControllerScroll">
<property name="flags">both-axes</property>
<signal name="scroll-begin" handler="scroll_begin_cb"/>
<signal name="scroll" handler="scroll_cb"/>
<signal name="scroll-end" handler="scroll_end_cb"/>
</object>
</child>
<child>
<object class="GtkEventControllerKey">
<property name="propagation-phase">capture</property>
<signal name="key-pressed" handler="key_pressed_cb"/>
<signal name="key-released" handler="key_released_cb"/>
</object>
</child>
</object>
</child>
<child>
<object class="GtkGestureClick">
<property name="button">3</property>
<signal name="pressed" handler="right_click_pressed_cb"/>
<signal name="released" handler="right_click_released_cb"/>
</object>
</child>
<child>
<object class="GtkGestureDrag">
<signal name="drag-begin" handler="drag_begin_cb"/>
<signal name="drag-update" handler="drag_update_cb"/>
</object>
</child>
</object>
</property>
<child>
<object class="GtkDropTarget" id="drop_target">
<property name="actions">copy</property>
<property name="preload">true</property>
<signal name="notify::value" handler="drop_value_notify_cb"/>
<signal name="drop" handler="drop_cb"/>
</object>
</child>
<style>
<class name="app"/>
</style>
</template>
</interface>

1
src/bin/meson.build Normal file
View File

@@ -0,0 +1 @@
subdir('clapper-app')