Compare commits

...

30 Commits

Author SHA1 Message Date
TDE Gitea 351d7b08b4 Merge translation files from master branch. 4 years ago
Slávek Banko ae9db1b788
Change README to markdown format.
Add translation status overview.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit b7b726f67f)
4 years ago
Slávek Banko 00dfcb8e6d
Use common rules for build and install documentation and translations.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 34b18a71c1)
4 years ago
Slávek Banko ba54c228db
Remove cmake submodule since it has now been replaced by cmake-trinity dependency.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
TDE Gitea fbbb26c3ba Reset submodule main/applications/codeine/cmake to latest HEAD 4 years ago
Slávek Banko 7cc4c07e85
Update version number to R14.0.11.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
TDE Gitea 2b3d1b7118 Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
TDE Gitea c28093419c Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
TDE Gitea 49f41385d8 Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
Slávek Banko 0f5a3e08d2
Raise the minimum required version of CMake to 2.8.12.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 16b402ddee)
5 years ago
TDE Gitea 92ab044a2b Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
Slávek Banko 194514b799 Merge translation files from master branch. 5 years ago
TDE Gitea ead01d2dda Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
Slávek Banko dede209089 Merge translation files from master branch. 5 years ago
Slávek Banko 22ed41cc1f
Update version number to R14.0.10.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
5 years ago
Slávek Banko a94d97db8a
Update release version number to R14.0.9.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
5 years ago
Slávek Banko 210ecc384d Merge translation files from master branch. 5 years ago
TDE Gitea e0f0c84b3c Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
gregory guy 2b357be0fb
Add a proper README file.
Signed-off-by: gregory guy <gregory-tde@laposte.net>
(cherry picked from commit a77724e8e8)
5 years ago
Michele Calgaro 5e4420fc91
Removed code formatting modelines.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit be378d0c01)
5 years ago
TDE Gitea e9d6eb45b2 Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
TDE Gitea 5bd81da4e0 Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
Slávek Banko f5ee9f6f4f Merge translation files from master branch. 5 years ago
Michele Calgaro 2531b83971
Rename icons to match R14.0.x names. This is an extension of the previous (incorrectly pushed) commit. Apologies for the mess.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
5 years ago
gregory guy 3c9d9149da
Add a couple of missing icons.
Signed-off-by: gregory guy <gregory-tde@laposte.net>
(cherry picked from commit a25a38afa5)
5 years ago
TDE Gitea e431d84710 Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago
Slávek Banko 5530ce0c90 Update translation template. 5 years ago
Michele Calgaro a3481d8b74
Fixed xine scope plugin functionality with xine 1.2.10.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 304d3a226c)
5 years ago
Slávek Banko 24da8f541d Update translation template. 5 years ago
TDE Gitea 1234888afa Reset submodule main/applications/codeine/cmake to latest HEAD 5 years ago

3
.gitmodules vendored

@ -1,3 +0,0 @@
[submodule "cmake"]
path = cmake
url = https://system@scm.trinitydesktop.org/scm/git/tde-common-cmake

@ -7,13 +7,13 @@
############################################
cmake_minimum_required( VERSION 2.8 )
cmake_minimum_required( VERSION 2.8.12 )
#### general package setup
project( codeine )
set( VERSION R14.1.0 )
set( VERSION R14.0.11 )
#### include essential cmake modules
@ -70,8 +70,12 @@ set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined"
add_subdirectory( src )
add_subdirectory( misc )
tde_conditional_add_subdirectory( BUILD_DOC doc )
tde_conditional_add_subdirectory( BUILD_TRANSLATIONS translations )
##### other data ################################
tde_conditional_add_project_docs( BUILD_DOC )
tde_conditional_add_project_translations( BUILD_TRANSLATIONS )
##### write configure files

@ -1,2 +0,0 @@
Codeine - a very simple xine-based media player.

