All pastes #66914 Raw Edit

asdf

public text v1 · immutable
#66914 ·published 2006-06-18 19:22 UTC
rendered paste body
--- trunk/src/playback.cpp	2006-06-18 21:19:39.000000000 +0200
+++ ../trunk/src/playback.cpp	2006-04-02 00:25:19.000000000 +0200
@@ -26,6 +26,7 @@
 #include <QMessageBox>
 
 #include <unistd.h>
+#include <QFile>
 
 #include "rtaudio/RtAudio.h"
 #include "libsamplerate/samplerate.h"
@@ -47,6 +48,7 @@
 
 Playback *Playback::s_instance = 0;
 QByteArray *Playback::m_waveBuffer = new QByteArray();
+QFile dumpfile;
 
 void
 WaveThread::run()
@@ -57,11 +59,18 @@
     while ( Playback::instance()->isPlaying() )
     {
         mutex.lock();
+	if (!dumpfile.isOpen()) {
+	      dumpfile.setFileName("tmp.mp3");
+              if (!dumpfile.open(QIODevice::WriteOnly ))
+               return;
+	}
         Playback::instance()->m_waveBuffer->reserve( PLAYBACKBUFFER * 2 );
 
         if ( Playback::instance()->m_mp3Buffer->size() >= PLAYBACKBUFFER && Playback::instance()->m_waveBuffer->size() < 32768 )
         {
             QByteArray *in = new QByteArray( Playback::instance()->m_mp3Buffer->left( PLAYBACKBUFFER ) );
+	    	    
+	    	    dumpfile.write(Playback::instance()->m_mp3Buffer->left(PLAYBACKBUFFER), PLAYBACKBUFFER);
             Playback::instance()->m_mp3Buffer->remove( 0, PLAYBACKBUFFER );
             mutex.unlock();
 
@@ -108,7 +117,7 @@
 
                     float pcmValue = (float)pcmData.i * scale;
                     pcmData.i = (short)pcmValue;
-
+			
                     Playback::instance()->m_waveBuffer->append( pcmData.b[0] );
                     Playback::instance()->m_waveBuffer->append( pcmData.b[1] );
                 }
@@ -417,10 +426,22 @@
     // Append it the binary-safe way!
     mutex.lock();
     for ( int i = 0; i < len; i++ )
+    {
         m_mp3Buffer->append( inBuf[ i ] );
+    }
 
     if ( m_mp3Buffer->indexOf( "SYNC" ) >= 0 )
     {
+	if(dumpfile.isOpen()){
+		if ( !m_directSkip) 
+	     dumpfile.rename("("+Playback::instance()->playingSong->album()+\
+			     ") "+
+			     Playback::instance()->playingSong->artist()+\
+			     " - "+
+			     Playback::instance()->playingSong->track()+\
+			     ".mp3");
+  	     dumpfile.close();	
+	}
         WebserviceConnector::instance()->metaData();
 
         if ( m_directSkip )