File indexing completed on 2024-04-28 04:50:20
0001 /* 0002 SPDX-FileCopyrightText: 2010-2011 Michal Malek <michalm@jabster.pl> 0003 SPDX-FileCopyrightText: 1998-2008 Sebastian Trueg <trueg@k3b.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 0009 #include "k3baudioprojectconvertingjob.h" 0010 #include "k3baudiodoc.h" 0011 #include "k3baudioencoder.h" 0012 #include "k3baudiotrack.h" 0013 #include "k3baudiotrackreader.h" 0014 0015 #include <KCDDB/CDInfo> 0016 0017 #include <KLocalizedString> 0018 0019 0020 namespace K3b { 0021 0022 class AudioProjectConvertingJob::Private 0023 { 0024 public: 0025 Private( AudioDoc* d ) 0026 : doc(d) { 0027 } 0028 0029 AudioDoc* doc; 0030 }; 0031 0032 0033 AudioProjectConvertingJob::AudioProjectConvertingJob( AudioDoc* doc, JobHandler* hdl, QObject* parent ) 0034 : MassAudioEncodingJob( true, hdl, parent ), 0035 d( new Private( doc ) ) 0036 { 0037 } 0038 0039 0040 AudioProjectConvertingJob::~AudioProjectConvertingJob() 0041 { 0042 } 0043 0044 0045 QString AudioProjectConvertingJob::jobDescription() const 0046 { 0047 if( cddbEntry().get( KCDDB::Title ).toString().isEmpty() ) 0048 return i18n( "Converting Audio Tracks" ); 0049 else 0050 return i18n( "Converting Audio Tracks From '%1'", 0051 cddbEntry().get( KCDDB::Title ).toString() ); 0052 } 0053 0054 0055 bool AudioProjectConvertingJob::init() 0056 { 0057 emit newTask( i18n("Converting Audio Tracks") ); 0058 emit infoMessage( i18n("Starting audio conversion."), Job::MessageInfo ); 0059 return true; 0060 } 0061 0062 0063 Msf AudioProjectConvertingJob::trackLength( int trackIndex ) const 0064 { 0065 if( AudioTrack* track = d->doc->getTrack( trackIndex ) ) 0066 return track->length(); 0067 else 0068 return Msf(); 0069 } 0070 0071 0072 QIODevice* AudioProjectConvertingJob::createReader( int trackIndex ) const 0073 { 0074 if( AudioTrack* track = d->doc->getTrack( trackIndex ) ) 0075 return new AudioTrackReader( *track ); 0076 else 0077 return 0; 0078 } 0079 0080 0081 void AudioProjectConvertingJob::trackStarted( int trackIndex ) 0082 { 0083 if( !cddbEntry().track( trackIndex-1 ).get( KCDDB::Artist ).toString().isEmpty() && 0084 !cddbEntry().track( trackIndex-1 ).get( KCDDB::Title ).toString().isEmpty() ) 0085 emit newSubTask( i18n( "Converting track %1 (%2 - %3)", 0086 trackIndex, 0087 cddbEntry().track( trackIndex-1 ).get( KCDDB::Artist ).toString(), 0088 cddbEntry().track( trackIndex-1 ).get( KCDDB::Title ).toString() ) ); 0089 else 0090 emit newSubTask( i18n("Converting track %1", trackIndex) ); 0091 } 0092 0093 0094 void AudioProjectConvertingJob::trackFinished( int trackIndex, const QString& /*filename*/ ) 0095 { 0096 emit infoMessage( i18n("Successfully converted track %1.", trackIndex), Job::MessageInfo ); 0097 } 0098 0099 } // namespace K3b 0100 0101 #include "moc_k3baudioprojectconvertingjob.cpp"