1 /* 2 SPDX-FileCopyrightText: 2010 Michal Malek <michalm@jabster.pl> 3 SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org> 4 5 SPDX-License-Identifier: GPL-2.0-or-later 6 */ 7 8 9 #ifndef _K3B_AUDIO_PROJECT_INTERFACE_H_ 10 #define _K3B_AUDIO_PROJECT_INTERFACE_H_ 11 12 #include "k3bprojectinterface.h" 13 14 15 namespace K3b { 16 class AudioDoc; 17 18 class AudioProjectInterface : public ProjectInterface 19 { 20 Q_OBJECT 21 Q_CLASSINFO( "D-Bus Interface", "org.k3b.AudioProject" ) 22 23 public: 24 explicit AudioProjectInterface( AudioDoc* doc, const QString& dbusPath = QString() ); 25 26 public Q_SLOTS: 27 int trackCount() const; 28 QString title() const; 29 QString artist() const; 30 QString trackTitle( int trackNum ) const; 31 QString trackArtist( int trackNum ) const; 32 33 /** 34 * Set the global CD-Text title field. 35 */ 36 void setTitle( const QString& title ); 37 38 /** 39 * Set the global CD-Text artist field. 40 */ 41 void setArtist( const QString& artist ); 42 43 /** 44 * Set the track CD-Text title field. 45 */ 46 void setTrackTitle( int trackNum, const QString& title ); 47 48 /** 49 * Set the track CD-Text artist field. 50 */ 51 void setTrackArtist( int trackNum, const QString& artist ); 52 53 private: 54 AudioDoc* m_audioDoc; 55 }; 56 } 57 58 #endif 59