Compare commits

...

36 Commits

Author SHA1 Message Date
Slávek Banko 9b004312b2
Raise the minimum required version of CMake to 3.1 in CMakeL10n rules.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 0a79d229af)
4 years ago
Slávek Banko aa46014316
Raise the minimum required version of CMake to 3.1.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 2ab437b189)
4 years ago
TDE Gitea 4cc0bd4c67 Merge translation files from master branch. 4 years ago
TDE Gitea 4ab1fa876a Merge translation files from master branch. 4 years ago
TDE Gitea 27700dd17f Merge translation files from master branch. 4 years ago
Slávek Banko 499937c2e5
Update version number to R14.0.12.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
4 years ago
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

@ -9,7 +9,7 @@
# #
################################################# #################################################
cmake_minimum_required( VERSION 2.8 ) cmake_minimum_required( VERSION 3.1 )
##### include our cmake modules ################# ##### include our cmake modules #################

@ -7,13 +7,13 @@
############################################ ############################################
cmake_minimum_required( VERSION 2.8 ) cmake_minimum_required( VERSION 3.1 )
#### general package setup #### general package setup
project( codeine ) project( codeine )
set( VERSION R14.1.0 ) set( VERSION R14.0.12 )
#### include essential cmake modules #### 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( src )
add_subdirectory( misc ) 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 ##### 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; &documentation.index;
</book> </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("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("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("&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" ); 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 ); TQGridLayout *grid = new TQGridLayout( vbox, 1, 3, 20 );
//TODO use the kguiItems from the actions //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()) ); connect( o, SIGNAL(clicked()), mapper, SLOT(map()) );
grid->TQLayout::add( o ); 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()) ); connect( o, SIGNAL(clicked()), mapper, SLOT(map()) );
grid->TQLayout::add( o ); 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()) ); connect( o, SIGNAL(clicked()), mapper, SLOT(map()) );
grid->TQLayout::add( o ); grid->TQLayout::add( o );

@ -22,11 +22,6 @@
#include "xineScope.h" #include "xineScope.h"
#define XINE_SAFE_MODE 1
extern "C" { void _debug( const char *string ) { debug() << string; } } //FIXME
namespace Codeine { namespace Codeine {
@ -111,9 +106,7 @@ VideoWindow::init()
if( !m_xine ) if( !m_xine )
return false; return false;
#ifdef XINE_SAFE_MODE
xine_engine_set_param( m_xine, XINE_ENGINE_PARAM_VERBOSITY, 99 ); xine_engine_set_param( m_xine, XINE_ENGINE_PARAM_VERBOSITY, 99 );
#endif
debug() << "xine_config_load()\n"; debug() << "xine_config_load()\n";
xine_config_load( m_xine, TQFile::encodeName( TQDir::homeDirPath() + "/.xine/config" ) ); xine_config_load( m_xine, TQFile::encodeName( TQDir::homeDirPath() + "/.xine/config" ) );
@ -121,6 +114,11 @@ VideoWindow::init()
debug() << "xine_init()\n"; debug() << "xine_init()\n";
xine_init( m_xine ); 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"; debug() << "xine_open_video_driver()\n";
m_videoPort = xine_open_video_driver( m_xine, "auto", XINE_VISUAL_TYPE_X11, videoWindow()->x11Visual() ); 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 ); 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"; 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 ); m_scope = scope_plugin_new( m_xine, m_audioPort );
#endif
//FIXME this one seems to make seeking unstable for Codeine, perhaps //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.. 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 audio
//TODO popup message for no video + no audio //TODO popup message for no video + no audio
#ifndef XINE_SAFE_MODE
// ensure old buffers are deleted // ensure old buffers are deleted
// FIXME leaves one erroneous buffer // FIXME leaves one erroneous buffer
timerEvent( 0 ); 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 ) { if( m_scope ) {
xine_post_out_t *source = xine_get_audio_source( m_stream ); 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_in_t *target = (xine_post_in_t*)xine_post_input( m_scope, const_cast<char*>("audio in") );
xine_post_wire( source, target ); xine_post_wire( source, target );
} }
#endif
#endif
announceStateChange(); announceStateChange();
@ -579,11 +572,10 @@ VideoWindow::scope()
if( xine_get_status( m_stream ) != XINE_STATUS_PLAY ) if( xine_get_status( m_stream ) != XINE_STATUS_PLAY )
return scope; 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 //prune the buffer list and update the m_current_vpts timestamp
timerEvent( 0 ); 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; ) for( int channels = xine_get_stream_info( m_stream, XINE_STREAM_INFO_AUDIO_CHANNELS ), frame = 0; frame < SCOPE_SIZE; )
{ {
MyNode *best_node = 0; MyNode *best_node = 0;
@ -599,7 +591,7 @@ VideoWindow::scope()
diff = m_current_vpts; diff = m_current_vpts;
diff -= best_node->vpts; diff -= best_node->vpts;
diff *= 1<<16; diff *= 1<<16;
diff /= myMetronom->pts_per_smpls; diff /= pts_per_smpls;
const int16_t* const int16_t*
data16 = best_node->mem; data16 = best_node->mem;
@ -627,7 +619,6 @@ VideoWindow::scope()
m_current_vpts = best_node->vpts_end; 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 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; return scope;
} }
@ -635,10 +626,7 @@ VideoWindow::scope()
void void
VideoWindow::timerEvent( TQTimerEvent* ) 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 /// here we prune the buffer list regularly
#ifndef XINE_SAFE_MODE
MyNode * const first_node = myList->next; MyNode * const first_node = myList->next;
MyNode const * const list_end = myList; MyNode const * const list_end = myList;
@ -661,8 +649,6 @@ VideoWindow::timerEvent( TQTimerEvent* )
prev = node; prev = node;
} }
#endif
#endif
} }
void void

