~diwic/+junk/qarecord

« back to all changes in this revision

Viewing changes to src/diskwrite.h

  • Committer: David Henningsson
  • Date: 2009-08-05 20:52:16 UTC
  • mfrom: (13.1.1 qarecord)
  • Revision ID: david@davidubuntu-20090805205216-qkmq6ycejdd1zf61
Now disk writing is working under Jack as well.

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
#include <qthread.h>
9
9
#include <qmutex.h>
10
10
#include "recdata.h"
 
11
#include "ringbuffer.h"
11
12
 
12
13
class DiskWrite : public QThread
13
14
{
14
15
 
15
16
  private:
16
 
    RecData *recdata;
 
17
    RingBuffer *ringBuffer;
17
18
    FILE *wavfile;
 
19
    int channels, samplesize, rate;
 
20
    bool isPaused, doRecord;
18
21
    unsigned char *wavdata;
 
22
    QString fileName; 
 
23
 
19
24
    void renameExistingFile();
20
 
  public: 
21
 
 
 
25
    int readBlock(bool waitIfEmpty, bool writeToFile);
 
26
    long long wavDataSize;
 
27
    void writeLong(long i);
 
28
    void writeShort(short i);
 
29
    void write4CC(const char *c);
22
30
 
23
 
//   bool running;
24
31
  public:
25
 
   QMutex mutex; 
26
 
    DiskWrite(RecData *p_recdata);
 
32
    QMutex mutex; 
 
33
    DiskWrite(SettingsData *settings, RingBuffer *p_ringBuffer);
27
34
    ~DiskWrite();
28
 
    virtual void run();                    
29
 
//    virtual void running();                    
 
35
    void setFileName(QString s) { fileName = s; }
 
36
    virtual void run();
 
37
    void setPaused(bool p) { isPaused = p; }
 
38
    void stop() { doRecord = false; }
 
39
    long long getDataSize() { return wavDataSize; }
30
40
};
31
41
  
32
42
#endif