diff options
Diffstat (limited to 'kcontrol/arts/arts.h')
-rw-r--r-- | kcontrol/arts/arts.h | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/kcontrol/arts/arts.h b/kcontrol/arts/arts.h new file mode 100644 index 000000000..6306b2411 --- /dev/null +++ b/kcontrol/arts/arts.h @@ -0,0 +1,135 @@ + /* + + Copyright (C) 2000 Stefan Westerfeld + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Permission is also granted to link this program with the Qt + library, treating Qt like a library that normally accompanies the + operating system kernel, whether or not that is in fact the case. + + */ + +#ifndef KARTSCONFIG_H +#define KARTSCONFIG_H + +#include <tdeapplication.h> + +#include <tqbuttongroup.h> +#include <tqcheckbox.h> +#include <tqlabel.h> +#include <tqlineedit.h> +#include <tqradiobutton.h> +#include <tqtimer.h> + +#include <tdecmodule.h> +#include <knuminput.h> +#include <kprogress.h> + +#include "generaltab.h" +#include "hardwaretab.h" + + +class TDEProcess; +class DeviceManager; + +class KArtsModule : public TDECModule +{ + Q_OBJECT + +public: + + KArtsModule(TQWidget *parent=0, const char *name=0); + ~KArtsModule(); + void saveParams( void ); + + void load(); + void load( bool useDefaults ); + void save(); + void defaults(); + + bool artsdIsRunning(); + +private slots: + + void slotChanged(); + void slotTestSound(); + void slotArtsdExited(TDEProcess* proc); + void slotProcessArtsdOutput(TDEProcess* p, char* buf, int len); + //void slotStartServerChanged(); + +private: + + void updateWidgets (); + void calculateLatency(); + TQString createArgs(bool netTrans,bool duplex, int fragmentCount, + int fragmentSize, + const TQString &deviceName, + int rate, int bits, const TQString &audioIO, + const TQString &addOptions, bool autoSuspend, + int suspendTime); + int userSavedChanges(); + + TQCheckBox *startServer, *startRealtime, *networkTransparent, + *fullDuplex, *customDevice, *customRate, *autoSuspend; + TQLineEdit *deviceName; + TQSpinBox *samplingRate; + KIntNumInput *suspendTime; + generalTab *general; + hardwareTab *hardware; + TDEConfig *config; + DeviceManager *deviceManager; + int latestProcessStatus; + int fragmentCount; + int fragmentSize; + bool configChanged; + bool realtimePossible; + + class AudioIOElement { + public: + AudioIOElement(const TQString &name, const TQString &fullName) + : name(name), fullName(fullName) {;} + TQString name; + TQString fullName; + }; + + void initAudioIOList(); + TQPtrList<AudioIOElement> audioIOList; + + void restartServer(); + bool realtimeIsPossible(); +}; + + +class KStartArtsProgressDialog : public KProgressDialog +{ + Q_OBJECT +public: + KStartArtsProgressDialog(KArtsModule *parent, const char *name, + const TQString &caption, const TQString &text); +public slots: + void slotProgress(); + void slotFinished(); + +private: + TQTimer m_timer; + int m_timeStep; + KArtsModule *m_module; + bool m_shutdown; +}; + +#endif + |