1 /*  cdrdao - write audio CD-Rs in disc-at-once mode
2  *
3  *  Copyright (C) 1998-2001  Andreas Mueller <andreas@daneb.de>
4  *
5  *  This program is free software; you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation; either version 2 of the License, or
8  *  (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with this program; if not, write to the Free Software
17  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */
19 
20 #ifndef __SUBTRACK_H__
21 #define __SUBTRACK_H__
22 
23 #include "TrackData.h"
24 
25 class SubTrack : public TrackData {
26 public:
27   enum Type { PAD, DATA };
28 
29   SubTrack(Type, unsigned long start, const TrackData &);
30   SubTrack(Type, const TrackData &);
31   SubTrack(const SubTrack &);
32   ~SubTrack();
33 
type()34   Type type() const { return type_; }
start()35   unsigned long start() const { return start_; }
start(unsigned long s)36   void start(unsigned long s) { start_ = s; }
37 
38 private:
39   unsigned long start_; // start postion (samples) within containing track
40   Type type_;
41 
42   class SubTrack *next_;
43   class SubTrack *pred_;
44 
45   friend class Track;
46   friend class TrackReader;
47   friend class SubTrackIterator;
48 };
49 
50 
51 #endif
52