summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-06-17 12:54:54 (UTC)
committer llornkcor <llornkcor>2002-06-17 12:54:54 (UTC)
commit282007e58a8a038a0db042341528510e73ac80fc (patch) (side-by-side diff)
treef1a16c9a6a380bdc4217e9f92ac6ef6128d10717
parent2917d7481dc8c1b053e3212a699e64948a90ec4c (diff)
downloadopie-282007e58a8a038a0db042341528510e73ac80fc.zip
opie-282007e58a8a038a0db042341528510e73ac80fc.tar.gz
opie-282007e58a8a038a0db042341528510e73ac80fc.tar.bz2
fixes for goofy crap going on
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/audiodevice.cpp292
-rw-r--r--core/multimedia/opieplayer/audiowidget.cpp2
-rw-r--r--core/multimedia/opieplayer/loopcontrol.cpp384
-rw-r--r--core/multimedia/opieplayer/mediaplayer.cpp1
-rw-r--r--core/multimedia/opieplayer/mediaplayerstate.cpp80
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp43
6 files changed, 406 insertions, 396 deletions
diff --git a/core/multimedia/opieplayer/audiodevice.cpp b/core/multimedia/opieplayer/audiodevice.cpp
index 3262e38..4c5f12d 100644
--- a/core/multimedia/opieplayer/audiodevice.cpp
+++ b/core/multimedia/opieplayer/audiodevice.cpp
@@ -1,20 +1,20 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
+ ** Copyright (C) 2000 Trolltech AS. All rights reserved.
+ **
+ ** This file is part of Qtopia Environment.
+ **
+ ** This file may be distributed and/or modified under the terms of the
+ ** GNU General Public License version 2 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.GPL included in the
+ ** packaging of this file.
+ **
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ **
+ ** See http://www.trolltech.com/gpl/ for GPL licensing information.
+ **
+ ** Contact info@trolltech.com if any conditions of this licensing are
+ ** not clear to you.
+ **
+ **********************************************************************/
// L.J.Potter added better error code Fri 02-15-2002 14:37:47
@@ -32,8 +32,7 @@
-#ifdef Q_WS_WIN
-#include <windows.h>
-#include <mmsystem.h>
-#include <mmreg.h>
-#endif
-
+// #ifdef Q_WS_WIN
+// #include <windows.h>
+// #include <mmsystem.h>
+// #include <mmreg.h>
+// #endif
#if defined(Q_WS_X11) || defined(Q_WS_QWS)
@@ -48,7 +47,7 @@
-#if defined(Q_OS_WIN32)
-static const int expectedBytesPerMilliSecond = 2 * 2 * 44000 / 1000;
-static const int timerResolutionMilliSeconds = 30;
-static const int sound_fragment_bytes = timerResolutionMilliSeconds * expectedBytesPerMilliSecond;
-#else
+// #if defined(Q_OS_WIN32)
+// static const int expectedBytesPerMilliSecond = 2 * 2 * 44000 / 1000;
+// static const int timerResolutionMilliSeconds = 30;
+// static const int sound_fragment_bytes = timerResolutionMilliSeconds * expectedBytesPerMilliSecond;
+// #else
# if defined(QT_QWS_IPAQ)
@@ -59,3 +58,3 @@ static const int sound_fragment_shift = 16;
static const int sound_fragment_bytes = (1<<sound_fragment_shift);
-#endif
+//#endif
@@ -69,3 +68,3 @@ public:
unsigned int bufferSize;
-#ifndef Q_OS_WIN32
+//#ifndef Q_OS_WIN32
bool can_GETOSPACE;
@@ -73,3 +72,3 @@ public:
unsigned int unwritten;
-#endif
+//#endif
@@ -99,19 +98,19 @@ void AudioDevice::getVolume( unsigned int& leftVolume, unsigned int& rightVolume
unsigned int volume;
-#ifdef Q_OS_WIN32
- HWAVEOUT handle;
- WAVEFORMATEX formatData;
- formatData.cbSize = sizeof(WAVEFORMATEX);
- formatData.wFormatTag = WAVE_FORMAT_PCM;
- formatData.nAvgBytesPerSec = 4 * 44000;
- formatData.nBlockAlign = 4;
- formatData.nChannels = 2;
- formatData.nSamplesPerSec = 44000;
- formatData.wBitsPerSample = 16;
- waveOutOpen(&handle, WAVE_MAPPER, &formatData, 0L, 0L, CALLBACK_NULL);
- if ( waveOutGetVolume( handle, (LPDWORD)&volume ) )
-// qDebug( "get volume of audio device failed" );
- waveOutClose( handle );
- leftVolume = volume & 0xFFFF;
- rightVolume = volume >> 16;
-#else
+// #ifdef Q_OS_WIN32
+// HWAVEOUT handle;
+// WAVEFORMATEX formatData;
+// formatData.cbSize = sizeof(WAVEFORMATEX);
+// formatData.wFormatTag = WAVE_FORMAT_PCM;
+// formatData.nAvgBytesPerSec = 4 * 44000;
+// formatData.nBlockAlign = 4;
+// formatData.nChannels = 2;
+// formatData.nSamplesPerSec = 44000;
+// formatData.wBitsPerSample = 16;
+// waveOutOpen(&handle, WAVE_MAPPER, &formatData, 0L, 0L, CALLBACK_NULL);
+// if ( waveOutGetVolume( handle, (LPDWORD)&volume ) )
+// // qDebug( "get volume of audio device failed" );
+// waveOutClose( handle );
+// leftVolume = volume & 0xFFFF;
+// rightVolume = volume >> 16;
+// #else
int mixerHandle = open( "/dev/mixer", O_RDWR );
@@ -119,3 +118,3 @@ void AudioDevice::getVolume( unsigned int& leftVolume, unsigned int& rightVolume
if(ioctl( mixerHandle, MIXER_READ(0), &volume )==-1)
- perror("ioctl(\"MIXER_READ\")");
+ perror("ioctl(\"MIXER_READ\")");
close( mixerHandle );
@@ -125,3 +124,3 @@ void AudioDevice::getVolume( unsigned int& leftVolume, unsigned int& rightVolume
rightVolume = ((volume & 0xFF00) << 8) / 101;
-#endif
+//#endif
}
@@ -132,27 +131,27 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
if ( muted ) {
- AudioDevicePrivate::leftVolume = leftVolume;
- AudioDevicePrivate::rightVolume = rightVolume;
- leftVolume = 0;
- rightVolume = 0;
+ AudioDevicePrivate::leftVolume = leftVolume;
+ AudioDevicePrivate::rightVolume = rightVolume;
+ leftVolume = 0;
+ rightVolume = 0;
} else {
leftVolume = ( (int) leftVolume < 0 ) ? 0 : (( leftVolume > 0xFFFF ) ? 0xFFFF : leftVolume );
- rightVolume = ( (int)rightVolume < 0 ) ? 0 : (( rightVolume > 0xFFFF ) ? 0xFFFF : rightVolume );
+ rightVolume = ( (int)rightVolume < 0 ) ? 0 : (( rightVolume > 0xFFFF ) ? 0xFFFF : rightVolume );
}
-#ifdef Q_OS_WIN32
- HWAVEOUT handle;
- WAVEFORMATEX formatData;
- formatData.cbSize = sizeof(WAVEFORMATEX);
- formatData.wFormatTag = WAVE_FORMAT_PCM;
- formatData.nAvgBytesPerSec = 4 * 44000;
- formatData.nBlockAlign = 4;
- formatData.nChannels = 2;
- formatData.nSamplesPerSec = 44000;
- formatData.wBitsPerSample = 16;
- waveOutOpen(&handle, WAVE_MAPPER, &formatData, 0L, 0L, CALLBACK_NULL);
- unsigned int volume = (rightVolume << 16) | leftVolume;
- if ( waveOutSetVolume( handle, volume ) )
-// qDebug( "set volume of audio device failed" );
- waveOutClose( handle );
-#else
- // Volume can be from 0 to 100 which is 101 distinct values
+// #ifdef Q_OS_WIN32
+// HWAVEOUT handle;
+// WAVEFORMATEX formatData;
+// formatData.cbSize = sizeof(WAVEFORMATEX);
+// formatData.wFormatTag = WAVE_FORMAT_PCM;
+// formatData.nAvgBytesPerSec = 4 * 44000;
+// formatData.nBlockAlign = 4;
+// formatData.nChannels = 2;
+// formatData.nSamplesPerSec = 44000;
+// formatData.wBitsPerSample = 16;
+// waveOutOpen(&handle, WAVE_MAPPER, &formatData, 0L, 0L, CALLBACK_NULL);
+// unsigned int volume = (rightVolume << 16) | leftVolume;
+// if ( waveOutSetVolume( handle, volume ) )
+// // qDebug( "set volume of audio device failed" );
+// waveOutClose( handle );
+// #else
+ // Volume can be from 0 to 100 which is 101 distinct values
unsigned int rV = (rightVolume * 101) >> 16;
@@ -171,4 +170,4 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
# else
- // This is the way this has to be done now I guess, doesn't allow for
- // independant right and left channel setting, or setting for different outputs
+ // This is the way this has to be done now I guess, doesn't allow for
+ // independant right and left channel setting, or setting for different outputs
Config cfg("Sound");
@@ -178,6 +177,6 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
-#endif
+//#endif
// qDebug( "setting volume to: 0x%x", volume );
#if ( defined Q_WS_QWS || defined(_WS_QWS_) ) && !defined(QT_NO_COP)
- // Send notification that the volume has changed
+ // Send notification that the volume has changed
QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << muted;
@@ -190,5 +189,5 @@ void AudioDevice::setVolume( unsigned int leftVolume, unsigned int rightVolume,
AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
- qDebug("creating new audio device");
+ qDebug("creating new audio device");
QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE;
- d = new AudioDevicePrivate;
+ d = new AudioDevicePrivate;
d->frequency = f;
@@ -211,8 +210,8 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
#endif
- if ( ( d->handle = ::open( "/dev/dsp", O_WRONLY ) ) < 0 ) {
- perror("open(\"/dev/dsp\") sending to /dev/null instead");
- d->handle = ::open( "/dev/null", O_WRONLY );
- }
+ if ( ( d->handle = ::open( "/dev/dsp", O_WRONLY ) ) < 0 ) {
+ perror("open(\"/dev/dsp\") sending to /dev/null instead");
+ d->handle = ::open( "/dev/null", O_WRONLY );
+ }
#ifdef KEEP_DEVICE_OPEN
- AudioDevicePrivate::dspFd = d->handle;
+ AudioDevicePrivate::dspFd = d->handle;
} else {
@@ -243,8 +242,8 @@ AudioDevice::AudioDevice( unsigned int f, unsigned int chs, unsigned int bps ) {
- //if ( chs != d->channels ) qDebug( "Wanted %d, got %d channels", chs, d->channels );
- //if ( f != d->frequency ) qDebug( "wanted %dHz, got %dHz", f, d->frequency );
- //if ( capabilities & DSP_CAP_BATCH ) qDebug( "Sound card has local buffer" );
- //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" );
- //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" );
- //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" );
+ //if ( chs != d->channels ) qDebug( "Wanted %d, got %d channels", chs, d->channels );
+ //if ( f != d->frequency ) qDebug( "wanted %dHz, got %dHz", f, d->frequency );
+ //if ( capabilities & DSP_CAP_BATCH ) qDebug( "Sound card has local buffer" );
+ //if ( capabilities & DSP_CAP_REALTIME )qDebug( "Sound card has realtime sync" );
+ //if ( capabilities & DSP_CAP_TRIGGER ) qDebug( "Sound card has precise trigger" );
+ //if ( capabilities & DSP_CAP_MMAP ) qDebug( "Sound card can mmap" );
QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE;
@@ -256,7 +255,7 @@ AudioDevice::~AudioDevice() {
qDebug("destryo audiodevice");
- QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE;
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << TRUE;
-#ifdef Q_OS_WIN32
- waveOutClose( (HWAVEOUT)d->handle );
-#else
+// #ifdef Q_OS_WIN32
+// waveOutClose( (HWAVEOUT)d->handle );
+// #else
# ifndef KEEP_DEVICE_OPEN
@@ -266,3 +265,4 @@ AudioDevice::~AudioDevice() {
delete d;
-#endif
+//#endif
+ QCopEnvelope( "QPE/System", "volumeChange(bool)" ) << FALSE;
@@ -279,16 +279,16 @@ void AudioDevice::write( char *buffer, unsigned int length )
{
-#ifdef Q_OS_WIN32
- // returns immediately and (to be implemented) emits completedIO() when finished writing
- WAVEHDR *lpWaveHdr = (WAVEHDR *)malloc( sizeof(WAVEHDR) );
- // maybe the buffer should be copied so that this fool proof, but its a performance hit
- lpWaveHdr->lpData = buffer;
- lpWaveHdr->dwBufferLength = length;
- lpWaveHdr->dwFlags = 0L;
- lpWaveHdr->dwLoops = 0L;
- waveOutPrepareHeader( (HWAVEOUT)d->handle, lpWaveHdr, sizeof(WAVEHDR) );
- // waveOutWrite returns immediately. the data is sent in the background.
- if ( waveOutWrite( (HWAVEOUT)d->handle, lpWaveHdr, sizeof(WAVEHDR) ) )
- qDebug( "failed to write block to audio device" );
- // emit completedIO();
-#else
+// #ifdef Q_OS_WIN32
+// // returns immediately and (to be implemented) emits completedIO() when finished writing
+// WAVEHDR *lpWaveHdr = (WAVEHDR *)malloc( sizeof(WAVEHDR) );
+// // maybe the buffer should be copied so that this fool proof, but its a performance hit
+// lpWaveHdr->lpData = buffer;
+// lpWaveHdr->dwBufferLength = length;
+// lpWaveHdr->dwFlags = 0L;
+// lpWaveHdr->dwLoops = 0L;
+// waveOutPrepareHeader( (HWAVEOUT)d->handle, lpWaveHdr, sizeof(WAVEHDR) );
+// // waveOutWrite returns immediately. the data is sent in the background.
+// if ( waveOutWrite( (HWAVEOUT)d->handle, lpWaveHdr, sizeof(WAVEHDR) ) )
+// qDebug( "failed to write block to audio device" );
+// // emit completedIO();
+// #else
int t = ::write( d->handle, buffer, length );
@@ -296,7 +296,7 @@ void AudioDevice::write( char *buffer, unsigned int length )
if ( t != (int)length) {
- qDebug("Ahhh!! memcpys 1");
- memcpy(d->unwrittenBuffer,buffer+t,length-t);
- d->unwritten = length-t;
+ qDebug("Ahhh!! memcpys 1");
+ memcpy(d->unwrittenBuffer,buffer+t,length-t);
+ d->unwritten = length-t;
}
-#endif
+//#endif
}
@@ -329,30 +329,30 @@ unsigned int AudioDevice::canWrite() const
{
-#ifdef Q_OS_WIN32
- return bufferSize(); // Any better?
-#else
+// #ifdef Q_OS_WIN32
+// return bufferSize(); // Any better?
+// #else
audio_buf_info info;
if ( d->can_GETOSPACE && ioctl(d->handle,SNDCTL_DSP_GETOSPACE,&info) ) {
- d->can_GETOSPACE = FALSE;
- fcntl( d->handle, F_SETFL, O_NONBLOCK );
+ d->can_GETOSPACE = FALSE;
+ fcntl( d->handle, F_SETFL, O_NONBLOCK );
}
if ( d->can_GETOSPACE ) {
- int t = info.fragments * sound_fragment_bytes;
- return QMIN(t,(int)bufferSize());
+ int t = info.fragments * sound_fragment_bytes;
+ return QMIN(t,(int)bufferSize());
} else {
- if ( d->unwritten ) {
- int t = ::write( d->handle, d->unwrittenBuffer, d->unwritten );
- if ( t<0 ) t = 0;
- if ( (unsigned)t!=d->unwritten ) {
- memcpy(d->unwrittenBuffer,d->unwrittenBuffer+t,d->unwritten-t);
- d->unwritten -= t;
- } else {
- d->unwritten = 0;
- }
- }
- if ( d->unwritten )
- return 0;
- else
- return d->bufferSize;
+ if ( d->unwritten ) {
+ int t = ::write( d->handle, d->unwrittenBuffer, d->unwritten );
+ if ( t<0 ) t = 0;
+ if ( (unsigned)t!=d->unwritten ) {
+ memcpy(d->unwrittenBuffer,d->unwrittenBuffer+t,d->unwritten-t);
+ d->unwritten -= t;
+ } else {
+ d->unwritten = 0;
+ }
+ }
+ if ( d->unwritten )
+ return 0;
+ else
+ return d->bufferSize;
}
-#endif
+//#endif
}
@@ -361,17 +361,17 @@ unsigned int AudioDevice::canWrite() const
int AudioDevice::bytesWritten() {
-#ifdef Q_OS_WIN32
- MMTIME pmmt = { TIME_BYTES, 0 };
- if ( ( waveOutGetPosition( (HWAVEOUT)d->handle, &pmmt, sizeof(MMTIME) ) != MMSYSERR_NOERROR ) || ( pmmt.wType != TIME_BYTES ) ) {
- qDebug( "failed to get audio device position" );
- return -1;
- }
- return pmmt.u.cb;
-#else
+// #ifdef Q_OS_WIN32
+// MMTIME pmmt = { TIME_BYTES, 0 };
+// if ( ( waveOutGetPosition( (HWAVEOUT)d->handle, &pmmt, sizeof(MMTIME) ) != MMSYSERR_NOERROR ) || ( pmmt.wType != TIME_BYTES ) ) {
+// qDebug( "failed to get audio device position" );
+// return -1;
+// }
+// return pmmt.u.cb;
+// #else
int buffered = 0;
if ( ioctl( d->handle, SNDCTL_DSP_GETODELAY, &buffered ) ) {
- qDebug( "failed to get audio device position" );
- return -1;
+ qDebug( "failed to get audio device position" );
+ return -1;
}
return buffered;
-#endif
+//#endif
}
diff --git a/core/multimedia/opieplayer/audiowidget.cpp b/core/multimedia/opieplayer/audiowidget.cpp
index ac8c935..54e7ceb 100644
--- a/core/multimedia/opieplayer/audiowidget.cpp
+++ b/core/multimedia/opieplayer/audiowidget.cpp
@@ -145,2 +145,3 @@ void AudioWidget::sliderReleased() {
void AudioWidget::setPosition( long i ) {
+// qDebug("set position %d",i);
updateSlider( i, mediaPlayerState->length() );
@@ -155,3 +156,2 @@ void AudioWidget::setLength( long max ) {
void AudioWidget::setView( char view ) {
-
if (mediaPlayerState->isStreaming) {
diff --git a/core/multimedia/opieplayer/loopcontrol.cpp b/core/multimedia/opieplayer/loopcontrol.cpp
index 3171c4b..70e4a78 100644
--- a/core/multimedia/opieplayer/loopcontrol.cpp
+++ b/core/multimedia/opieplayer/loopcontrol.cpp
@@ -1,20 +1,20 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
+ ** Copyright (C) 2000 Trolltech AS. All rights reserved.
+ **
+ ** This file is part of Qtopia Environment.
+ **
+ ** This file may be distributed and/or modified under the terms of the
+ ** GNU General Public License version 2 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.GPL included in the
+ ** packaging of this file.
+ **
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ **
+ ** See http://www.trolltech.com/gpl/ for GPL licensing information.
+ **
+ ** Contact info@trolltech.com if any conditions of this licensing are
+ ** not clear to you.
+ **
+ **********************************************************************/
// L.J.Potter added changes Fri 02-15-2002
@@ -61,6 +61,6 @@ public:
Mutex() {
- pthread_mutexattr_t attr;
- pthread_mutexattr_init( &attr );
- pthread_mutex_init( &mutex, &attr );
- pthread_mutexattr_destroy( &attr );
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init( &attr );
+ pthread_mutex_init( &mutex, &attr );
+ pthread_mutexattr_destroy( &attr );
}
@@ -68,3 +68,3 @@ public:
~Mutex() {
- pthread_mutex_destroy( &mutex );
+ pthread_mutex_destroy( &mutex );
}
@@ -72,3 +72,3 @@ public:
void lock() {
- pthread_mutex_lock( &mutex );
+ pthread_mutex_lock( &mutex );
}
@@ -76,3 +76,3 @@ public:
void unlock() {
- pthread_mutex_unlock( &mutex );
+ pthread_mutex_unlock( &mutex );
}
@@ -86,6 +86,6 @@ void *startAudioThread( void *ptr ) {
while ( TRUE ) {
- if ( threadOkToGo && mpegView->moreAudio )
- mpegView->startAudio();
- else
- usleep( 10000 ); // Semi-buzy-wait till we are playing again
+ if ( threadOkToGo && mpegView->moreAudio )
+ mpegView->startAudio();
+ else
+ usleep( 10000 ); // Semi-buzy-wait till we are playing again
}
@@ -99,3 +99,3 @@ Mutex *audioMutex;
LoopControl::LoopControl( QObject *parent, const char *name )
- : QObject( parent, name ) {
+ : QObject( parent, name ) {
isMuted = FALSE;
@@ -108,11 +108,11 @@ LoopControl::LoopControl( QObject *parent, const char *name )
#ifdef USE_REALTIME_AUDIO_THREAD
- // Attempt to set it to real-time round robin
+ // Attempt to set it to real-time round robin
if ( pthread_attr_setschedpolicy( &audio_attr, SCHED_RR ) == 0 ) {
- sched_param params;
- params.sched_priority = 50;
- pthread_attr_setschedparam(&audio_attr,&params);
+ sched_param params;
+ params.sched_priority = 50;
+ pthread_attr_setschedparam(&audio_attr,&params);
} else {
- qDebug( "Error setting up a realtime thread, reverting to using a normal thread." );
- pthread_attr_destroy(&audio_attr);
- pthread_attr_init(&audio_attr);
+ qDebug( "Error setting up a realtime thread, reverting to using a normal thread." );
+ pthread_attr_destroy(&audio_attr);
+ pthread_attr_init(&audio_attr);
}
@@ -136,10 +136,10 @@ void LoopControl::timerEvent( QTimerEvent *te ) {
if ( te->timerId() == videoId )
- startVideo();
+ startVideo();
if ( te->timerId() == sliderId ) {
- if ( hasAudioChannel && !hasVideoChannel && moreAudio ) {
- mediaPlayerState->updatePosition( audioSampleCounter );
- } else if ( hasVideoChannel && moreVideo ) {
- mediaPlayerState->updatePosition( current_frame );
- }
+ if ( hasAudioChannel && !hasVideoChannel && moreAudio ) {
+ mediaPlayerState->updatePosition( audioSampleCounter );
+ } else if ( hasVideoChannel && moreVideo ) {
+ mediaPlayerState->updatePosition( current_frame );
+ }
}
@@ -155,24 +155,24 @@ void LoopControl::setPosition( long pos ) {
audioMutex->lock();
-
+// qDebug("Loop control %d", pos);
if ( hasVideoChannel && hasAudioChannel ) {
- playtime.restart();
- playtime = playtime.addMSecs( long((double)-pos * 1000.0 / framerate) );
- current_frame = pos + 1;
- mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
- prev_frame = current_frame - 1;
- currentSample = (int)( (double)current_frame * freq / framerate );
- mediaPlayerState->curDecoder()->audioSetSample( currentSample, stream );
- audioSampleCounter = currentSample - 1;
+ playtime.restart();
+ playtime = playtime.addMSecs( long((double)-pos * 1000.0 / framerate) );
+ current_frame = pos + 1;
+ mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
+ prev_frame = current_frame - 1;
+ currentSample = (int)( (double)current_frame * freq / framerate );
+ mediaPlayerState->curDecoder()->audioSetSample( currentSample, stream );
+ audioSampleCounter = currentSample - 1;
} else if ( hasVideoChannel ) {
- playtime.restart();
- playtime = playtime.addMSecs( long((double)-pos * 1000.0 / framerate) );
- current_frame = pos + 1;
- mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
- prev_frame = current_frame - 1;
+ playtime.restart();
+ playtime = playtime.addMSecs( long((double)-pos * 1000.0 / framerate) );
+ current_frame = pos + 1;
+ mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
+ prev_frame = current_frame - 1;
} else if ( hasAudioChannel ) {
- playtime.restart();
- playtime = playtime.addMSecs( long((double)-pos * 1000.0 / freq) );
- currentSample = pos + 1;
- mediaPlayerState->curDecoder()->audioSetSample( currentSample, stream );
- audioSampleCounter = currentSample - 1;
+ playtime.restart();
+ playtime = playtime.addMSecs( long((double)-pos * 1000.0 / freq) );
+ currentSample = pos + 1;
+ mediaPlayerState->curDecoder()->audioSetSample( currentSample, stream );
+ audioSampleCounter = currentSample - 1;
}
@@ -189,28 +189,28 @@ void LoopControl::startVideo() {
- if ( hasAudioChannel && !isMuted ) {
+ if ( hasAudioChannel && !isMuted ) {
- current_frame = long( playtime.elapsed() * framerate / 1000 );
+ current_frame = long( playtime.elapsed() * framerate / 1000 );
- if ( prev_frame != -1 && current_frame <= prev_frame )
- return;
+ if ( prev_frame != -1 && current_frame <= prev_frame )
+ return;
- } else {
- // Don't skip
- current_frame++;
- }
+ } else {
+ // Don't skip
+ current_frame++;
+ }
- if ( prev_frame == -1 || current_frame > prev_frame ) {
- if ( current_frame > prev_frame + 1 ) {
- mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
- }
- moreVideo = videoUI->playVideo();
- prev_frame = current_frame;
- }
+ if ( prev_frame == -1 || current_frame > prev_frame ) {
+ if ( current_frame > prev_frame + 1 ) {
+ mediaPlayerState->curDecoder()->videoSetFrame( current_frame, stream );
+ }
+ moreVideo = videoUI->playVideo();
+ prev_frame = current_frame;
+ }
- } else {
+ } else {
- moreVideo = FALSE;
- killTimer( videoId );
+ moreVideo = FALSE;
+ killTimer( videoId );
- }
+ }
@@ -222,3 +222,2 @@ void LoopControl::startAudio() {
-//qDebug("start audio");
audioMutex->lock();
@@ -226,36 +225,36 @@ void LoopControl::startAudio() {
- if ( !isMuted && mediaPlayerState->curDecoder() ) {
+ if ( !isMuted && mediaPlayerState->curDecoder() ) {
- currentSample = audioSampleCounter + 1;
+ currentSample = audioSampleCounter + 1;
- if ( currentSample != audioSampleCounter + 1 )
- qDebug("out of sync with decoder %i %i", currentSample, audioSampleCounter);
+ if ( currentSample != audioSampleCounter + 1 )
+ qDebug("out of sync with decoder %i %i", currentSample, audioSampleCounter);
- long samplesRead = 0;
- bool readOk=mediaPlayerState->curDecoder()->audioReadSamples( (short*)audioBuffer, channels, 1024, samplesRead, stream );
- long sampleWeShouldBeAt = long( playtime.elapsed() ) * freq / 1000;
- long sampleWaitTime = currentSample - sampleWeShouldBeAt;
+ long samplesRead = 0;
+ bool readOk=mediaPlayerState->curDecoder()->audioReadSamples( (short*)audioBuffer, channels, 1024, samplesRead, stream );
+ long sampleWeShouldBeAt = long( playtime.elapsed() ) * freq / 1000;
+ long sampleWaitTime = currentSample - sampleWeShouldBeAt;
// this causes drop outs not sure why its even here
- if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) {
- usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) );
- }
- else if ( sampleWaitTime <= -5000 ) {
- qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt );
-// //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream );
- currentSample = sampleWeShouldBeAt;
- }
+// if ( ( sampleWaitTime > 2000 ) && ( sampleWaitTime < 20000 ) ) {
+// usleep( (long)((double)sampleWaitTime * 1000000.0 / freq) );
+// }
+// else if ( sampleWaitTime <= -5000 ) {
+// qDebug("need to catch up by: %li (%i,%li)", -sampleWaitTime, currentSample, sampleWeShouldBeAt );
+// // //mediaPlayerState->curDecoder()->audioSetSample( sampleWeShouldBeAt, stream );
+// currentSample = sampleWeShouldBeAt;
+// }
- audioDevice->write( audioBuffer, samplesRead * 2 * channels );
+ audioDevice->write( audioBuffer, samplesRead * 2 * channels );
- if( mediaPlayerState->isStreaming == FALSE)
- audioSampleCounter = currentSample + samplesRead - 1;
+ if( mediaPlayerState->isStreaming == FALSE)
+ audioSampleCounter = currentSample + samplesRead - 1;
- moreAudio = readOk && (audioSampleCounter <= total_audio_samples);
+ moreAudio = readOk && (audioSampleCounter <= total_audio_samples);
- } else {
+ } else {
- moreAudio = FALSE;
+ moreAudio = FALSE;
- }
+ }
@@ -272,3 +271,3 @@ void LoopControl::killTimers() {
if ( hasVideoChannel )
- killTimer( videoId );
+ killTimer( videoId );
killTimer( sliderId );
@@ -288,5 +287,5 @@ void LoopControl::startTimers() {
if ( hasVideoChannel ) {
- moreVideo = TRUE;
- int mSecsBetweenFrames = (int)(100 / framerate); // 10% of the real value
- videoId = startTimer( mSecsBetweenFrames );
+ moreVideo = TRUE;
+ int mSecsBetweenFrames = (int)(100 / framerate); // 10% of the real value
+ videoId = startTimer( mSecsBetweenFrames );
}
@@ -294,4 +293,4 @@ void LoopControl::startTimers() {
if ( hasAudioChannel ) {
- moreAudio = TRUE;
- threadOkToGo = TRUE;
+ moreAudio = TRUE;
+ threadOkToGo = TRUE;
}
@@ -307,12 +306,12 @@ void LoopControl::setPaused( bool pause ) {
if ( !mediaPlayerState->curDecoder() || !mediaPlayerState->curDecoder()->isOpen() )
- return;
+ return;
if ( pause ) {
- killTimers();
+ killTimers();
} else {
- // Force an update of the position
- mediaPlayerState->setPosition( mediaPlayerState->position() + 1 );
- mediaPlayerState->setPosition( mediaPlayerState->position() - 1 );
- // Just like we never stopped
- startTimers();
+ // Force an update of the position
+ mediaPlayerState->setPosition( mediaPlayerState->position() + 1 );
+ mediaPlayerState->setPosition( mediaPlayerState->position() - 1 );
+ // Just like we never stopped
+ startTimers();
}
@@ -325,5 +324,5 @@ void LoopControl::stop( bool willPlayAgainShortly ) {
if ( !willPlayAgainShortly && disabledSuspendScreenSaver ) {
- disabledSuspendScreenSaver = FALSE;
- // Re-enable the suspend mode
- QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
+ disabledSuspendScreenSaver = FALSE;
+ // Re-enable the suspend mode
+ QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable;
}
@@ -333,18 +332,20 @@ void LoopControl::stop( bool willPlayAgainShortly ) {
- killTimers();
+ killTimers();
- audioMutex->lock();
+ audioMutex->lock();
- mediaPlayerState->curDecoder()->close();
+ mediaPlayerState->curDecoder()->close();
- if ( audioDevice ) {
- delete audioDevice;
- delete audioBuffer;
- audioDevice = 0;
- audioBuffer = 0;
- }
-
- audioMutex->unlock();
+ if ( audioDevice ) {
+ delete audioDevice;
+ delete audioBuffer;
+ audioDevice = 0;
+ audioBuffer = 0;
+ }
+ audioMutex->unlock();
}
+ audioSampleCounter=0;
+ current_frame=0;
+ total_audio_samples=0;
}
@@ -354,3 +355,2 @@ bool LoopControl::init( const QString& filename ) {
stop();
-
audioMutex->lock();
@@ -363,3 +363,3 @@ bool LoopControl::init( const QString& filename ) {
- // ### Hack to use libmpeg3plugin to get the number of audio samples if we are using the libmad plugin
+ // ### Hack to use libmpeg3plugin to get the number of audio samples if we are using the libmad plugin
if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibMadPlugin") ) {
@@ -372,4 +372,4 @@ bool LoopControl::init( const QString& filename ) {
if ( !mediaPlayerState->curDecoder()|| !mediaPlayerState->curDecoder()->open( filename ) ) {
- audioMutex->unlock();
- return FALSE;
+ audioMutex->unlock();
+ return FALSE;
}
@@ -380,39 +380,39 @@ bool LoopControl::init( const QString& filename ) {
if ( hasAudioChannel ) {
- int astream = 0;
+ int astream = 0;
- if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibMpeg3Plugin") )
- channels = 2; //dont akx me why, but it needs this hack
- else
- channels = mediaPlayerState->curDecoder()->audioChannels( astream );
+ if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibMpeg3Plugin") )
+ channels = 2; //dont akx me why, but it needs this hack
+ else
+ channels = mediaPlayerState->curDecoder()->audioChannels( astream );
- qDebug( "LC- channels = %d", channels );
+ qDebug( "LC- channels = %d", channels );
- if ( !total_audio_samples )
- total_audio_samples = mediaPlayerState->curDecoder()->audioSamples( astream );
+ if ( !total_audio_samples )
+ total_audio_samples = mediaPlayerState->curDecoder()->audioSamples( astream );
- total_audio_samples += 1000;
+ total_audio_samples += 1000;
- mediaPlayerState->setLength( total_audio_samples );
+ mediaPlayerState->setLength( total_audio_samples );
- freq = mediaPlayerState->curDecoder()->audioFrequency( astream );
- qDebug( "LC- frequency = %d", freq );
-
- audioSampleCounter = 0;
- int bits_per_sample;
- if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibWavPlugin") ) {
- bits_per_sample =(int) mediaPlayerState->curDecoder()->getTime();
- qDebug("using stupid hack");
- } else {
- bits_per_sample=0;
- }
-
- audioDevice = new AudioDevice( freq, channels, bits_per_sample);
- audioBuffer = new char[ audioDevice->bufferSize() ];
- channels = audioDevice->channels();
-
- //### must check which frequency is actually used.
- static const int size = 1;
- short int buf[size];
- long samplesRead = 0;
- mediaPlayerState->curDecoder()->audioReadSamples( buf, channels, size, samplesRead, stream );
+ freq = mediaPlayerState->curDecoder()->audioFrequency( astream );
+ qDebug( "LC- frequency = %d", freq );
+
+ audioSampleCounter = 0;
+ int bits_per_sample;
+ if ( mediaPlayerState->curDecoder()->pluginName() == QString("LibWavPlugin") ) {
+ bits_per_sample =(int) mediaPlayerState->curDecoder()->getTime();
+ qDebug("using stupid hack");
+ } else {
+ bits_per_sample=0;
+ }
+
+ audioDevice = new AudioDevice( freq, channels, bits_per_sample);
+ audioBuffer = new char[ audioDevice->bufferSize() ];
+ channels = audioDevice->channels();
+
+ //### must check which frequency is actually used.
+ static const int size = 1;
+ short int buf[size];
+ long samplesRead = 0;
+ mediaPlayerState->curDecoder()->audioReadSamples( buf, channels, size, samplesRead, stream );
}
@@ -420,17 +420,17 @@ bool LoopControl::init( const QString& filename ) {
if ( hasVideoChannel ) {
- total_video_frames = mediaPlayerState->curDecoder()->videoFrames( stream );
+ total_video_frames = mediaPlayerState->curDecoder()->videoFrames( stream );
- mediaPlayerState->setLength( total_video_frames );
+ mediaPlayerState->setLength( total_video_frames );
- framerate = mediaPlayerState->curDecoder()->videoFrameRate( stream );
- DecodeLoopDebug(( "Frame rate %g total %ld", framerate, total_video_frames ));
+ framerate = mediaPlayerState->curDecoder()->videoFrameRate( stream );
+ DecodeLoopDebug(( "Frame rate %g total %ld", framerate, total_video_frames ));
- if ( framerate <= 1.0 ) {
- DecodeLoopDebug(( "Crazy frame rate, resetting to sensible" ));
- framerate = 25;
- }
+ if ( framerate <= 1.0 ) {
+ DecodeLoopDebug(( "Crazy frame rate, resetting to sensible" ));
+ framerate = 25;
+ }
- if ( total_video_frames == 1 ) {
- DecodeLoopDebug(( "Cannot seek to frame" ));
- }
+ if ( total_video_frames == 1 ) {
+ DecodeLoopDebug(( "Cannot seek to frame" ));
+ }
@@ -452,9 +452,11 @@ void LoopControl::play() {
qDebug("LC- play");
+ mediaPlayerState->setPosition( 0); //uglyhack
+
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
if ( !disabledSuspendScreenSaver || previousSuspendMode != hasVideoChannel ) {
- disabledSuspendScreenSaver = TRUE;
- previousSuspendMode = hasVideoChannel;
- // Stop the screen from blanking and power saving state
- QCopEnvelope("QPE/System", "setScreenSaverMode(int)" )
- << ( hasVideoChannel ? QPEApplication::Disable : QPEApplication::DisableSuspend );
+ disabledSuspendScreenSaver = TRUE;
+ previousSuspendMode = hasVideoChannel;
+ // Stop the screen from blanking and power saving state
+ QCopEnvelope("QPE/System", "setScreenSaverMode(int)" )
+ << ( hasVideoChannel ? QPEApplication::Disable : QPEApplication::DisableSuspend );
}
@@ -469,10 +471,10 @@ void LoopControl::setMute( bool on ) {
if ( on != isMuted ) {
- isMuted = on;
- if ( !on ) {
- // Force an update of the position
- mediaPlayerState->setPosition( mediaPlayerState->position() + 1 );
- mediaPlayerState->setPosition( mediaPlayerState->position() - 1 );
- // Resume playing audio
- moreAudio = TRUE;
- }
+ isMuted = on;
+ if ( !on ) {
+ // Force an update of the position
+ mediaPlayerState->setPosition( mediaPlayerState->position() + 1 );
+ mediaPlayerState->setPosition( mediaPlayerState->position() - 1 );
+ // Resume playing audio
+ moreAudio = TRUE;
+ }
}
diff --git a/core/multimedia/opieplayer/mediaplayer.cpp b/core/multimedia/opieplayer/mediaplayer.cpp
index b9e438b..64fdc01 100644
--- a/core/multimedia/opieplayer/mediaplayer.cpp
+++ b/core/multimedia/opieplayer/mediaplayer.cpp
@@ -64,2 +64,3 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
MediaPlayer::~MediaPlayer() {
+
}
diff --git a/core/multimedia/opieplayer/mediaplayerstate.cpp b/core/multimedia/opieplayer/mediaplayerstate.cpp
index 3ac9ac4..cf166d6 100644
--- a/core/multimedia/opieplayer/mediaplayerstate.cpp
+++ b/core/multimedia/opieplayer/mediaplayerstate.cpp
@@ -1,20 +1,20 @@
/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
+ ** Copyright (C) 2000 Trolltech AS. All rights reserved.
+ **
+ ** This file is part of Qtopia Environment.
+ **
+ ** This file may be distributed and/or modified under the terms of the
+ ** GNU General Public License version 2 as published by the Free Software
+ ** Foundation and appearing in the file LICENSE.GPL included in the
+ ** packaging of this file.
+ **
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ **
+ ** See http://www.trolltech.com/gpl/ for GPL licensing information.
+ **
+ ** Contact info@trolltech.com if any conditions of this licensing are
+ ** not clear to you.
+ **
+ **********************************************************************/
#include <qpe/qpeapplication.h>
@@ -43,3 +43,3 @@
MediaPlayerState::MediaPlayerState( QObject *parent, const char *name )
- : QObject( parent, name ), decoder( NULL ), libmpeg3decoder( NULL ) {
+ : QObject( parent, name ), decoder( NULL ), libmpeg3decoder( NULL ) {
Config cfg( "OpiePlayer" );
@@ -108,3 +108,3 @@ MediaPlayerDecoder *MediaPlayerState::newDecoder( const QString& file ) {
else
- isStreaming = FALSE;
+ isStreaming = FALSE;
return decoder = tmpDecoder;
@@ -133,5 +133,5 @@ void MediaPlayerState::loadPlugins() {
for ( mit = pluginList.begin(); mit != pluginList.end(); ++mit ) {
- (*mit).iface->release();
- (*mit).library->unload();
- delete (*mit).library;
+ (*mit).iface->release();
+ (*mit).library->unload();
+ delete (*mit).library;
}
@@ -144,7 +144,7 @@ void MediaPlayerState::loadPlugins() {
for ( it = list.begin(); it != list.end(); ++it ) {
- MediaPlayerPluginInterface *iface = 0;
- QLibrary *lib = new QLibrary( path + "/" + *it );
+ MediaPlayerPluginInterface *iface = 0;
+ QLibrary *lib = new QLibrary( path + "/" + *it );
// qDebug( "querying: %s", QString( path + "/" + *it ).latin1() );
- if ( lib->queryInterface( IID_MediaPlayerPlugin, (QUnknownInterface**)&iface ) == QS_OK ) {
+ if ( lib->queryInterface( IID_MediaPlayerPlugin, (QUnknownInterface**)&iface ) == QS_OK ) {
@@ -152,16 +152,16 @@ void MediaPlayerState::loadPlugins() {
- MediaPlayerPlugin plugin;
- plugin.library = lib;
- plugin.iface = iface;
- plugin.decoder = plugin.iface->decoder();
- plugin.encoder = plugin.iface->encoder();
- pluginList.append( plugin );
+ MediaPlayerPlugin plugin;
+ plugin.library = lib;
+ plugin.iface = iface;
+ plugin.decoder = plugin.iface->decoder();
+ plugin.encoder = plugin.iface->encoder();
+ pluginList.append( plugin );
- // ### hack to get true sample count
- if ( plugin.decoder->pluginName() == QString("LibMpeg3Plugin") )
- libmpeg3decoder = plugin.decoder;
+ // ### hack to get true sample count
+ if ( plugin.decoder->pluginName() == QString("LibMpeg3Plugin") )
+ libmpeg3decoder = plugin.decoder;
- } else {
- delete lib;
- }
+ } else {
+ delete lib;
+ }
}
@@ -190,5 +190,5 @@ void MediaPlayerState::loadPlugins() {
if ( pluginList.count() )
- MediaPlayerDebug(( "%i decoders found", pluginList.count() ));
+ MediaPlayerDebug(( "%i decoders found", pluginList.count() ));
else
- MediaPlayerDebug(( "No decoders found" ));
+ MediaPlayerDebug(( "No decoders found" ));
}
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 200ec16..35208e4 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -159,3 +159,2 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
tbDeletePlaylist->setFixedSize(20,20);
- connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
@@ -192,6 +191,4 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
fullScreenButton = new QAction(tr("Full Screen"), Resource::loadPixmap("fullscreen"), QString::null, 0, this, 0);
- connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) );
fullScreenButton->addTo(pmView);
scaleButton = new QAction(tr("Scale"), Resource::loadPixmap("opieplayer/scale"), QString::null, 0, this, 0);
- connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) );
scaleButton->addTo(pmView);
@@ -226,4 +223,2 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
- connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
- this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
@@ -253,7 +248,2 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
- connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
- this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
-
- connect( audioView, SIGNAL( returnPressed( QListViewItem *)),
- this,SLOT( playIt( QListViewItem *)) );
@@ -279,7 +269,2 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
- connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
- this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
- connect( videoView, SIGNAL( returnPressed( QListViewItem *)),
- this,SLOT( playIt( QListViewItem *)) );
-
tabWidget->insertTab( vTab,tr("Video"));
@@ -294,3 +279,2 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
- connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
@@ -307,6 +291,26 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
- connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
+ connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
+ connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) );
+ connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) );
+ connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
+ this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
+
+ connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
+ this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
+
+ connect( audioView, SIGNAL( returnPressed( QListViewItem *)),
+ this,SLOT( playIt( QListViewItem *)) );
+ connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
+
+ connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
+ this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
+ connect( videoView, SIGNAL( returnPressed( QListViewItem *)),
+ this,SLOT( playIt( QListViewItem *)) );
connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
+ connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
+
+
connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
+
connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
@@ -754,3 +758,5 @@ void PlayListWidget::playIt( QListViewItem *it) {
// d->setDocumentUsed = FALSE;
- mediaPlayerState->setPlaying(FALSE);
+// mediaPlayerState->curPosition =0;
+ qDebug("playIt");
+ mediaPlayerState->setPlaying(FALSE);
mediaPlayerState->setPlaying(TRUE);
@@ -837,2 +843,3 @@ void PlayListWidget::btnPlay(bool b) {
{
+
mediaPlayerState->setPlaying(b);