![]() |
Mixxx
|
00001 /*************************************************************************** 00002 dlgprefcrossfader.h - description 00003 ------------------- 00004 begin : Thu Jun 7 2007 00005 copyright : (C) 2007 by John Sully 00006 email : jsully@scs.ryerson.ca 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef DLGPREFCROSSFADER_H 00019 #define DLGPREFCROSSFADER_H 00020 00021 #include "ui_dlgprefcrossfaderdlg.h" 00022 #include "configobject.h" 00023 #include "controlobjectthread.h" 00024 00025 #define MIXXX_XFADER_SLOWFADE "SlowFade" 00026 #define MIXXX_XFADER_FASTCUT "FastCut" 00027 #define MIXXX_XFADER_CONSTPWR "ConstantPower" 00028 00029 #define MIXXX_XFADER_STEEPNESS_COEFF 8.0f 00030 00031 class QWidget; 00036 class DlgPrefCrossfader : public QWidget, public Ui::DlgPrefCrossfaderDlg { 00037 Q_OBJECT 00038 public: 00039 DlgPrefCrossfader(QWidget *parent, ConfigObject<ConfigValue> *_config); 00040 ~DlgPrefCrossfader(); 00041 public slots: 00043 void slotUpdateXFader(); 00045 void slotApply(); 00046 void slotUpdate(); 00047 void setDefaults(); 00048 signals: 00049 void apply(const QString &); 00050 private: 00051 void loadSettings(); 00052 void drawXfaderDisplay(); 00053 00055 ConfigObject<ConfigValue> *config; 00056 00057 QGraphicsScene *m_pxfScene; 00058 00060 double m_transform, m_cal; 00061 00063 QString m_xFaderMode; 00064 00065 ControlObjectThread m_COTCurve; 00066 ControlObjectThread m_COTCalibration; 00067 }; 00068 00069 #endif