aboutsummaryrefslogblamecommitdiff
path: root/src/plugins/Effect/ladspa/ladspaslider.cpp
blob: 0245e9ed2de17b5d5284906b4dbb37d8f5af6f2b (plain) (tree)
1
2
3
                                                                            
                                                                            
                                                                            













                                                                            
                                                                            

                                                                             


                         

                         

                                                                                 



                  



















                                                                              
                                                                      




                                     
                                 
                                         
                                  



                                  
                                  
                                          
                                
                                   
 
/***************************************************************************
 *   Copyright (C) 2009-2012 by Ilya Kotov                                 *
 *   forkotov02@ya.ru                                                      *
 *                                                                         *
 *   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.         *
 ***************************************************************************/

#include <QDoubleSpinBox>
#include <QSlider>
#include <QHBoxLayout>
#include "ladspaslider.h"

LADSPASlider::LADSPASlider(double min, double max, double step,
                           LADSPA_Data *value, QWidget *parent) : QWidget(parent)
{
    m_min = min;
    m_max = max;
    m_step = step;
    m_value = value;
    m_slider = new QSlider(Qt::Horizontal, this);
    m_spinBox = new QDoubleSpinBox(this);

    QHBoxLayout *layout = new QHBoxLayout(this);
    layout->addWidget(m_slider);
    layout->addWidget(m_spinBox);
    layout->setContentsMargins (0, 0, 0, 0);
    setLayout(layout);

    m_spinBox->setRange(min, max);
    m_spinBox->setSingleStep(step);
    m_spinBox->setValue(*value);

    m_slider->setRange(0, (max-min)/step);
    m_slider->setSingleStep(1);
    m_slider->setPageStep(10);
    m_slider->setValue((*value-min)/step);

    connect(m_spinBox, SIGNAL(valueChanged (double)), SLOT(setValue(double)));
    connect(m_slider, SIGNAL(valueChanged (int)),SLOT(setValue(int)));
}

void LADSPASlider::setValue(double v)
{
    *m_value = v;
    m_slider->blockSignals(true);
    m_slider->setValue((v-m_min)/m_step);
    m_slider->blockSignals(false);
}

