summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
authorzecke <zecke>2004-09-24 15:09:56 (UTC)
committer zecke <zecke>2004-09-24 15:09:56 (UTC)
commit8e903cd3ea735adf066e156462602987691a4c69 (patch) (unidiff)
treeb05fe7cc6d46cbacdc47fe3f0411100076bc8a52 /noncore/multimedia/opieplayer2/lib.cpp
parent478b2ead47a09956cadfacb8f469fb2fdee5531c (diff)
downloadopie-8e903cd3ea735adf066e156462602987691a4c69.zip
opie-8e903cd3ea735adf066e156462602987691a4c69.tar.gz
opie-8e903cd3ea735adf066e156462602987691a4c69.tar.bz2
-Emit Progress from the xine Engine to Global::statusMessage
-Change ThreadUtil to pass data and const char* among threads
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index 8afb318..f1b9773 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -37,7 +37,7 @@
37 37
38/* OPIE */ 38/* OPIE */
39#include <opie2/odebug.h> 39#include <opie2/odebug.h>
40using namespace Opie::Core; 40#include <qpe/global.h>
41 41
42/* QT */ 42/* QT */
43#include <qtextstream.h> 43#include <qtextstream.h>
@@ -326,19 +326,29 @@ void Lib::setWidget( XineVideoWidget *widget )
326void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) 326void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType )
327{ 327{
328 assert( sendType == ThreadUtil::Channel::OneWay ); 328 assert( sendType == ThreadUtil::Channel::OneWay );
329 handleXineEvent( msg->type() ); 329 handleXineEvent( msg->type(), msg->data(), msg->msg() );
330 delete msg; 330 delete msg;
331} 331}
332 332
333void Lib::handleXineEvent( const xine_event_t* t ) { 333void Lib::handleXineEvent( const xine_event_t* t ) {
334 send( new ThreadUtil::ChannelMessage( t->type ), OneWay ); 334 int prog = -1; const char* name = 0;
335 if ( t->type == XINE_EVENT_PROGRESS ) {
336 xine_progress_data_t *pt = static_cast<xine_progress_data_t*>( t->data );
337 prog = pt->percent;
338 name = pt->description;
339 }
340
341 send( new ThreadUtil::ChannelMessage( t->type, prog, name ), OneWay );
335} 342}
336 343
337void Lib::handleXineEvent( int type ) { 344void Lib::handleXineEvent( int type, int data, const char* name ) {
338 assert( m_initialized ); 345 assert( m_initialized );
339 346
340 if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) { 347 if ( type == XINE_EVENT_UI_PLAYBACK_FINISHED ) {
341 emit stopped(); 348 emit stopped();
349 }else if ( type == XINE_EVENT_PROGRESS ) {
350 QString str = name == 0 ? QString::null : QString::fromUtf8( name );
351 Global::statusMessage( tr( "Progress: %1 %2" ).arg( name, data ) );;
342 } 352 }
343} 353}
344 354