KCompactDisc

phonon_interface.h
1/*
2 *
3 * Copyright (C) 2004-2007 Matthias Kretz <kretz@kde.org>
4 * Copyright (C) by Alexander Kern <alex.kern@gmx.de>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public
17 * License along with this library; if not, write to the Free
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 *
21 * CDDA version taken from guitest in phonon test directory
22 */
23
24#ifndef PHONON_INTERFACE_H
25#define PHONON_INTERFACE_H
26
27#include "kcompactdisc_p.h"
28#include <phonon/phononnamespace.h>
29
30class ProducerWidget;
31
32class KPhononCompactDiscPrivate : public KCompactDiscPrivate
33{
34 Q_OBJECT
35
36 public:
37 KPhononCompactDiscPrivate(KCompactDisc *, const QString &);
38 ~KPhononCompactDiscPrivate() override;
39
40 bool createInterface() override;
41
42 unsigned trackLength(unsigned) override;
43 bool isTrackAudio(unsigned) override;
44 void playTrackPosition(unsigned, unsigned) override;
45 void pause() override;
46 void stop() override;
47 void eject() override;
48 void closetray() override;
49
50 void setVolume(unsigned) override;
51 void setBalance(unsigned) override;
52 unsigned volume() override;
53 unsigned balance() override;
54
55 void queryMetadata() override;
56
57
58 private:
59 ProducerWidget *m_producerWidget;
60 ProducerWidget *producer();
61 QString m_udi;
62
63 KCompactDisc::DiscStatus discStatusTranslate(Phonon::State);
64
65 public Q_SLOTS:
66 void tick(qint64);
67 void stateChanged(Phonon::State, Phonon::State);
68};
69
70#endif // PHONON_INTERFACE_H
KCompactDisc - A CD drive interface for the KDE Project.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:13:35 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.