File indexing completed on 2024-10-06 04:25:57

0001 /*
0002     SPDX-FileCopyrightText: 2010 Michal Malek <michalm@jabster.pl>
0003     SPDX-FileCopyrightText: 1998-2007 Sebastian Trueg <trueg@k3b.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 
0009 #ifndef _K3B_AUDIO_PROJECT_INTERFACE_H_
0010 #define _K3B_AUDIO_PROJECT_INTERFACE_H_
0011 
0012 #include "k3bprojectinterface.h"
0013 
0014 
0015 namespace K3b {
0016     class AudioDoc;
0017 
0018     class AudioProjectInterface : public ProjectInterface
0019     {
0020         Q_OBJECT
0021         Q_CLASSINFO( "D-Bus Interface", "org.k3b.AudioProject" )
0022 
0023     public:
0024         explicit AudioProjectInterface( AudioDoc* doc, const QString& dbusPath = QString() );
0025 
0026     public Q_SLOTS:
0027         int trackCount() const;
0028         QString title() const;
0029         QString artist() const;
0030         QString trackTitle( int trackNum ) const;
0031         QString trackArtist( int trackNum ) const;
0032 
0033         /**
0034         * Set the global CD-Text title field.
0035         */
0036         void setTitle( const QString& title );
0037 
0038         /**
0039         * Set the global CD-Text artist field.
0040         */
0041         void setArtist( const QString& artist );
0042 
0043         /**
0044         * Set the track CD-Text title field.
0045         */
0046         void setTrackTitle( int trackNum, const QString& title );
0047 
0048         /**
0049         * Set the track CD-Text artist field.
0050         */
0051         void setTrackArtist( int trackNum, const QString& artist );
0052 
0053     private:
0054         AudioDoc* m_audioDoc;
0055     };
0056 }
0057 
0058 #endif