~ubuntu-branches/ubuntu/gutsy/muse/gutsy

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//=========================================================
//  MusE
//  Linux Music Editor
//  $Id: seq.h,v 1.1.1.1 2003/10/29 10:05:00 wschweer Exp $
//
//  (C) Copyright 1999/2000 Werner Schweer (ws@seh.de)
//=========================================================

#ifndef __SEQ_H__
#define __SEQ_H__

#include <qobject.h>
#include <pthread.h>
#include <qstring.h>
#include <unistd.h>
#include "mtc.h"
#include "value.h"
#include "tempo.h"

class Xml;
class AudioPort;
class EventList;
class SEventList;
class MidiEvent;

class SndFile;

//---------------------------------------------------------
//   Sequencer
//---------------------------------------------------------

class Sequencer : public QObject {
      // recording values
      int recStartTick;
      int nextClick;

      Q_OBJECT;
      void loadConfigMetronom(Xml& xml);
      void readConfigAudioPort(Xml& xml);
      void readConfigAudioGroup(Xml& xml);
      void readConfigAudioMaster(Xml& xml);
      void readConfigAudioInput(Xml& xml);
      void readConfigMidiPort(Xml& xml);
      void readMixdown(Xml& xml);
      bool notify();
      pthread_t watchdogThread;

   public:
      Sequencer();
      ~Sequencer();

      void start();
      void stop();
      bool isRunning();

      void writeConfiguration(int, Xml&);
      void readConfiguration(Xml&);
      };
extern Sequencer* seq;
extern Sequencer* seq;
#endif