kwave  18.07.70
MultiTrackReader.h
Go to the documentation of this file.
1 /***************************************************************************
2  MultiTrackReader.h - reader for multi-track signals
3  -------------------
4  begin : Sat Jun 30 2001
5  copyright : (C) 2001 by Thomas Eschenbacher
6  email : Thomas Eschenbacher <thomas.eschenbacher@gmx.de>
7 
8  ***************************************************************************/
9 
10 /***************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 #ifndef MULTI_TRACK_READER_H
20 #define MULTI_TRACK_READER_H
21 
22 #include "config.h"
23 
24 #include <QtGlobal>
25 #include <QList>
26 #include <QObject>
27 
29 #include "libkwave/SampleReader.h"
30 
31 namespace Kwave
32 {
33 
34  class SignalManager;
35 
40  class Q_DECL_EXPORT MultiTrackReader
41  :public Kwave::MultiTrackSource<Kwave::SampleReader, false>
42  {
43  Q_OBJECT
44  private:
45 
48 
49  public:
50 
60  Kwave::SignalManager &signal_manager,
61  const QList<unsigned int> &track_list,
62  sample_index_t first, sample_index_t last);
63 
65  virtual ~MultiTrackReader() Q_DECL_OVERRIDE;
66 
71  virtual sample_index_t first() const;
72 
77  virtual sample_index_t last() const;
78 
80  virtual bool eof() const;
81 
83  inline virtual bool isEmpty() const {
84  return
86  }
87 
89  inline bool isCanceled() const { return m_canceled; }
90 
92  virtual bool insert(unsigned int track, Kwave::SampleReader *reader)
93  Q_DECL_OVERRIDE;
94 
96  virtual void skip(sample_index_t count);
97 
99  virtual void seek(sample_index_t pos);
100 
101  signals:
102 
106  void progress(qreal percent);
107 
108  public slots:
109 
114  void cancel();
115 
117  void reset();
118 
119  private slots:
120 
124  void proceeded();
125 
126  protected:
127 
130 
133 
139 
140  };
141 }
142 
143 #endif /* MULTI_TRACK_READER_H */
144 
145 //***************************************************************************
146 //***************************************************************************
Definition: App.h:33
ReaderMode
Definition: ReaderMode.h:27
quint64 sample_index_t
Definition: Sample.h:28
virtual bool isEmpty() const