コード例 #1
0
ファイル: imageview.cpp プロジェクト: vfrenkel/phototonic
void ImageView::saveImage()
{
	Exiv2::Image::AutoPtr image;
	bool exifError = false;

	if (newImage)
	{
		saveImageAs();
		return;
	}

	setFeedback(tr("Saving..."));

	try
	{
		image = Exiv2::ImageFactory::open(currentImageFullPath.toStdString());
		image->readMetadata();
	}
	catch (Exiv2::Error &error)
	{
		exifError = true;
	}

	QImageReader imgReader(currentImageFullPath);
	if (!displayPixmap.save(currentImageFullPath, imgReader.format().toUpper(),
																			GData::defaultSaveQuality))
	{
		QMessageBox msgBox;
		msgBox.critical(this, tr("Error"), tr("Failed to save image."));
		return;
	}

	if (!exifError)
	{
		try
		{
			image->writeMetadata();
		}
		catch (Exiv2::Error &error)
		{
			QMessageBox msgBox;
			msgBox.critical(this, tr("Error"), tr("Failed to save Exif metadata."));
		}
	}

	reload();
	setFeedback(tr("Image saved."));
}
void Delay::setParameter(int parameter, float value)
{
#if !defined(ASSUME_SAFE_RANGES)
  value = common::cclampf(value,0.0f,1.0f);
#endif
  switch(parameter)
  {
    case FX::k_delay_mode:
      setMode(value);
      break;

    case FX::k_delay_mix:
      //dummy
      break;

    case FX::k_delay_time:
      setDelayTime(value);
      break;

    case FX::k_delay_feedback:
      setFeedback(value);
      break;

    case FX::k_delay_lowpass_cutoff:
      setLowpassCutoff(value);
      break;

    case FX::k_delay_highpass_cutoff:
      setHighpassCutoff(value);
      break;

    default:
      break;
  }
}
コード例 #3
0
 StereoDelay_::StereoDelay_(){
   setIsStereoOutput(true);
   setIsStereoInput(true);
   delayTimeFrames_[TONIC_LEFT].resize(kSynthesisBlockSize, 1, 0);
   delayTimeFrames_[TONIC_RIGHT].resize(kSynthesisBlockSize, 1, 0);
   fbkFrames_.resize(kSynthesisBlockSize, 1, 0);
   
   setFeedback(FixedValue(0.0));
   setDryLevelGen(FixedValue(0.5));
   setWetLevelGen(FixedValue(0.5));
 }
コード例 #4
0
ファイル: TextUI.cpp プロジェクト: cs2103jan2015-t16-3c/gui
void TextUI::processUserInput(string userCommand) {

	//showToUser(MESSAGE_WELCOME);

	//pass user input as a string to Logic
	toLogic.processCommand(userCommand);
		/*
		if(TRUE //valid formatting, command succesfully executed) 
			printCommand();
		else 
			showToUser(ERROR_INVALID_FORMAT);	
		*/
	setFeedback(userCommand);
	setDisplay(userCommand);

}
コード例 #5
0
ファイル: imageview.cpp プロジェクト: vfrenkel/phototonic
void ImageView::saveImageAs()
{
	Exiv2::Image::AutoPtr exifImage;
	Exiv2::Image::AutoPtr newExifImage;
	bool exifError = false;

	setCursorHiding(false);

	QString fileName = QFileDialog::getSaveFileName(this,
		tr("Save image as"),
		currentImageFullPath,
		tr("Images") + " (*.jpg *.jpeg *.jpe *.png *.bmp *.ppm *.pgm *.pbm *.xbm *.xpm)");
		
	if (!fileName.isEmpty()) {
		try {
			exifImage = Exiv2::ImageFactory::open(currentImageFullPath.toStdString());
			exifImage->readMetadata();
		}
		catch (Exiv2::Error &error)	{
			exifError = true;
		}

	
		if (!displayPixmap.save(fileName, 0, GData::defaultSaveQuality)) {
			QMessageBox msgBox;
			msgBox.critical(this, tr("Error"), tr("Failed to save image."));
		} else {
			if (!exifError) {
				try	{
					newExifImage = Exiv2::ImageFactory::open(fileName.toStdString());
					newExifImage->setMetadata(*exifImage);
					newExifImage->writeMetadata();
				}
				catch (Exiv2::Error &error) {
					exifError = true;
				}
			}
		
			setFeedback(tr("Image saved."));
		}
	}
	if (mainWindow->isFullScreen()) {
		setCursorHiding(true);
	}
}
コード例 #6
0
ファイル: imageview.cpp プロジェクト: vfrenkel/phototonic
void ImageView::mouseReleaseEvent(QMouseEvent *event)
{
	if (event->button() == Qt::LeftButton) {
		setMouseMoveData(false, 0, 0);
		while (QApplication::overrideCursor()) {
			QApplication::restoreOverrideCursor();
		}

		if (cropBand && cropBand->isVisible()) {
			setFeedback(tr("Selection size: ")
			+ QString::number(cropBand->width())
			+ "x"
			+ QString::number(cropBand->height()));
		}
	}

	QWidget::mouseReleaseEvent(event);
}
コード例 #7
0
ofxSynthDelayline::ofxSynthDelayline() {
    setSize(1.1);
    setFeedback(0.5);
    setMix(0.5);
}