void LADSPASlider::setValue(int v)
{
    m_spinBox->blockSignals(true);
    m_spinBox->setValue(v*m_step + m_min);
    *m_value = v*m_step + m_min;
    m_spinBox->blockSignals(false);
}
n class="hl str">"../detailsdialog.cpp" line="140"/> <location filename="../detailsdialog.cpp" line="144"/> <source>Yes</source> <translation></translation> </message> <message> <location filename="../detailsdialog.cpp" line="136"/> <location filename="../detailsdialog.cpp" line="138"/> <source>Protection</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.cpp" line="138"/> <location filename="../detailsdialog.cpp" line="142"/> <location filename="../detailsdialog.cpp" line="146"/> <source>No</source> <translation></translation> </message> <message> <location filename="../detailsdialog.cpp" line="140"/> <location filename="../detailsdialog.cpp" line="142"/> <source>Copyright</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.cpp" line="144"/> <location filename="../detailsdialog.cpp" line="146"/> <source>Original</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.cpp" line="160"/> <location filename="../detailsdialog.ui" line="75"/> <source>ID3v1 Tag</source> <translation>ID3v1 标签</translation> </message> <message> <location filename="../detailsdialog.ui" line="384"/> <source>Save</source> <translation>保存</translation> </message> <message> <location filename="../detailsdialog.ui" line="262"/> <source>Year:</source> <translation>年代:</translation> </message> <message> <location filename="../detailsdialog.ui" line="205"/> <source>Genre:</source> <translation>流派:</translation> </message> <message> <location filename="../detailsdialog.ui" line="45"/> <source>Tags</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="173"/> <source>Disc number:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="189"/> <source>Composer:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="231"/> <source>Track:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="299"/> <source>Comment:</source> <translation>备注:</translation> </message> <message> <location filename="../detailsdialog.ui" line="139"/> <source>Album:</source> <translation>专辑:</translation> </message> <message> <location filename="../detailsdialog.ui" line="113"/> <source>Artist:</source> <translation>艺术家:</translation> </message> <message> <location filename="../detailsdialog.ui" line="87"/> <source>Title:</source> <translation>标题:</translation> </message> <message> <location filename="../detailsdialog.ui" line="14"/> <source>Details</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="312"/> <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; p, li { white-space: pre-wrap; } &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt; &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="338"/> <source>Audio Properties</source> <translation type="unfinished"></translation> </message> <message> <location filename="../detailsdialog.ui" line="391"/> <source>Close</source> <translation>关闭</translation> </message> <message> <location filename="../detailsdialog.cpp" line="166"/> <source>ID3v2 Tag</source> <translation>ID3v2 标签</translation> </message> <message> <location filename="../detailsdialog.ui" line="344"/> <source>-</source> <translation>-</translation> </message> <message> <location filename="../detailsdialog.cpp" line="133"/> <source>KB</source> <translation>KB</translation> </message> <message> <location filename="../detailsdialog.cpp" line="115"/> <source>kbps</source> <translation>kbps</translation> </message> <message> <location filename="../detailsdialog.cpp" line="170"/> <source>APE Tag</source> <translation>APE 标签</translation> </message> <message> <location filename="../detailsdialog.ui" line="51"/> <source>ID3v1</source> <translation>ID3v1</translation> </message> <message> <location filename="../detailsdialog.ui" line="58"/> <source>ID3v2</source> <translation>ID3v2</translation> </message> <message> <location filename="../detailsdialog.ui" line="65"/> <source>APE</source> <translation>APE</translation> </message> <message> <location filename="../detailsdialog.ui" line="370"/> <source>Create</source> <translation>创建</translation> </message> <message> <location filename="../detailsdialog.ui" line="377"/> <source>Delete</source> <translation>删除</translation> </message> </context> <context> <name>SettingsDialog</name> <message> <location filename="../settingsdialog.ui" line="47"/> <location filename="../settingsdialog.ui" line="94"/> <location filename="../settingsdialog.ui" line="141"/> <source>ID3v1</source> <translation>ID3v1</translation> </message> <message> <location filename="../settingsdialog.ui" line="52"/> <location filename="../settingsdialog.ui" line="99"/> <location filename="../settingsdialog.ui" line="146"/> <source>ID3v2</source> <translation>ID3v2</translation> </message> <message> <location filename="../settingsdialog.ui" line="183"/> <source>ID3v1 encoding:</source> <translation>ID3v1 编码:</translation> </message> <message> <location filename="../settingsdialog.ui" line="206"/> <source>ID3v2 encoding:</source> <translation>ID3v2 编码:</translation> </message> <message> <location filename="../settingsdialog.ui" line="13"/> <source>MPEG Plugin Settings</source> <translation>MPEG 插件设置</translation> </message> <message> <location filename="../settingsdialog.ui" line="19"/> <source>Tag Priority</source> <translation>标签优先</translation> </message> <message> <location filename="../settingsdialog.ui" line="33"/> <source>First:</source> <translation>第一:</translation> </message> <message> <location filename="../settingsdialog.ui" line="57"/> <location filename="../settingsdialog.ui" line="104"/> <location filename="../settingsdialog.ui" line="151"/> <source>APE</source> <translation>APE</translation> </message> <message> <location filename="../settingsdialog.ui" line="62"/> <location filename="../settingsdialog.ui" line="109"/> <location filename="../settingsdialog.ui" line="156"/> <source>Disabled</source> <translation>无效</translation> </message> <message> <location filename="../settingsdialog.ui" line="80"/> <source>Second:</source> <translation>第二:</translation> </message> <message> <location filename="../settingsdialog.ui" line="127"/> <source>Third:</source> <translation>第三:</translation> </message> <message> <location filename="../settingsdialog.ui" line="169"/> <source>Encodings</source> <translation>编码</translation> </message> </context> </TS>