Mixxx
|
00001 00007 #ifndef VINYLCONTROLMANAGER_H 00008 #define VINYLCONTROLMANAGER_H 00009 00010 #include <QtCore> 00011 #include "soundmanagerutil.h" 00012 #include "configobject.h" 00013 00014 class VinylControlProxy; 00015 class SoundManager; 00016 class ControlPushButton; 00017 00018 class VinylControlManager : public QObject, public AudioDestination { 00019 Q_OBJECT; 00020 public: 00021 VinylControlManager(QObject *pParent, ConfigObject<ConfigValue> *pConfig); 00022 virtual ~VinylControlManager(); 00023 virtual void receiveBuffer(AudioInput input, const short *pBuffer, unsigned int nFrames); 00024 virtual void onInputConnected(AudioInput input); 00025 virtual void onInputDisconnected(AudioInput input); 00026 QList<VinylControlProxy*> vinylControlProxies(); 00027 bool vinylInputEnabled(int deck); 00028 VinylControlProxy* getVinylControlProxyForChannel(QString); 00029 public slots: 00030 void reloadConfig(); 00031 signals: 00032 private slots: 00033 void toggleDeck(double value); 00034 private: 00035 ConfigObject<ConfigValue> *m_pConfig; 00036 QVector<VinylControlProxy*> m_proxies; 00037 QReadWriteLock m_proxiesLock; 00038 ControlPushButton *m_pToggle; 00039 }; 00040 00041 #endif // VINYLCONTROLMANAGER_H