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