Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > b90d0d295bc5deaa2f765776f8c386b5 > files > 19

ecawave-debug-0.6.1-10mdv2009.0.i586.rpm

#ifndef QECHAINOPEVENT_H
#define QECHAINOPEVENT_H

#include <string>

#include <qdialog.h>
#include <qwidget.h>

#include <eca-chainop.h>

#include "qechainoperatorinput.h"
#include "qenonblockingevent.h"

/**
 * Process audio data with a chain operator 
 * provided by libecasound
 */
class QEChainopEvent : public QDialog, 
		       public QENonblockingEvent {
  Q_OBJECT

public slots:

  void process(void);
  void preview(void); 

signals:

  void finished(void);

private:

  enum { preview_mode, process_mode, invalid } mode;

  void init_layout(void);

  ECA_CONTROL* ectrl;
  string input_rep, output_rep, preview_output_rep;
  long int start_pos_rep;
  long int length_rep;
  QEChainOperatorInput* copinput;

public:

  virtual long int position_in_samples(void) const;
  virtual void restart(long int start_pos, long int length);

  QSize sizeHint(void) const { return(QSize(400,400)); }
  QEChainopEvent (ECA_CONTROL* ctrl, 
		  const string& input,
		  const string& output,
		  const string& preview_output,
		  long int start_pos, 
		  long int length,
		  QWidget *parent = 0, 
		  const char *name = 0);
};

#endif