@ -1,8 +1,6 @@
/* Author: Max Howell <max.howell@methylblue.com>, (C) 2004 /* Author: Max Howell <max.howell@methylblue.com>, (C) 2004
Copyright: See COPYING file that comes with this distribution */ Copyright: See COPYING file that comes with this distribution */
/* gcc doesn't like inline for me */
#define inline
/* need access to port_ticket */ /* need access to port_ticket */
#define XINE_ENGINE_INTERNAL #define XINE_ENGINE_INTERNAL
@ -12,16 +10,10 @@
static MyNode theList; static MyNode theList;
static metronom_t theMetronom;
static int myChannels = 0; static int myChannels = 0;
static int64_t pts_per_smpls;
MyNode* const myList = &theList; MyNode* const myList = &theList;
metronom_t* const myMetronom = &theMetronom;
/* defined in xineEngine.cpp */
extern void _debug( const char * );
/************************* /*************************
* post plugin functions * * post plugin functions *
@ -30,9 +22,7 @@ extern void _debug( const char * );
static int static int
scope_port_open( xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode ) 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" ); post_audio_port_t *port = (post_audio_port_t *)port_gen;
#define port ((post_audio_port_t*)port_gen)
_x_post_rewire( (post_plugin_t*)port->post ); _x_post_rewire( (post_plugin_t*)port->post );
_x_post_inc_usage( port ); _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 ); 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 static void
scope_port_close( xine_audio_port_t *port_gen, xine_stream_t *stream ) 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->stream = NULL;
port->original_port->close( port->original_port, stream ); 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 static void
scope_port_put_buffer( xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream ) 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) || \ post_audio_port_t *port = (post_audio_port_t *)port_gen;
(XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION == 2 && XINE_SUB_VERSION < 10)
MyNode *new_node;
const int num_samples = buf->num_frames * myChannels;
/* we are too simple to handle 8bit */ /* we are too simple to handle 8bit */
/* what does it mean when stream == NULL? */ /* what does it mean when stream == NULL? */
if( port->bits == 8 ) { if( port->bits == 8 ) {
port->original_port->put_buffer( port->original_port, buf, stream ); return; } port->original_port->put_buffer( port->original_port, buf, stream ); return; }
/* I keep my own metronom because xine wouldn't for some reason */ MyNode *new_node;
memcpy( myMetronom, stream->metronom, sizeof(metronom_t) ); const int num_samples = buf->num_frames * myChannels;
new_node = malloc( sizeof(MyNode) ); 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->num_frames = buf->num_frames;
new_node->mem = malloc( num_samples * 2 ); new_node->mem = malloc( num_samples * 2 );
memcpy( new_node->mem, buf->mem, num_samples * 2 ); memcpy( new_node->mem, buf->mem, num_samples * 2 );
{ {
int64_t int64_t
K = myMetronom->pts_per_smpls; /*smpls = 1<<16 samples*/ K = pts_per_smpls; /*smpls = 1<<16 samples*/
K *= num_samples; K *= num_samples;
K /= (1<<16); K /= (1<<16);
K += new_node->vpts; 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 */ * NOTE this is thread-safe due to the way we handle the list in the GUI thread */
new_node->next = myList->next; new_node->next = myList->next;
myList->next = new_node; myList->next = new_node;
#endif
#undef port
} }
static void static void
@ -113,13 +108,17 @@ scope_dispose( post_plugin_t *this )
* plugin init function * * plugin init function *
************************/ ************************/
xine_post_t* #if XINE_MAJOR_VERSION > 1 || (XINE_MAJOR_VERSION == 1 && XINE_MINOR_VERSION > 2) || \
scope_plugin_new( xine_t *xine, xine_audio_port_t *audio_target ) (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 ) if( audio_target == NULL )
return 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; 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 ); _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.open = scope_port_open;
port->new_port.close = scope_port_close; port->new_port.close = scope_port_close;
port->new_port.put_buffer = scope_port_put_buffer; 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() /* code is straight from xine_init_post()
can't use that function as it only dlopens the plugins can't use that function as it only dlopens the plugins
and our plugin is statically linked in */ and our plugin is statically linked in */
post_plugin->running_ticket = xine->port_ticket; post_plugin->running_ticket = xine->port_ticket;
post_plugin->xine = xine; post_plugin->xine = xine;
#endif #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; 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 /* Author: Max Howell <max.howell@methylblue.com>, (C) 2004
Copyright: See COPYING file that comes with this distribution 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) This has to be a c file or for some reason it won't link! (GCC 3.4.1)
*/ */
#ifndef XINESCOPE_H #ifndef XINESCOPE_H
#define XINESCOPE_H #define XINESCOPE_H
/* need access to some stuff for scope time stamping */ /* need access to some stuff for scope time stamping */
#define METRONOM_INTERNAL #define METRONOM_INTERNAL
#include <sys/types.h> #include <sys/types.h>
#include <xine/metronom.h> #include <xine/metronom.h>
typedef struct my_node_s MyNode; #ifdef __cplusplus
extern "C"
struct my_node_s {
{ #endif
MyNode *next; #include <xine/xine_plugin.h>
int16_t *mem; #ifdef __cplusplus
int num_frames; }
int64_t vpts; #endif
int64_t vpts_end;
}; typedef struct my_node_s MyNode;
extern metronom_t* const myMetronom; struct my_node_s
extern MyNode* const myList; {
MyNode *next;
#ifdef __cplusplus int16_t *mem;
extern "C" int num_frames;
{ int64_t vpts;
xine_post_t* int64_t vpts_end;
scope_plugin_new( xine_t*, xine_audio_port_t* ); };
}
#endif extern MyNode* const myList;
#endif #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. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # Slávek Banko <slavek.banko@axis.cz>, 2020.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2020-08-19 19:59+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Slávek Banko <slavek.banko@axis.cz>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Czech <https://mirror.git.trinitydesktop.org/weblate/projects/"
"applications/codeine-desktop-files/cs/>\n"
"Language: cs\n" "Language: cs\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codeine"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Přehrávač médií"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" 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 #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Zabudovatelný přehrávač videa"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # blu.256 <mavridisf@gmail.com>, 2020.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2020-12-30 17:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: blu.256 <mavridisf@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Greek <https://mirror.git.trinitydesktop.org/weblate/projects/"
"applications/codeine-desktop-files/el/>\n"
"Language: el\n" "Language: el\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.4\n"
#. Name #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codeine"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Αναπαραγωγέας μέσων"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" msgid "Video player for TDE designed to be as simple as possible"
msgstr "" msgstr "Αναπαραγωγέας πολυμέσων για TDE σχεδιασμένο για απλότητα χρήσης"
#. Comment #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Ενσωματώσιμος αναπαραγωγέας"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # Michele Calgaro <michele.calgaro@yahoo.it>, 2020.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2020-11-10 04:59+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
"projects/applications/codeine-desktop-files/it/>\n"
"Language: it\n" "Language: it\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. Name #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codeine"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Lettore multimediale"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" 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 #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Lettore video incorporabile"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # Heimen Stoffels <vistausss@outlook.com>, 2020.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2020-10-09 08:24+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Dutch <https://mirror.git.trinitydesktop.org/weblate/projects/"
"applications/codeine-desktop-files/nl/>\n"
"Language: nl\n" "Language: nl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.2.2\n"
#. Name #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codeine"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,14 +30,14 @@ msgstr "Mediaspeler"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" 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 #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Ingebedde videospeler"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8
msgid "Play DVD with Codeine" msgid "Play DVD with Codeine"
msgstr "DVD met Codeine afspelen" msgstr "DVD afspelen met Codeine"

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

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2021-12-03 22:59+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Portuguese <https://mirror.git.trinitydesktop.org/weblate/"
"projects/applications/codeine-desktop-files/pt/>\n"
"Language: pt\n" "Language: pt\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.9.1\n"
#. Name #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codeine"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Leitor Multimédia"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" msgid "Video player for TDE designed to be as simple as possible"
msgstr "" msgstr "Leitor de vídeo para o TDE concebido para ser o mais simples possível"
#. Comment #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Leitor de vídeo incorporado"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8

