Пример #1
0
void CvsJob::slotReceivedStdout()
{
    const QString output(QString::fromLocal8Bit(d->childproc->readAllStandardOutput()));

    // accumulate output
    d->outputLines += output.split('\n');

    qCDebug(log_cervisia) << "output:" << output;
    emit receivedStdout(output);
}
Пример #2
0
int K3Process::childOutput(int fdno)
{
  if (communication & NoRead) {
     int len = -1;
     emit receivedStdout(fdno, len);
     errno = 0; // Make sure errno doesn't read "EAGAIN"
     return len;
  }
  else
  {
     char buffer[1025];
     int len;

     len = ::read(fdno, buffer, 1024);

     if (len > 0) {
        buffer[len] = 0; // Just in case.
        emit receivedStdout(this, buffer, len);
     }
     return len;
  }
}
Пример #3
0
long EncoderLame::readInit(long /*size*/){
	// Create KProcess
	d->currentEncodeProcess	= new KProcess();
	d->tempFile = new KTemporaryFile();
	d->tempFile->setSuffix(".mp3");
	d->tempFile->open();
	d->lastErrorMessage.clear();
	d->processHasExited = false;

	// -r raw/pcm
	// -s 44.1 (because it is raw you have to specify this)
	*(d->currentEncodeProcess) << "lame" << "--verbose" << "-r" << "-s" << "44.1";
	*(d->currentEncodeProcess) << args;
	if(Settings::self()->id3_tag())
		*d->currentEncodeProcess << trackInfo;

	// Read in stdin, output to the temp file
	*d->currentEncodeProcess << "-" << d->tempFile->fileName().toLatin1();

	//kDebug(7117) << d->currentEncodeProcess->args();


	connect(d->currentEncodeProcess, SIGNAL(readyReadStandardOutput()),
                         this, SLOT(receivedStdout()));
	connect(d->currentEncodeProcess, SIGNAL(readyReadStandardError()),
                         this, SLOT(receivedStderr()));
// 	connect(d->currentEncodeProcess, SIGNAL(bytesWritten()),
//                          this, SLOT(wroteStdin()));

	connect(d->currentEncodeProcess, SIGNAL(finished(int,QProcess::ExitStatus)),
                         this, SLOT(processExited(int,QProcess::ExitStatus)));

	// Launch!
	d->currentEncodeProcess->setOutputChannelMode(KProcess::SeparateChannels);
	d->currentEncodeProcess->start();
	return 0;
}