~ubuntu-branches/ubuntu/quantal/muse/quantal

« back to all changes in this revision

Viewing changes to driver/alsaaudio.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2005-08-23 17:19:39 UTC
  • mto: (4.1.1 breezy) (1.1.9) (10.1.6 sid)
  • mto: This revision was merged to the branch mainline in revision 5.
  • Revision ID: james.westby@ubuntu.com-20050823171939-hd8fgzokb4dbj007
Tags: upstream-0.7.1+0.7.2pre2
ImportĀ upstreamĀ versionĀ 0.7.1+0.7.2pre2

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//=========================================================
2
 
//  MusE
3
 
//  Linux Music Editor
4
 
//    $Id: alsaaudio.h,v 1.1.1.1 2003/10/29 10:06:12 wschweer Exp $
5
 
//  (C) Copyright 2002 Werner Schweer (ws@seh.de)
6
 
//=========================================================
7
 
 
8
 
#ifndef __ALSAAUDIO_H__
9
 
#define __ALSAAUDIO_H__
10
 
 
11
 
#include <alsa/asoundlib.h>
12
 
#include "audiodev.h"
13
 
#include "thread.h"
14
 
 
15
 
//---------------------------------------------------------
16
 
//   AlsaAudioDevice
17
 
//---------------------------------------------------------
18
 
 
19
 
class AlsaAudioDevice : public AudioDevice, public Thread {
20
 
      struct AlsaPort {
21
 
            int card, dev;
22
 
            int flags;
23
 
            QString name;
24
 
            AlsaPort(int c, int d, const QString& s, int f) {
25
 
                  card = c;
26
 
                  dev  = d;
27
 
                  name = s;
28
 
                  flags = f;
29
 
                  }
30
 
            };
31
 
      std::list<AlsaPort*> portList;
32
 
 
33
 
      snd_pcm_t* captureHandle;
34
 
      snd_pcm_t* playbackHandle;
35
 
      snd_pcm_sframes_t samplesWritten;
36
 
 
37
 
      int inPorts;
38
 
      int outPorts;
39
 
      float** readBuffer;
40
 
      virtual void threadStart(void*);
41
 
 
42
 
   public:
43
 
      AlsaAudioDevice();
44
 
      virtual ~AlsaAudioDevice();
45
 
 
46
 
      void readCallback();
47
 
 
48
 
      bool init();
49
 
      virtual void read(int, unsigned long, float**);
50
 
      virtual void write(int, unsigned long, float**);
51
 
      virtual void start();
52
 
      virtual void stop ();
53
 
      virtual void activate(bool);
54
 
      virtual int curPlayPos() const;
55
 
 
56
 
      virtual std::list<QString> outputPorts();
57
 
      virtual std::list<QString> inputPorts();
58
 
 
59
 
      virtual void setInputPort(const QString&);
60
 
      virtual void setOutputPort(const QString&);
61
 
      };
62
 
 
63
 
extern AlsaAudioDevice* alsaAudioDevice;
64
 
 
65
 
#endif
66