@ -1,25 +1,26 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>, 2021.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2021-12-17 21:01+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Portuguese (Brazil) <https://mirror.git.trinitydesktop.org/"
"weblate/projects/applications/codeine-desktop-files/pt_BR/>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.9.1\n"
#. Name #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codeine"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,12 +30,12 @@ msgstr "Tocador de Mídia"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" msgid "Video player for TDE designed to be as simple as possible"
msgstr "" msgstr "Tocador de vídeo para o TDE desenhado para ser o mais simples possível"
#. Comment #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Tocador de vídeo embutido"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8

@ -1,25 +1,27 @@
# SOME DESCRIPTIVE TITLE. # SOME DESCRIPTIVE TITLE.
# This file is put in the public domain. # This file is put in the public domain.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # blu.256 <mavridisf@gmail.com>, 2020.
#
#, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-06-28 16:45+0200\n" "POT-Creation-Date: 2020-06-28 16:45+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2020-12-30 17:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: blu.256 <mavridisf@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
"projects/applications/codeine-desktop-files/ru/>\n"
"Language: ru\n" "Language: ru\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 #. Name
#: codeine.desktop:3 codeine_part.desktop:3 #: codeine.desktop:3 codeine_part.desktop:3
msgid "Codeine" msgid "Codeine"
msgstr "" msgstr "Codei"
#. GenericName #. GenericName
#: codeine.desktop:5 #: codeine.desktop:5
@ -29,14 +31,14 @@ msgstr "Медиаплеер"
#. Comment #. Comment
#: codeine.desktop:7 #: codeine.desktop:7
msgid "Video player for TDE designed to be as simple as possible" msgid "Video player for TDE designed to be as simple as possible"
msgstr "" msgstr "Видеоплеер для TDE, созданный ради простоты пользования"
#. Comment #. Comment
#: codeine_part.desktop:5 #: codeine_part.desktop:5
msgid "Embeddable Video Player" msgid "Embeddable Video Player"
msgstr "" msgstr "Встраиваемый видеоплеер"
#. Name #. Name
#: codeine_play_dvd.desktop:8 #: codeine_play_dvd.desktop:8
msgid "Play DVD with Codeine" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -27,7 +27,7 @@ msgid ""
"Your emails" "Your emails"
msgstr "" msgstr ""
#: app/actions.cpp:13 part/part.cpp:38 #: app/actions.cpp:15 part/part.cpp:38
msgid "Play" msgid "Play"
msgstr "" msgstr ""
@ -76,23 +76,23 @@ msgstr ""
msgid "F&ull Screen Mode" msgid "F&ull Screen Mode"
msgstr "" msgstr ""
#: app/insertAspectRatioMenuItems.cpp:15 #: app/insertAspectRatioMenuItems.cpp:16
msgid "Determine &Automatically" msgid "Determine &Automatically"
msgstr "" msgstr ""
#: app/insertAspectRatioMenuItems.cpp:17 #: app/insertAspectRatioMenuItems.cpp:18
msgid "&Square (1:1)" msgid "&Square (1:1)"
msgstr "" msgstr ""
#: app/insertAspectRatioMenuItems.cpp:18 #: app/insertAspectRatioMenuItems.cpp:19
msgid "&4:3" msgid "&4:3"
msgstr "" msgstr ""
#: app/insertAspectRatioMenuItems.cpp:19 #: app/insertAspectRatioMenuItems.cpp:20
msgid "Ana&morphic (16:9)" msgid "Ana&morphic (16:9)"
msgstr "" msgstr ""
#: app/insertAspectRatioMenuItems.cpp:20 #: app/insertAspectRatioMenuItems.cpp:21
msgid "&DVB (2.11:1)" msgid "&DVB (2.11:1)"
msgstr "" msgstr ""
@ -132,79 +132,79 @@ msgstr ""
msgid "Patches, advice and moral support" msgid "Patches, advice and moral support"
msgstr "" msgstr ""
#: app/mainWindow.cpp:129 #: app/mainWindow.cpp:131
msgid "&Subtitles" msgid "&Subtitles"
msgstr "" msgstr ""
#: app/mainWindow.cpp:130 #: app/mainWindow.cpp:132
msgid "A&udio Channels" msgid "A&udio Channels"
msgstr "" msgstr ""
#: app/mainWindow.cpp:131 #: app/mainWindow.cpp:133
msgid "Aspect &Ratio" msgid "Aspect &Ratio"
msgstr "" msgstr ""
#: app/mainWindow.cpp:248 #: app/mainWindow.cpp:250
msgid "Play &Media..." msgid "Play &Media..."
msgstr "" msgstr ""
#: app/mainWindow.cpp:254 #: app/mainWindow.cpp:256
msgid "Record" msgid "Record"
msgstr "" msgstr ""
#: app/mainWindow.cpp:256 #: app/mainWindow.cpp:258
msgid "Reset Video Scale" msgid "Reset Video Scale"
msgstr "" msgstr ""
#: app/mainWindow.cpp:257 app/mainWindow.cpp:590 #: app/mainWindow.cpp:259 app/mainWindow.cpp:592
msgid "Media Information" msgid "Media Information"
msgstr "" msgstr ""
#: app/mainWindow.cpp:258 #: app/mainWindow.cpp:260
msgid "Menu Toggle" msgid "Menu Toggle"
msgstr "" msgstr ""
#: app/mainWindow.cpp:259 #: app/mainWindow.cpp:261
msgid "&Capture Frame" msgid "&Capture Frame"
msgstr "" msgstr ""
#: app/mainWindow.cpp:261 #: app/mainWindow.cpp:263
msgid "Video Settings..." msgid "Video Settings..."
msgstr "" msgstr ""
#: app/mainWindow.cpp:262 #: app/mainWindow.cpp:264
msgid "Configure xine..." msgid "Configure xine..."
msgstr "" msgstr ""
#: app/mainWindow.cpp:264 #: app/mainWindow.cpp:266
msgid "Position Slider" msgid "Position Slider"
msgstr "" msgstr ""
#: app/mainWindow.cpp:362 #: app/mainWindow.cpp:364
msgid "Codeine was asked to open an empty URL; it cannot." msgid "Codeine was asked to open an empty URL; it cannot."
msgstr "" msgstr ""
#: app/mainWindow.cpp:424 #: app/mainWindow.cpp:426
msgid "Supported Media Formats" msgid "Supported Media Formats"
msgstr "" msgstr ""
#: app/mainWindow.cpp:424 #: app/mainWindow.cpp:426
msgid "All Files" msgid "All Files"
msgstr "" msgstr ""
#: app/mainWindow.cpp:425 #: app/mainWindow.cpp:427
msgid "Select A File To Play" msgid "Select A File To Play"
msgstr "" msgstr ""
#: app/mainWindow.cpp:605 #: app/mainWindow.cpp:607
msgid "&Determine Automatically" msgid "&Determine Automatically"
msgstr "" msgstr ""
#: app/mainWindow.cpp:617 #: app/mainWindow.cpp:619
msgid "&Off" msgid "&Off"
msgstr "" msgstr ""
#: app/mainWindow.cpp:659 #: app/mainWindow.cpp:661
msgid "Sorry, no media was found in the drop" msgid "Sorry, no media was found in the drop"
msgstr "" msgstr ""
@ -267,83 +267,83 @@ msgstr ""
msgid "Paused" msgid "Paused"
msgstr "" msgstr ""
#: app/theStream.cpp:107 #: app/theStream.cpp:108
msgid "Metadata" msgid "Metadata"
msgstr "" msgstr ""
#: app/theStream.cpp:109 #: app/theStream.cpp:110
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: app/theStream.cpp:110 #: app/theStream.cpp:111
msgid "Comment" msgid "Comment"
msgstr "" msgstr ""
#: app/theStream.cpp:111 #: app/theStream.cpp:112
msgid "Artist" msgid "Artist"
msgstr "" msgstr ""
#: app/theStream.cpp:112 #: app/theStream.cpp:113
msgid "Genre" msgid "Genre"
msgstr "" msgstr ""
#: app/theStream.cpp:113 #: app/theStream.cpp:114
msgid "Album" msgid "Album"
msgstr "" msgstr ""
#: app/theStream.cpp:114 #: app/theStream.cpp:115
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#: app/theStream.cpp:116 #: app/theStream.cpp:117
msgid "Audio Properties" msgid "Audio Properties"
msgstr "" msgstr ""
#: app/theStream.cpp:118 #: app/theStream.cpp:119
msgid "Bitrate" msgid "Bitrate"
msgstr "" msgstr ""
#: app/theStream.cpp:118 #: app/theStream.cpp:119
msgid "%1 bps" msgid "%1 bps"
msgstr "" msgstr ""
#: app/theStream.cpp:119 #: app/theStream.cpp:120
msgid "Sample-rate" msgid "Sample-rate"
msgstr "" msgstr ""
#: app/theStream.cpp:119 #: app/theStream.cpp:120
msgid "%1 Hz" msgid "%1 Hz"
msgstr "" msgstr ""
#: app/theStream.cpp:121 #: app/theStream.cpp:122
msgid "Technical Information" msgid "Technical Information"
msgstr "" msgstr ""
#: app/theStream.cpp:123 #: app/theStream.cpp:124
msgid "Video Codec" msgid "Video Codec"
msgstr "" msgstr ""
#: app/theStream.cpp:124 #: app/theStream.cpp:125
msgid "Audio Codec" msgid "Audio Codec"
msgstr "" msgstr ""
#: app/theStream.cpp:125 #: app/theStream.cpp:126
msgid "System Layer" msgid "System Layer"
msgstr "" msgstr ""
#: app/theStream.cpp:126 #: app/theStream.cpp:127
msgid "Input Plugin" msgid "Input Plugin"
msgstr "" msgstr ""
#: app/theStream.cpp:127 #: app/theStream.cpp:128
msgid "CDINDEX_DISCID" msgid "CDINDEX_DISCID"
msgstr "" msgstr ""
#: app/videoSettings.cpp:91 #: app/videoSettings.cpp:92
msgid "Video Settings" msgid "Video Settings"
msgstr "" msgstr ""
#: app/videoWindow.cpp:135 #: app/videoWindow.cpp:136
msgid "Pause" msgid "Pause"
msgstr "" msgstr ""
@ -356,112 +356,112 @@ msgstr ""
msgid "Volume: %1" msgid "Volume: %1"
msgstr "" msgstr ""
#: app/xineConfig.cpp:60 #: app/xineConfig.cpp:62
msgid "Configure xine" msgid "Configure xine"
msgstr "" msgstr ""
#: app/xineConfig.cpp:85 #: app/xineConfig.cpp:87
msgid "" msgid ""
"xine's defaults are usually sensible and should not require modification. " "xine's defaults are usually sensible and should not require modification. "
"However, full configurability is provided for your pleasure ;-)." "However, full configurability is provided for your pleasure ;-)."
msgstr "" 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." msgid "xine was unable to initialize any video-drivers."
msgstr "" 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." msgid "xine was unable to initialize any audio-drivers."
msgstr "" msgstr ""
#: app/xineEngine.cpp:245 #: app/xineEngine.cpp:244
#, c-format #, c-format
msgid "Loading media: %1" msgid "Loading media: %1"
msgstr "" msgstr ""
#: app/xineEngine.cpp:355 #: app/xineEngine.cpp:349
#, c-format #, c-format
msgid "Recording to: %1" msgid "Recording to: %1"
msgstr "" msgstr ""
#: app/xineEngine.cpp:386 #: app/xineEngine.cpp:380
msgid "Playback paused" msgid "Playback paused"
msgstr "" msgstr ""
#: app/xineEngine.cpp:391 #: app/xineEngine.cpp:385
msgid "Playback resumed" msgid "Playback resumed"
msgstr "" msgstr ""
#: app/xineEngine.cpp:404 #: app/xineEngine.cpp:398
#, c-format #, c-format
msgid "There is no input plugin that can read: %1." msgid "There is no input plugin that can read: %1."
msgstr "" msgstr ""
#: app/xineEngine.cpp:407 #: app/xineEngine.cpp:401
#, c-format #, c-format
msgid "There is no demux plugin available for %1." msgid "There is no demux plugin available for %1."
msgstr "" msgstr ""
#: app/xineEngine.cpp:410 #: app/xineEngine.cpp:404
#, c-format #, c-format
msgid "Demuxing failed for %1." msgid "Demuxing failed for %1."
msgstr "" msgstr ""
#: app/xineEngine.cpp:415 #: app/xineEngine.cpp:409
#, c-format #, c-format
msgid "Internal error while attempting to play %1." msgid "Internal error while attempting to play %1."
msgstr "" msgstr ""
#: app/xineEngine.cpp:503 #: app/xineEngine.cpp:497
msgid "xine cannot currently seek in flac media" msgid "xine cannot currently seek in flac media"
msgstr "" msgstr ""
#: app/xineEngine.cpp:688 app/xineEngine.cpp:696 #: app/xineEngine.cpp:675 app/xineEngine.cpp:683
#, c-format #, c-format
msgid "Channel %1" msgid "Channel %1"
msgstr "" 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." msgid "The source is encrypted and can not be decrypted."
msgstr "" 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>" msgid "The host is unknown for the URL: <i>%1</i>"
msgstr "" 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." msgid "The device name you specified seems invalid."
msgstr "" msgstr ""
#: app/xineEngine.cpp:801 part/xineEngine.cpp:295 #: app/xineEngine.cpp:788 part/xineEngine.cpp:295
msgid "The network appears unreachable." msgid "The network appears unreachable."
msgstr "" 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." msgid "Audio output unavailable; the device is busy."
msgstr "" 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>" msgid "The connection was refused for the URL: <i>%1</i>"
msgstr "" 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>" msgid "xine could not find the URL: <i>%1</i>"
msgstr "" 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>" msgid "Access was denied for the URL: <i>%1</i>"
msgstr "" 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>" msgid "The source cannot be read for the URL: <i>%1</i>"
msgstr "" 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." msgid "A problem occurred while loading a library or decoder."
msgstr "" msgstr ""
#: app/xineEngine.cpp:840 part/xineEngine.cpp:334 #: app/xineEngine.cpp:827 part/xineEngine.cpp:334
msgid "Sorry, no additional information is available." msgid "Sorry, no additional information is available."
msgstr "" msgstr ""

Loading…
Cancel
Save