Lots of work on album grouping in the playlist. Now handles ragging around stuff...
[amarok.git] / src / k3bexporter.h
blob08284745d0b2d9fe6310b818b0c60d4171f694f6
1 /***************************************************************************
2 begin : Mon May 31 2004
3 copyright : (C) 2004 by Michael Pyne
4 (c) 2004 by Pierpaolo Di Panfilo
5 email : michael.pyne@kdemail.net
6 ***************************************************************************/
8 /***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
17 #ifndef K3BEXPORTER_H
18 #define K3BEXPORTER_H
20 #include "amarok_export.h"
22 #include <KUrl>
24 //class DCOPRef;
26 /**
27 * This class will export a list of tracks to K3b.
29 class K3bExporter
31 public:
32 enum K3bOpenMode { AudioCD, DataCD, Abort };
34 /**
35 * @return true if the executable of K3B is found
37 // FIXME: implement me!
38 AMAROK_EXPORT static bool isAvailable() { return false; }
41 /**
42 * Exports the list of urls @urls via DCOP to K3B. The mode @p openmode will be used
43 * @param urls The list of urls to export
44 * @param openmode The mode of the album
46 // FIXME: implement me!
47 AMAROK_EXPORT void exportTracks( const KUrl::List &/*urls*/, int openmode=-1 ) { Q_UNUSED(openmode) }
49 /**
50 * Exports the current playlist to K3B. The mode @p openmode will be used
51 * @param openmode The mode of the album
53 // FIXME: implement me!
54 void exportCurrentPlaylist( int openmode=-1 ) { Q_UNUSED(openmode) }
56 /**
57 * Exports the selected tracks to K3B. The mode @p openmode will be used
58 * @param openmode The mode of the tracks
60 // FIXME: implement me!
61 void exportSelectedTracks( int openmode=-1 ) { Q_UNUSED(openmode) }
63 /**
64 * Exports the album @p album to K3B. The mode @p openmode will be used
65 * @param openmode The mode of the album
66 * @param album The album to export
68 // FIXME: implement me!
69 void exportAlbum( const QString &/*album*/, int openmode=-1 ) { Q_UNUSED(openmode) }
71 /**
72 * Exports the album @p album by artist @ artist to K3B. The mode @p openmode will be used
73 * @param openmode The mode of the album
74 * @param album The album to export
76 // FIXME: implement me!
77 void exportAlbum( const QString &/*artist*/, const QString &/*album*/, int openmode=-1 ) { Q_UNUSED(openmode) }
79 /**
80 * Exports all tracks of the artist @p artist to K3B. The mode @p openmode will be used
81 * @param openmode The mode of the album
82 * @param artist The artists which tracks to export
84 // FIXME: implement me!
85 void exportArtist( const QString &/*artist*/, int openmode=-1 ) { Q_UNUSED(openmode) }
87 /**
88 * Exports all tracks of the composer @p composer to K3B. The mode @p openmode will be used
89 * @param openmode The mode of the album
90 * @param artist The artists which tracks to export
92 // FIXME: implement me!
93 void exportComposer( const QString &/*artist*/, int openmode=-1 ) { Q_UNUSED(openmode) }
95 /**
96 * @return the static instance of K3bExporter
98 static K3bExporter *instance() { return s_instance; }
100 private:
101 /*void exportViaCmdLine( const KUrl::List &urls, int openmode );
102 void exportViaDCOP( const KUrl::List &urls, DCOPRef &ref, int mode );
103 void DCOPErrorMessage();
104 bool startNewK3bProject( DCOPRef &ref, int mode );
105 K3bOpenMode openMode();*/
107 AMAROK_EXPORT static K3bExporter *s_instance;
111 #endif /* K3BEXPORTER_H */