Warning, file /multimedia/k3b/libk3b/projects/k3binffilewriter.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-FileCopyrightText: 1998-2008 Sebastian Trueg <trueg@k3b.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef _K3B_INF_FILE_WRITER_H_
0008 #define _K3B_INF_FILE_WRITER_H_
0009 
0010 #include "k3bmsf.h"
0011 
0012 
0013 namespace K3b {
0014     namespace Device {
0015         class Track;
0016         class TrackCdText;
0017         class CdText;
0018     }
0019 
0020     class InfFileWriter
0021     {
0022     public:
0023         InfFileWriter();
0024 
0025         bool save( QTextStream& );
0026         bool save( const QString& filename );
0027 
0028         /**
0029          * Use this to set:
0030          * @li trackStart
0031          * @li trackLength
0032          * @li index0
0033          * @li all indices
0034          * @li preemphasis
0035          * @li copyPermitted
0036          * @li ISRC
0037          *
0038          * Endianess is set to big.
0039          *
0040          * Tracknumber needs to be set manually.
0041          */
0042         void setTrack( const Device::Track& );
0043 
0044         void clearIndices() { m_indices.clear(); }
0045 
0046         /**
0047          * This is relative to the track start
0048          */
0049         void setIndex0( int i ) { m_index0 = i; }
0050         void addIndex( long i );
0051 
0052         void setTrackNumber( int i ) { m_trackNumber = i; }
0053 
0054         void setTrackStart( const Msf& i ) { m_trackStart = i; }
0055         void setTrackLength( const Msf& i ) { m_trackLength = i; }
0056 
0057         void setPreEmphasis( bool b ) { m_preEmphasis = b; }
0058         void setCopyPermitted( bool b ) { m_copyPermitted = b; }
0059 
0060         /**
0061          * Cdrecord seems to ignore this anyway and always expect big endian
0062          * data on stdin and wavs are little endian anyway.
0063          */
0064         void setBigEndian( bool b ) { m_bigEndian = b; }
0065 
0066         void setTrackCdText( const Device::TrackCdText& );
0067         void setTrackTitle( const QString& s ) { m_trackTitle = s; }
0068         void setTrackPerformer( const QString& s ) { m_trackPerformer = s; }
0069         void setTrackSongwriter( const QString& s ) { m_trackSongwriter = s; }
0070         void setTrackComposer( const QString& s ) { m_trackComposer = s; }
0071         void setTrackArranger( const QString& s ) { m_trackArranger = s; }
0072         void setTrackMessage( const QString& s ) { m_trackMessage = s; }
0073 
0074         void setCdText( const Device::CdText& );
0075         void setAlbumTitle( const QString& s ) { m_albumTitle = s; }
0076         void setAlbumPerformer( const QString& s ) { m_albumPerformer = s; }
0077 
0078         void setIsrc( const QByteArray& s ) { m_isrc = s; }
0079         void setMcn( const QByteArray& s ) { m_mcn = s; }
0080 
0081     private:
0082         long m_index0;
0083 
0084         QList<long> m_indices;
0085 
0086         int m_trackNumber;
0087         Msf m_trackStart;
0088         Msf m_trackLength;
0089         bool m_preEmphasis;
0090         bool m_copyPermitted;
0091         bool m_bigEndian;
0092 
0093         QString m_trackTitle;
0094         QString m_trackPerformer;
0095         QString m_trackSongwriter;
0096         QString m_trackComposer;
0097         QString m_trackArranger;
0098         QString m_trackMessage;
0099 
0100         QString m_albumTitle;
0101         QString m_albumPerformer;
0102 
0103         QByteArray m_isrc;
0104         QByteArray m_mcn;
0105     };
0106 }
0107 
0108 #endif