예제 #1
0
파일: cvsjob.cpp 프로젝트: KDE/cervisia
void CvsJob::slotReceivedStderr()
{
    const QString output(QString::fromLocal8Bit(d->childproc->readAllStandardError()));

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

    qCDebug(log_cervisia) << "output:" << output;
    emit receivedStderr(output);
}
예제 #2
0
파일: k3process.cpp 프로젝트: haata/baulk
int K3Process::childError(int fdno)
{
  char buffer[1025];
  int len;

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

  if (len > 0) {
     buffer[len] = 0; // Just in case.
     emit receivedStderr(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;
}