Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
/home/iurt/rpm/BUILD/canorus-0.7.R1002/src/core/midirecorder.h
Go to the documentation of this file.
00001 
00008 #ifndef MIDIRECORDER_H_
00009 #define MIDIRECORDER_H_
00010 
00011 #include <QTimer>
00012 #include <QVector>
00013 
00014 class CAMidiExport;
00015 class CAResource;
00016 class CAMidiDevice;
00017 
00018 class CAMidiRecorder : public QObject {
00019 #ifndef SWIG
00020         Q_OBJECT
00021 #endif
00022 public:
00023         CAMidiRecorder( CAResource *r, CAMidiDevice *d );
00024         virtual ~CAMidiRecorder();
00025 
00026         void startRecording( int time=0 );
00027         void pauseRecording();
00028         void stopRecording();
00029 
00030         const unsigned int& curTime() const { return _curTime; }
00031 
00032 #ifndef SWIG
00033 private slots:
00034         void timerTimeout();
00035         void onMidiInEvent( QVector<unsigned char> messages );
00036 #endif
00037 
00038 private:
00039         CAResource   *_resource;
00040         CAMidiExport *_midiExport;
00041         QTimer       *_timer;
00042         unsigned int  _curTime;
00043 
00044         bool          _paused;
00045 };
00046 
00047 #endif /* MIDIRECORDER_H_ */