~ubuntu-branches/ubuntu/breezy/muse/breezy

« back to all changes in this revision

Viewing changes to driver/alsaaudio.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2004-02-07 15:18:22 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040207151822-es27xxkzbcxkebjm
Tags: 0.6.3-1
* New upstream version.
* Added patches:
  + [10_alsa_init_fix] New, from upstream CVS.
    Initialize direction variable when setting Alsa parameters.
  + [10_canvas_translation_fix] New, from upstream CVS.
    Do not translate tooltips twice in canvas popup.
  + [10_checkbox_fix] New, from upstream CVS.
    Use proper set/test methods on metronome checkboxes.
  + [10_html_doc_cleanup] New.
    Fix links and HTML errors in documentation.
  + [20_allow_system_timer] New.
    The new upstream version fails by default if the real-time clock
    could not be accessed (usually the case when not running suid-root).
    This patch reverts the old behaviour of falling back to the more
    inaccurate system timer.
* Updated patches:
  + [11_PIC_fixes_fixup] Rediffed.
* Removed patches:
  + [20_no_atomic_asm] Merged upstream.
* debian/compat: Splice out debhelper compatibility level from rules file.
* debian/control: Build-depend on latest jack release by default.
  Closes: #228788
* debian/control: Bump standards version.
* debian/control: Use auto-generated debconf dependency via misc:Depends.
* debian/control: Minor tweaks to the long description.
* debian/control: Tighten fluidsynth build dependency to sane version.
* debian/muse.doc-base: New. Register HTML documentation with doc-base.
* debian/templates: Tiny rewording, and typo fix.
* debian/templates, debian/po/*: Switch to po-debconf for translations.

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