/usr/include/k3btrack.h is in libk3b-dev 17.12.3-0ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | /*
*
* Copyright (C) 2003-2009 Sebastian Trueg <trueg@k3b.org>
*
* This file is part of the K3b project.
* Copyright (C) 1998-2009 Sebastian Trueg <trueg@k3b.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* See the file "COPYING" for the exact licensing terms.
*/
#ifndef K3BTRACK_H
#define K3BTRACK_H
#include "k3bmsf.h"
#include "k3bdevice_export.h"
#include <QtCore/QSharedDataPointer>
namespace K3b {
namespace Device
{
class LIBK3BDEVICE_EXPORT Track
{
public:
enum TrackType {
TYPE_AUDIO,
TYPE_DATA,
TYPE_UNKNOWN = -1
};
enum DataMode {
MODE1,
MODE2,
XA_FORM1,
XA_FORM2,
DVD,
UNKNOWN
};
Track();
Track( const Track& );
Track( const K3b::Msf& firstSector,
const K3b::Msf& lastSector,
TrackType type,
DataMode mode = UNKNOWN );
~Track();
Track& operator=( const Track& );
TrackType type() const;
void setType( TrackType );
/**
* UNKNOWN for DVDs and Audio CDs
*/
DataMode mode() const;
void setMode( DataMode );
/**
* Invalid for DVDs
*/
bool copyPermitted() const;
void setCopyPermitted( bool b );
/**
* Only valid for audio tracks
*/
bool preEmphasis() const;
void setPreEmphasis( bool b );
bool recordedIncremental() const;
bool recordedUninterrupted() const;
QByteArray isrc() const;
void setIsrc( const QByteArray& s );
K3b::Msf firstSector() const;
K3b::Msf lastSector() const;
void setFirstSector( const K3b::Msf& msf );
void setLastSector( const K3b::Msf& msf );
K3b::Msf nextWritableAddress() const;
void setNextWritableAddress( const K3b::Msf& );
K3b::Msf freeBlocks() const;
void setFreeBlocks( const K3b::Msf& );
K3b::Msf length() const;
/**
* This takes index0 into account
*/
K3b::Msf realAudioLength() const;
/**
* 0 if unknown
*/
int session() const;
void setSession( int s );
/**
* @return number of indices. This does not include index 0.
*/
int indexCount() const;
/**
* Returns the index relative to the track's start.
* If it is zero there is no index0.
*/
K3b::Msf index0() const;
/**
* Set the track's index0 value.
* @param msf offset relative to track start.
*/
void setIndex0( const K3b::Msf& msf );
/**
* All indices. Normally this list is empty as indices are rarely used.
* Starts with index 2 (since index 1 are all other sectors FIXME)
*/
QList<K3b::Msf> indices() const;
void setIndices( const QList<K3b::Msf>& );
bool operator==( const Track& ) const;
bool operator!=( const Track& ) const;
private:
class Private;
QSharedDataPointer<Private> d;
};
}
}
LIBK3BDEVICE_EXPORT QDebug operator<<( QDebug s, const K3b::Device::Track& track );
/**
* Dummy implementation to allow compilation on Windows
*/
uint qHash( const K3b::Device::Track& key );
#endif
|