File indexing completed on 2024-04-21 04:54:25

0001 /*
0002  *  KCompactDisc - A CD drive interface for the KDE Project.
0003  *
0004  *  Copyright (C) 2007 Alexander Kern <alex.kern@gmx.de>
0005  *
0006  *  This program is free software; you can redistribute it and/or modify
0007  *  it under the terms of the GNU General Public License as published by
0008  *  the Free Software Foundation; either version 2, or (at your option)
0009  *  any later version.
0010  *
0011  *  This program is distributed in the hope that it will be useful,
0012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014  *  GNU General Public License for more details.
0015  *
0016  *  You should have received a copy of the GNU General Public License
0017  *  along with this program; if not, write to the Free Software
0018  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0019  */
0020 
0021 #ifndef WMLIB_INTERFACE_H
0022 #define WMLIB_INTERFACE_H
0023 
0024 #include "kcompactdisc_p.h"
0025 
0026 class KWMLibCompactDiscPrivate : public KCompactDiscPrivate
0027 {
0028     Q_OBJECT
0029 
0030     public:
0031         KWMLibCompactDiscPrivate(KCompactDisc *, const QString&, const QString &, const QString&);
0032         ~KWMLibCompactDiscPrivate() override;
0033 
0034         bool createInterface() override;
0035 
0036         unsigned trackLength(unsigned) override;
0037         bool isTrackAudio(unsigned) override;
0038         void playTrackPosition(unsigned, unsigned) override;
0039         void pause() override;
0040         void stop() override;
0041         void eject() override;
0042         void closetray() override;
0043     
0044         void setVolume(unsigned) override;
0045         void setBalance(unsigned) override;
0046         unsigned volume() override;
0047         unsigned balance() override;
0048     
0049         void queryMetadata() override;
0050 
0051 
0052     private:
0053         KCompactDisc::DiscStatus discStatusTranslate(int);
0054         void *m_handle;
0055         QString m_audioSystem;
0056         QString m_audioDevice;
0057 
0058     
0059     private Q_SLOTS:
0060         void timerExpired();
0061         void cdtext();
0062 };
0063 
0064 #endif // WMLIB_INTERFACE_H