@ -0,0 +1,39 @@
Codeine - a very simple xine-based media player.
Codeine is a media player with a simple, uncluttered interface.
It can play play DVDs, VCDs, all video formats supported by the Xine
library.
Features:
---------
* Bundled with a simple web-page KPart
* Starts quickly
.
Contributing
--------------
If you wish to contribute to codeine, you might do so:
- TDE Gitea Workspace (TGW) collaboration tool.
https://mirror.git.trinitydesktop.org/gitea
- TDE Weblate Translation Workspace (TWTW) collaboration tool.
https://mirror.git.trinitydesktop.org/weblate
Translations status
---------------------
### messages
[![Translations status](https://mirror.git.trinitydesktop.org/weblate/widgets/applications/-/codeine/multi-auto.svg
"Engage in translating")](https://mirror.git.trinitydesktop.org/weblate/projects/applications/codeine/)
### desktop files
[![Translations status](https://mirror.git.trinitydesktop.org/weblate/widgets/applications/-/codeine-desktop-files/multi-auto.svg
"Engage in translating")](https://mirror.git.trinitydesktop.org/weblate/projects/applications/codeine-desktop-files/)

@ -1 +0,0 @@
Subproject commit 3bbc0e4d62a37030bf87675a33002ecf91b27107

@ -1,34 +0,0 @@
file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * )
list( REMOVE_ITEM _dirs html man )
string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
foreach( _dir IN LISTS _dirs )
if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
AND ( "${_dir}" STREQUAL "en" OR
"${_linguas}" MATCHES "^;*$" OR
";${_linguas};" MATCHES ";${_dir};" ))
file( GLOB _doc_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} ${_dir}/*.docbook )
if( _doc_files )
list( FIND _doc_files "index.docbook" _find_index )
if( -1 EQUAL _find_index )
set( _noindex "NOINDEX" )
else()
unset( _noindex )
endif()
tde_create_handbook(
SOURCE_BASEDIR ${_dir}
${_noindex}
LANG ${_dir}
DESTINATION ${PROJECT_NAME}
)
endif()
endif()
endforeach()
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html/CMakeLists.txt )
add_subdirectory( html )
endif()
if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/man/CMakeLists.txt )
add_subdirectory( man )
endif()

@ -426,12 +426,3 @@ In order to compile and install &codeine; on your system, type the following in
&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->

@ -1,5 +0,0 @@
INSTALL(
FILES ${PROJECT_NAME}.1
DESTINATION ${MAN_INSTALL_DIR}/man1
COMPONENT doc
)

@ -257,7 +257,7 @@ MainWindow::setupActions()
new TDEAction( i18n("Reset Video Scale"), "viewmag1", Key_Equal, videoWindow(), SLOT(resetZoom()), ac, "reset_zoom" );
new TDEAction( i18n("Media Information"), "messagebox_info", Key_I, this, SLOT(streamInformation()), ac, "information" );
new TDEAction( i18n("Menu Toggle"), "dvd_unmount", Key_R, engine(), SLOT(toggleDVDMenu()), ac, "toggle_dvd_menu" );
new TDEAction( i18n("Menu Toggle"), "media-optical-dvd", Key_R, engine(), SLOT(toggleDVDMenu()), ac, "media-optical-dvd" );
new TDEAction( i18n("&Capture Frame"), "frame_image", Key_C, this, SLOT(captureFrame()), ac, "capture_frame" );
new TDEAction( i18n("Video Settings..."), "configure", Key_V, this, SLOT(configure()), ac, "video_settings" );

@ -36,15 +36,15 @@ PlayDialog::PlayDialog( TQWidget *parent, bool be_welcome_dialog )
TQGridLayout *grid = new TQGridLayout( vbox, 1, 3, 20 );
//TODO use the kguiItems from the actions
mapper->setMapping( o = new KPushButton( KGuiItem( i18n("Play File..."), "fileopen" ), this ), FILE );
mapper->setMapping( o = new KPushButton( KGuiItem( i18n("Play File..."), "folder" ), this ), FILE );
connect( o, SIGNAL(clicked()), mapper, SLOT(map()) );
grid->TQLayout::add( o );
mapper->setMapping( o = new KPushButton( KGuiItem( i18n("Play VCD"), "cdaudio_unmount" ), this ), VCD );
mapper->setMapping( o = new KPushButton( KGuiItem( i18n("Play VCD"), "media-optical-cdaudio" ), this ), VCD );
connect( o, SIGNAL(clicked()), mapper, SLOT(map()) );
grid->TQLayout::add( o );
mapper->setMapping( o = new KPushButton( KGuiItem( i18n("Play DVD"), "dvd_unmount" ), this ), DVD );
mapper->setMapping( o = new KPushButton( KGuiItem( i18n("Play DVD"), "media-optical-dvd" ), this ), DVD );
connect( o, SIGNAL(clicked()), mapper, SLOT(map()) );
grid->TQLayout::add( o );

@ -22,11 +22,6 @@
#include "xineScope.h"
#define XINE_SAFE_MODE 1
extern "C" { void _debug( const char *string ) { debug() << string; } } //FIXME
namespace Codeine {
@ -111,9 +106,7 @@ VideoWindow::init()
if( !m_xine )
return false;
#ifdef XINE_SAFE_MODE
xine_engine_set_param( m_xine, XINE_ENGINE_PARAM_VERBOSITY, 99 );
#endif
debug() << "xine_config_load()\n";
xine_config_load( m_xine, TQFile::encodeName( TQDir::homeDirPath() + "/.xine/config" ) );
@ -121,6 +114,11 @@ VideoWindow::init()
debug() << "xine_init()\n";
xine_init( m_xine );
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
xine_register_plugins( m_xine, scope_plugin_info );
#endif
debug() << "xine_open_video_driver()\n";
m_videoPort = xine_open_video_driver( m_xine, "auto", XINE_VISUAL_TYPE_X11, videoWindow()->x11Visual() );
@ -147,12 +145,12 @@ VideoWindow::init()
xine_osd_set_text_palette( m_osd, XINE_TEXTPALETTE_WHITE_BLACK_TRANSPARENT, XINE_OSD_TEXT1 );
}
#ifndef XINE_SAFE_MODE
#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10)
debug() << "scope_plugin_new()\n";
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
m_scope = xine_post_init( m_xine, "codeine-scope", 1, &m_audioPort, NULL );
#else
m_scope = scope_plugin_new( m_xine, m_audioPort );
#endif
//FIXME this one seems to make seeking unstable for Codeine, perhaps
xine_set_param( m_stream, XINE_PARAM_METRONOM_PREBUFFER, 6000 ); //less buffering, faster seeking..
@ -265,20 +263,15 @@ VideoWindow::load( const KURL &url )
//TODO popup message for no audio
//TODO popup message for no video + no audio
#ifndef XINE_SAFE_MODE
// ensure old buffers are deleted
// FIXME leaves one erroneous buffer
timerEvent( 0 );
#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10)
if( m_scope ) {
xine_post_out_t *source = xine_get_audio_source( m_stream );
xine_post_in_t *target = (xine_post_in_t*)xine_post_input( m_scope, const_cast<char*>("audio in") );
xine_post_wire( source, target );
}
#endif
#endif
announceStateChange();
@ -579,11 +572,10 @@ VideoWindow::scope()
if( xine_get_status( m_stream ) != XINE_STATUS_PLAY )
return scope;
#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10)
//prune the buffer list and update the m_current_vpts timestamp
timerEvent( 0 );
const int64_t pts_per_smpls = 0; //scope_plugin_pts_per_smpls( m_scope );
for( int channels = xine_get_stream_info( m_stream, XINE_STREAM_INFO_AUDIO_CHANNELS ), frame = 0; frame < SCOPE_SIZE; )
{
MyNode *best_node = 0;
@ -599,7 +591,7 @@ VideoWindow::scope()
diff = m_current_vpts;
diff -= best_node->vpts;
diff *= 1<<16;
diff /= myMetronom->pts_per_smpls;
diff /= pts_per_smpls;
const int16_t*
data16 = best_node->mem;
@ -627,7 +619,6 @@ VideoWindow::scope()
m_current_vpts = best_node->vpts_end;
m_current_vpts++; //FIXME needs to be done for some reason, or you get situations where it uses same buffer again and again
}
#endif
return scope;
}
@ -635,10 +626,7 @@ VideoWindow::scope()
void
VideoWindow::timerEvent( TQTimerEvent* )
{
#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10)
/// here we prune the buffer list regularly
#ifndef XINE_SAFE_MODE
MyNode * const first_node = myList->next;
MyNode const * const list_end = myList;
@ -661,8 +649,6 @@ VideoWindow::timerEvent( TQTimerEvent* )
prev = node;
}
#endif
#endif
}
void

@ -1,8 +1,6 @@
/* Author: Max Howell <max.howell@methylblue.com>, (C) 2004
Copyright: See COPYING file that comes with this distribution */
/* gcc doesn't like inline for me */
#define inline
/* need access to port_ticket */
#define XINE_ENGINE_INTERNAL
@ -12,16 +10,10 @@
static MyNode theList;
static metronom_t theMetronom;
static int myChannels = 0;
static int64_t pts_per_smpls;
MyNode* const myList = &theList;
metronom_t* const myMetronom = &theMetronom;
/* defined in xineEngine.cpp */
extern void _debug( const char * );
/*************************
* post plugin functions *
@ -30,9 +22,7 @@ extern void _debug( const char * );
static int
scope_port_open( xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode )
{
_debug( "scope_port_open()\n" );
#define port ((post_audio_port_t*)port_gen)
post_audio_port_t *port = (post_audio_port_t *)port_gen;
_x_post_rewire( (post_plugin_t*)port->post );
_x_post_inc_usage( port );
@ -44,13 +34,20 @@ scope_port_open( xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bi
myChannels = _x_ao_mode2channels( mode );
return port->original_port->open( port->original_port, stream, bits, rate, mode );
int ret = port->original_port->open( port->original_port, stream, bits, rate, mode );
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
pts_per_smpls = ((uint32_t)90000 * (uint32_t)32768) / rate;
#else
pts_per_smpls = stream->metronom->pts_per_smpls;
#endif
return ret;
}
static void
scope_port_close( xine_audio_port_t *port_gen, xine_stream_t *stream )
{
_debug( "scope_port_close()\n" );
post_audio_port_t *port = (post_audio_port_t *)port_gen;
port->stream = NULL;
port->original_port->close( port->original_port, stream );
@ -61,28 +58,29 @@ scope_port_close( xine_audio_port_t *port_gen, xine_stream_t *stream )
static void
scope_port_put_buffer( xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream )
{
#if XINE_MAJOR_VERSION < 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION < 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10)
MyNode *new_node;
const int num_samples = buf->num_frames * myChannels;
post_audio_port_t *port = (post_audio_port_t *)port_gen;
/* we are too simple to handle 8bit */
/* what does it mean when stream == NULL? */
if( port->bits == 8 ) {
port->original_port->put_buffer( port->original_port, buf, stream ); return; }
/* I keep my own metronom because xine wouldn't for some reason */
memcpy( myMetronom, stream->metronom, sizeof(metronom_t) );
MyNode *new_node;
const int num_samples = buf->num_frames * myChannels;
new_node = malloc( sizeof(MyNode) );
new_node->vpts = myMetronom->got_audio_samples( myMetronom, buf->vpts, buf->num_frames );
#ifdef METRONOM_VPTS
new_node->vpts = stream->metronom->get_option(stream->metronom, METRONOM_VPTS);
#else
new_node->vpts = stream->metronom->got_audio_samples( stream->metronom, 0, 0 );
#endif
new_node->num_frames = buf->num_frames;
new_node->mem = malloc( num_samples * 2 );
memcpy( new_node->mem, buf->mem, num_samples * 2 );
{
int64_t
K = myMetronom->pts_per_smpls; /*smpls = 1<<16 samples*/
K = pts_per_smpls; /*smpls = 1<<16 samples*/
K *= num_samples;
K /= (1<<16);
K += new_node->vpts;
@ -97,9 +95,6 @@ scope_port_put_buffer( xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_st
* NOTE this is thread-safe due to the way we handle the list in the GUI thread */
new_node->next = myList->next;
myList->next = new_node;
#endif
#undef port
}
static void
@ -113,13 +108,17 @@ scope_dispose( post_plugin_t *this )
* plugin init function *
************************/
xine_post_t*
scope_plugin_new( xine_t *xine, xine_audio_port_t *audio_target )
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
static post_plugin_t* scope_plugin_new( post_class_t *class_gen, int inputs, xine_audio_port_t *audio_target[], xine_video_port_t *video_target[] )
#else
xine_post_t* scope_plugin_new( xine_t *xine, xine_audio_port_t *audio_target )
#endif
{
if( audio_target == NULL )
return NULL;
post_plugin_t *post_plugin = xine_xmalloc( sizeof(post_plugin_t) );
post_plugin_t *post_plugin = calloc( 1, sizeof(post_plugin_t) );
{
post_plugin_t *this = post_plugin;
@ -129,7 +128,12 @@ scope_plugin_new( xine_t *xine, xine_audio_port_t *audio_target )
_x_post_init( this, 1, 0 );
port = _x_post_intercept_audio_port( this, audio_target, &input, &output );
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
port = _x_post_intercept_audio_port( post_plugin, audio_target[0], &input, &output );
#else
port = _x_post_intercept_audio_port( post_plugin, audio_target, &input, &output );
#endif
port->new_port.open = scope_port_open;
port->new_port.close = scope_port_close;
port->new_port.put_buffer = scope_port_put_buffer;
@ -145,10 +149,46 @@ scope_plugin_new( xine_t *xine, xine_audio_port_t *audio_target )
/* code is straight from xine_init_post()
can't use that function as it only dlopens the plugins
and our plugin is statically linked in */
post_plugin->running_ticket = xine->port_ticket;
post_plugin->xine = xine;
#endif
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
return post_plugin;
#else
return &post_plugin->xine_post;
#endif
}
int64_t scope_plugin_pts_per_smpls( void *post )
{
return pts_per_smpls;
}
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
static void *scope_init_plugin(xine_t *xine, const void *data)
{
static const post_class_t post_scope_class = {
.open_plugin = scope_plugin_new,
.identifier = "codeine-scope",
.description = "Codeine Scope",
.dispose = NULL,
};
(void)xine;
(void)data;
return (void*)&post_scope_class;
}
static const post_info_t scope_special_info = {
.type = XINE_POST_TYPE_AUDIO_VISUALIZATION,
};
const plugin_info_t scope_plugin_info[] = {
{ PLUGIN_POST, 10, "codeine-scope", XINE_VERSION_CODE, &scope_special_info, scope_init_plugin },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
};
#endif

@ -1,38 +1,51 @@
/* Author: Max Howell <max.howell@methylblue.com>, (C) 2004
Copyright: See COPYING file that comes with this distribution
This has to be a c file or for some reason it won't link! (GCC 3.4.1)
*/
#ifndef XINESCOPE_H
#define XINESCOPE_H
/* need access to some stuff for scope time stamping */
#define METRONOM_INTERNAL
#include <sys/types.h>
#include <xine/metronom.h>
typedef struct my_node_s MyNode;
struct my_node_s
{
MyNode *next;
int16_t *mem;
int num_frames;
int64_t vpts;
int64_t vpts_end;
};
extern metronom_t* const myMetronom;
extern MyNode* const myList;
#ifdef __cplusplus
extern "C"
{
xine_post_t*
scope_plugin_new( xine_t*, xine_audio_port_t* );
}
#endif
#endif
/* Author: Max Howell <max.howell@methylblue.com>, (C) 2004
Copyright: See COPYING file that comes with this distribution
This has to be a c file or for some reason it won't link! (GCC 3.4.1)
*/
#ifndef XINESCOPE_H
#define XINESCOPE_H
/* need access to some stuff for scope time stamping */
#define METRONOM_INTERNAL
#include <sys/types.h>
#include <xine/metronom.h>
#ifdef __cplusplus
extern "C"
{
#endif
#include <xine/xine_plugin.h>
#ifdef __cplusplus
}
#endif
typedef struct my_node_s MyNode;
struct my_node_s
{
MyNode *next;
int16_t *mem;
int num_frames;
int64_t vpts;
int64_t vpts_end;
};
extern MyNode* const myList;
#ifdef __cplusplus
extern "C"
{
#if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION >= 10)
extern const plugin_info_t scope_plugin_info[];
#else
xine_post_t* scope_plugin_new( xine_t*, xine_audio_port_t* );
#endif
int64_t scope_plugin_pts_per_smpls( void* );
}
#endif
#endif

@ -1 +0,0 @@
tde_auto_add_subdirectories()

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
# Slávek Banko <slavek.banko@axis.cz>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+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"
"PO-Revision-Date: 2020-08-19 19:59+0000\n"
"Last-Translator: Slávek Banko <slavek.banko@axis.cz>\n"
"Language-Team: Czech <https://mirror.git.trinitydesktop.org/weblate/projects/"
"applications/codeine-desktop-files/cs/>\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"
"X-Generator: Weblate 4.1.1\n"
#. Name
#: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine"
msgstr ""
msgstr "Codeine"
#. GenericName
#: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Přehrávač médií"
#. Comment
#: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible"
msgstr ""
msgstr "Přehrávač videa pro TDE navržený tak, aby byl co nejjednodušší"
#. Comment
#: codeine_part.desktop:5
msgid "Embeddable Video Player"
msgstr ""
msgstr "Zabudovatelný přehrávač videa"
#. Name
#: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
# blu.256 <mavridisf@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+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"
"PO-Revision-Date: 2020-12-30 17:15+0000\n"
"Last-Translator: blu.256 <mavridisf@gmail.com>\n"
"Language-Team: Greek <https://mirror.git.trinitydesktop.org/weblate/projects/"
"applications/codeine-desktop-files/el/>\n"
"Language: el\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"
"X-Generator: Weblate 4.4\n"
#. Name
#: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine"
msgstr ""
msgstr "Codeine"
#. GenericName
#: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Αναπαραγωγέας μέσων"
#. Comment
#: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible"
msgstr ""
msgstr "Αναπαραγωγέας πολυμέσων για TDE σχεδιασμένο για απλότητα χρήσης"
#. Comment
#: codeine_part.desktop:5
msgid "Embeddable Video Player"
msgstr ""
msgstr "Ενσωματώσιμος αναπαραγωγέας"
#. Name
#: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
# Michele Calgaro <michele.calgaro@yahoo.it>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+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"
"PO-Revision-Date: 2020-11-10 04:59+0000\n"
"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
"projects/applications/codeine-desktop-files/it/>\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"
"X-Generator: Weblate 4.3.2\n"
#. Name
#: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine"
msgstr ""
msgstr "Codeine"
#. GenericName
#: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Lettore multimediale"
#. Comment
#: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible"
msgstr ""
msgstr "Lettore video per TDE progettato per essere il più semplice possibile"
#. Comment
#: codeine_part.desktop:5
msgid "Embeddable Video Player"
msgstr ""
msgstr "Lettore video incorporabile"
#. Name
#: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
# Heimen Stoffels <vistausss@outlook.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+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"
"PO-Revision-Date: 2020-10-09 08:24+0000\n"
"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
"Language-Team: Dutch <https://mirror.git.trinitydesktop.org/weblate/projects/"
"applications/codeine-desktop-files/nl/>\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"
"X-Generator: Weblate 4.2.2\n"
#. Name
#: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine"
msgstr ""
msgstr "Codeine"
#. GenericName
#: codeine.desktop:5
@ -29,14 +30,14 @@ msgstr "Mediaspeler"
#. Comment
#: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible"
msgstr ""
msgstr "Een videospeler voor TDE met een zo eenvoudig mogelijk ontwerp"
#. Comment
#: codeine_part.desktop:5
msgid "Embeddable Video Player"
msgstr ""
msgstr "Ingebedde videospeler"
#. Name
#: codeine_play_dvd.desktop:8
msgid "Play DVD with Codeine"
msgstr "DVD met Codeine afspelen"
msgstr "DVD afspelen met Codeine"

@ -1,40 +1,42 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
# Marek W <coronzon88@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+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"
"PO-Revision-Date: 2021-10-18 21:31+0000\n"
"Last-Translator: Marek W <coronzon88@gmail.com>\n"
"Language-Team: Polish <https://mirror.git.trinitydesktop.org/weblate/"
"projects/applications/codeine-desktop-files/pl/>\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"
"X-Generator: Weblate 4.8.1\n"
#. Name
#: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine"
msgstr ""
msgstr "Codeine"
#. GenericName
#: codeine.desktop:5
msgid "Media Player"
msgstr ""
msgstr "Odtwarzacz multimedialny"
#. Comment
#: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible"
msgstr ""
msgstr "Prosty odtwarzacz wideo dla TDE"
#. Comment
#: codeine_part.desktop:5
msgid "Embeddable Video Player"
msgstr ""
msgstr "Odtwarzacz wideo do wbudowania"
#. Name
#: codeine_play_dvd.desktop:8

@ -1,25 +1,27 @@
# SOME DESCRIPTIVE TITLE.
# This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
# blu.256 <mavridisf@gmail.com>, 2020.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+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"
"PO-Revision-Date: 2020-12-30 17:15+0000\n"
"Last-Translator: blu.256 <mavridisf@gmail.com>\n"
"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
"projects/applications/codeine-desktop-files/ru/>\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"
"X-Generator: Weblate 4.4\n"
#. Name
#: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine"
msgstr ""
msgstr "Codei"
#. GenericName
#: codeine.desktop:5
@ -29,14 +31,14 @@ msgstr "Медиаплеер"
#. Comment
#: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible"
msgstr ""
msgstr "Видеоплеер для TDE, созданный ради простоты пользования"
#. Comment
#: codeine_part.desktop:5
msgid "Embeddable Video Player"
msgstr ""
msgstr "Встраиваемый видеоплеер"
#. Name
#: codeine_play_dvd.desktop:8
msgid "Play DVD with Codeine"
msgstr ""
msgstr "Воспроизведение DVD-диска с помощью Codeine"

@ -1,14 +0,0 @@
file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po )
string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
foreach( _po ${po_files} )
get_filename_component( _lang ${_po} NAME_WE )
if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" )
if( "${_po}" MATCHES "^([^/]*)/.*" )
string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" )
else( )
set( _component "${PROJECT_NAME}" )
endif( )
tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} )
endif( )
endforeach( )

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2020-06-28 16:37+0200\n"
"POT-Creation-Date: 2020-07-26 21:31+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"
@ -27,7 +27,7 @@ msgid ""
"Your emails"
msgstr ""
#: app/actions.cpp:13 part/part.cpp:38
#: app/actions.cpp:15 part/part.cpp:38
msgid "Play"
msgstr ""
@ -76,23 +76,23 @@ msgstr ""
msgid "F&ull Screen Mode"
msgstr ""
#: app/insertAspectRatioMenuItems.cpp:15
#: app/insertAspectRatioMenuItems.cpp:16
msgid "Determine &Automatically"
msgstr ""
#: app/insertAspectRatioMenuItems.cpp:17
#: app/insertAspectRatioMenuItems.cpp:18
msgid "&Square (1:1)"
msgstr ""
#: app/insertAspectRatioMenuItems.cpp:18
#: app/insertAspectRatioMenuItems.cpp:19
msgid "&4:3"
msgstr ""
#: app/insertAspectRatioMenuItems.cpp:19
#: app/insertAspectRatioMenuItems.cpp:20
msgid "Ana&morphic (16:9)"
msgstr ""
#: app/insertAspectRatioMenuItems.cpp:20
#: app/insertAspectRatioMenuItems.cpp:21
msgid "&DVB (2.11:1)"
msgstr ""
@ -132,79 +132,79 @@ msgstr ""
msgid "Patches, advice and moral support"
msgstr ""
#: app/mainWindow.cpp:129
#: app/mainWindow.cpp:131
msgid "&Subtitles"
msgstr ""
#: app/mainWindow.cpp:130
#: app/mainWindow.cpp:132
msgid "A&udio Channels"
msgstr ""
#: app/mainWindow.cpp:131
#: app/mainWindow.cpp:133
msgid "Aspect &Ratio"
msgstr ""
#: app/mainWindow.cpp:248
#: app/mainWindow.cpp:250
msgid "Play &Media..."
msgstr ""
#: app/mainWindow.cpp:254
#: app/mainWindow.cpp:256
msgid "Record"
msgstr ""
#: app/mainWindow.cpp:256
#: app/mainWindow.cpp:258
msgid "Reset Video Scale"
msgstr ""
#: app/mainWindow.cpp:257 app/mainWindow.cpp:590
#: app/mainWindow.cpp:259 app/mainWindow.cpp:592
msgid "Media Information"
msgstr ""
#: app/mainWindow.cpp:258
#: app/mainWindow.cpp:260
msgid "Menu Toggle"
msgstr ""
#: app/mainWindow.cpp:259
#: app/mainWindow.cpp:261
msgid "&Capture Frame"
msgstr ""
#: app/mainWindow.cpp:261
#: app/mainWindow.cpp:263
msgid "Video Settings..."
msgstr ""
#: app/mainWindow.cpp:262
#: app/mainWindow.cpp:264
msgid "Configure xine..."
msgstr ""
#: app/mainWindow.cpp:264
#: app/mainWindow.cpp:266
msgid "Position Slider"
msgstr ""
#: app/mainWindow.cpp:362
#: app/mainWindow.cpp:364
msgid "Codeine was asked to open an empty URL; it cannot."
msgstr ""
#: app/mainWindow.cpp:424
#: app/mainWindow.cpp:426
msgid "Supported Media Formats"
msgstr ""
#: app/mainWindow.cpp:424
#: app/mainWindow.cpp:426
msgid "All Files"
msgstr ""
#: app/mainWindow.cpp:425
#: app/mainWindow.cpp:427
msgid "Select A File To Play"
msgstr ""
#: app/mainWindow.cpp:605
#: app/mainWindow.cpp:607
msgid "&Determine Automatically"
msgstr ""
#: app/mainWindow.cpp:617
#: app/mainWindow.cpp:619
msgid "&Off"
msgstr ""
#: app/mainWindow.cpp:659
#: app/mainWindow.cpp:661
msgid "Sorry, no media was found in the drop"
msgstr ""
@ -267,83 +267,83 @@ msgstr ""
msgid "Paused"
msgstr ""
#: app/theStream.cpp:107
#: app/theStream.cpp:108
msgid "Metadata"
msgstr ""
#: app/theStream.cpp:109
#: app/theStream.cpp:110
msgid "Title"
msgstr ""
#: app/theStream.cpp:110
#: app/theStream.cpp:111
msgid "Comment"
msgstr ""
#: app/theStream.cpp:111
#: app/theStream.cpp:112
msgid "Artist"
msgstr ""
#: app/theStream.cpp:112
#: app/theStream.cpp:113
msgid "Genre"
msgstr ""
#: app/theStream.cpp:113
#: app/theStream.cpp:114
msgid "Album"
msgstr ""
#: app/theStream.cpp:114
#: app/theStream.cpp:115
msgid "Year"
msgstr ""
#: app/theStream.cpp:116
#: app/theStream.cpp:117
msgid "Audio Properties"
msgstr ""
#: app/theStream.cpp:118
#: app/theStream.cpp:119
msgid "Bitrate"
msgstr ""
#: app/theStream.cpp:118
#: app/theStream.cpp:119
msgid "%1 bps"
msgstr ""
#: app/theStream.cpp:119
#: app/theStream.cpp:120
msgid "Sample-rate"
msgstr ""
#: app/theStream.cpp:119
#: app/theStream.cpp:120
msgid "%1 Hz"
msgstr ""
#: app/theStream.cpp:121
#: app/theStream.cpp:122
msgid "Technical Information"
msgstr ""
#: app/theStream.cpp:123
#: app/theStream.cpp:124
msgid "Video Codec"
msgstr ""
#: app/theStream.cpp:124
#: app/theStream.cpp:125
msgid "Audio Codec"
msgstr ""
#: app/theStream.cpp:125
#: app/theStream.cpp:126
msgid "System Layer"
msgstr ""
#: app/theStream.cpp:126
#: app/theStream.cpp:127
msgid "Input Plugin"
msgstr ""
#: app/theStream.cpp:127
#: app/theStream.cpp:128
msgid "CDINDEX_DISCID"
msgstr ""
#: app/videoSettings.cpp:91
#: app/videoSettings.cpp:92
msgid "Video Settings"
msgstr ""
#: app/videoWindow.cpp:135
#: app/videoWindow.cpp:136
msgid "Pause"
msgstr ""
@ -356,112 +356,112 @@ msgstr ""
msgid "Volume: %1"
msgstr ""
#: app/xineConfig.cpp:60
#: app/xineConfig.cpp:62
msgid "Configure xine"
msgstr ""
#: app/xineConfig.cpp:85
#: app/xineConfig.cpp:87
msgid ""
"xine's defaults are usually sensible and should not require modification. "
"However, full configurability is provided for your pleasure ;-)."
msgstr ""
#: app/xineEngine.cpp:138 part/xineEngine.cpp:50
#: app/xineEngine.cpp:137 part/xineEngine.cpp:50
msgid "xine was unable to initialize any video-drivers."
msgstr ""
#: app/xineEngine.cpp:140 part/xineEngine.cpp:48
#: app/xineEngine.cpp:139 part/xineEngine.cpp:48
msgid "xine was unable to initialize any audio-drivers."
msgstr ""
#: app/xineEngine.cpp:245
#: app/xineEngine.cpp:244
#, c-format
msgid "Loading media: %1"
msgstr ""
#: app/xineEngine.cpp:355
#: app/xineEngine.cpp:349
#, c-format
msgid "Recording to: %1"
msgstr ""
#: app/xineEngine.cpp:386
#: app/xineEngine.cpp:380
msgid "Playback paused"
msgstr ""
#: app/xineEngine.cpp:391
#: app/xineEngine.cpp:385
msgid "Playback resumed"
msgstr ""
#: app/xineEngine.cpp:404
#: app/xineEngine.cpp:398
#, c-format
msgid "There is no input plugin that can read: %1."
msgstr ""
#: app/xineEngine.cpp:407
#: app/xineEngine.cpp:401
#, c-format
msgid "There is no demux plugin available for %1."
msgstr ""
#: app/xineEngine.cpp:410
#: app/xineEngine.cpp:404
#, c-format
msgid "Demuxing failed for %1."
msgstr ""
#: app/xineEngine.cpp:415
#: app/xineEngine.cpp:409
#, c-format
msgid "Internal error while attempting to play %1."
msgstr ""
#: app/xineEngine.cpp:503
#: app/xineEngine.cpp:497
msgid "xine cannot currently seek in flac media"
msgstr ""
#: app/xineEngine.cpp:688 app/xineEngine.cpp:696
#: app/xineEngine.cpp:675 app/xineEngine.cpp:683
#, c-format
msgid "Channel %1"
msgstr ""
#: app/xineEngine.cpp:795 part/xineEngine.cpp:289
#: app/xineEngine.cpp:782 part/xineEngine.cpp:289
msgid "The source is encrypted and can not be decrypted."
msgstr ""
#: app/xineEngine.cpp:797 part/xineEngine.cpp:291
#: app/xineEngine.cpp:784 part/xineEngine.cpp:291
msgid "The host is unknown for the URL: <i>%1</i>"
msgstr ""
#: app/xineEngine.cpp:799 part/xineEngine.cpp:293
#: app/xineEngine.cpp:786 part/xineEngine.cpp:293
msgid "The device name you specified seems invalid."
msgstr ""
#: app/xineEngine.cpp:801 part/xineEngine.cpp:295
#: app/xineEngine.cpp:788 part/xineEngine.cpp:295
msgid "The network appears unreachable."
msgstr ""
#: app/xineEngine.cpp:803 part/xineEngine.cpp:297
#: app/xineEngine.cpp:790 part/xineEngine.cpp:297
msgid "Audio output unavailable; the device is busy."
msgstr ""
#: app/xineEngine.cpp:805 part/xineEngine.cpp:299
#: app/xineEngine.cpp:792 part/xineEngine.cpp:299
msgid "The connection was refused for the URL: <i>%1</i>"
msgstr ""
#: app/xineEngine.cpp:807 part/xineEngine.cpp:301
#: app/xineEngine.cpp:794 part/xineEngine.cpp:301
msgid "xine could not find the URL: <i>%1</i>"
msgstr ""
#: app/xineEngine.cpp:809 part/xineEngine.cpp:303
#: app/xineEngine.cpp:796 part/xineEngine.cpp:303
msgid "Access was denied for the URL: <i>%1</i>"
msgstr ""
#: app/xineEngine.cpp:811 part/xineEngine.cpp:305
#: app/xineEngine.cpp:798 part/xineEngine.cpp:305
msgid "The source cannot be read for the URL: <i>%1</i>"
msgstr ""
#: app/xineEngine.cpp:813 part/xineEngine.cpp:307
#: app/xineEngine.cpp:800 part/xineEngine.cpp:307
msgid "A problem occurred while loading a library or decoder."
msgstr ""
#: app/xineEngine.cpp:840 part/xineEngine.cpp:334
#: app/xineEngine.cpp:827 part/xineEngine.cpp:334
msgid "Sorry, no additional information is available."
msgstr ""

Loading…
Cancel
Save