Ignore:
Timestamp:
May 15, 2014, 7:53:54 PM (11 years ago)
Author:
Silvan Scherrer
Message:

SMPlayer: update vendor to 0.8.7

File:
1 edited

Legend:

Unmodified
Added
Removed
  • smplayer/vendor/current/src/audioequalizer.cpp

    r140 r163  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2013 Ricardo Villalba <rvm@users.sourceforge.net>
     2    Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    2424#include <QLayout>
    2525#include <QPushButton>
     26#include <QLabel>
     27#include <QComboBox>
    2628#include <QMessageBox>
    2729
     
    3133        : QWidget(parent, f)
    3234{
     35        createPresets();
     36
    3337        QBoxLayout *bl = new QHBoxLayout; //(0, 4, 2);
    3438
     
    4044        }
    4145
     46        presets_combo = new QComboBox(this);
     47        connect(presets_combo, SIGNAL(activated(int)), this, SLOT(presetChanged(int)));
     48
     49        presets_label = new QLabel("&Preset", this);
     50        presets_label->setBuddy(presets_combo);
     51
    4252        reset_button = new QPushButton( "&Reset", this);
    4353        connect( reset_button, SIGNAL(clicked()), this, SLOT(reset()) );
     
    5060
    5161        QBoxLayout *button_layout = new QHBoxLayout; //(0, 4, 2);
     62        button_layout->addWidget(presets_label);
     63        button_layout->addWidget(presets_combo);
    5264        button_layout->addStretch();
    5365        button_layout->addWidget(apply_button);
     
    6880}
    6981
     82void AudioEqualizer::createPresets() {
     83        preset_list.clear();
     84        AudioEqualizerList preset;
     85
     86        // Classical
     87        preset.clear();
     88        preset << 0 << 0 << 0 << 0 << 0 << 0 << -41 << -41 << -41 << -53;
     89        preset_list[Classical] = preset;
     90
     91        // Club
     92        preset.clear();
     93        preset << 0 << 0 << 47 << 29 << 29 << 29 << 17 << 0 << 0 << 0;
     94        preset_list[Club] = preset;
     95
     96        // Dance
     97        preset.clear();
     98        preset << 53 << 41 << 11 << 0 << 0 << -29 << -41 << -41 << 0 << 0;
     99        preset_list[Dance] = preset;
     100
     101        // Flat
     102        preset.clear();
     103        preset << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0;
     104        preset_list[Flat] = preset;
     105
     106        // Fullbass
     107        preset.clear();
     108        preset << 53 << 53 << 53 << 29 << 5 << -23 << -47 << -59 << -65 << -65;
     109        preset_list[Fullbass] = preset;
     110
     111        // FullbassTreble
     112        preset.clear();
     113        preset << 41 << 29 << 0 << -41 << -23 << 5 << 47 << 65 << 71 << 71;
     114        preset_list[FullbassTreble] = preset;
     115
     116        // Fulltreble
     117        preset.clear();
     118        preset << -53 << -53 << -53 << -23 << 11 << 65 << 95 << 95 << 95 << 95;
     119        preset_list[Fulltreble] = preset;
     120
     121        // Headphones
     122        preset.clear();
     123        preset << 23 << 65 << 29 << -17 << -11 << 5 << 23 << 53 << 71 << 83;
     124        preset_list[Headphones] = preset;
     125
     126        // LargeHall
     127        preset.clear();
     128        preset << 59 << 59 << 29 << 29 << 0 << -23 << -23 << -23 << 0 << 0;
     129        preset_list[LargeHall] = preset;
     130
     131        // Live
     132        preset.clear();
     133        preset << -23 << 0 << 23 << 29 << 29 << 29 << 23 << 11 << 11 << 11;
     134        preset_list[Live] = preset;
     135
     136        // Party
     137        preset.clear();
     138        preset << 41 << 41 << 0 << 0 << 0 << 0 << 0 << 0 << 41 << 41;
     139        preset_list[Party] = preset;
     140
     141        // Pop
     142        preset.clear();
     143        preset << -5 << 23 << 41 << 47 << 29 << 0 << -11 << -11 << -5 << -5;
     144        preset_list[Pop] = preset;
     145
     146        // Reggae
     147        preset.clear();
     148        preset << 0 << 0 << 0 << -29 << 0 << 35 << 35 << 0 << 0 << 0;
     149        preset_list[Reggae] = preset;
     150
     151        // Rock
     152        preset.clear();
     153        preset << 47 << 23 << 29 << -47 << -17 << 23 << 47 << 65 << 65 << 65;
     154        preset_list[Rock] = preset;
     155
     156        // Ska
     157        preset.clear();
     158        preset << -11 << -23 << -23 << 0 << 23 << 29 << 47 << 53 << 65 << 53;
     159        preset_list[Ska] = preset;
     160
     161        // Soft
     162        preset.clear();
     163        preset << 23 << 5 << 0 << -11 << 0 << 23 << 47 << 53 << 65 << 71;
     164        preset_list[Soft] = preset;
     165
     166        // SoftRock
     167        preset.clear();
     168        preset << 23 << 23 << 11 << 0 << -23 << -29 << -17 << 0 << 11 << 47;
     169        preset_list[SoftRock] = preset;
     170
     171        // Techno
     172        preset.clear();
     173        preset << 47 << 29 << 0 << -29 << -23 << 0 << 47 << 53 << 53 << 47;
     174        preset_list[Techno] = preset;
     175}
     176
     177
    70178void AudioEqualizer::retranslateStrings() {
    71179        setWindowTitle( tr("Audio Equalizer") );
    72180        setWindowIcon( Images::icon("logo") );
    73181
    74         eq[0]->setLabel( tr("31.25 Hz") );
    75         eq[1]->setLabel( tr("62.50 Hz") );
    76         eq[2]->setLabel( tr("125.0 Hz") );
    77         eq[3]->setLabel( tr("250.0 Hz") );
    78         eq[4]->setLabel( tr("500.0 Hz") );
    79         eq[5]->setLabel( tr("1.000 kHz") );
    80         eq[6]->setLabel( tr("2.000 kHz") );
    81         eq[7]->setLabel( tr("4.000 kHz") );
    82         eq[8]->setLabel( tr("8.000 kHz") );
    83         eq[9]->setLabel( tr("16.00 kHz") );
    84 
     182        eq[0]->setLabel( tr("%1 Hz").arg("31.25") );
     183        eq[1]->setLabel( tr("%1 Hz").arg("62.50") );
     184        eq[2]->setLabel( tr("%1 Hz").arg("125") );
     185        eq[3]->setLabel( tr("%1 Hz").arg("250") );
     186        eq[4]->setLabel( tr("%1 Hz").arg("500") );
     187        eq[5]->setLabel( tr("%1 kHz").arg("1") );
     188        eq[6]->setLabel( tr("%1 kHz").arg("2") );
     189        eq[7]->setLabel( tr("%1 kHz").arg("4") );
     190        eq[8]->setLabel( tr("%1 kHz").arg("8") );
     191        eq[9]->setLabel( tr("%1 kHz").arg("16") );
     192
     193        presets_label->setText( tr("&Preset") );
    85194        apply_button->setText( tr("&Apply") );
    86195        reset_button->setText( tr("&Reset") );
    87196        set_default_button->setText( tr("&Set as default values") );
    88197
     198        int presets_combo_index = presets_combo->currentIndex();
     199        if (presets_combo_index < 0) presets_combo_index = 0;
     200        presets_combo->clear();
     201        presets_combo->addItem( tr("Flat"), Flat);
     202        presets_combo->addItem( tr("Classical"), Classical);
     203        presets_combo->addItem( tr("Club"), Club);
     204        presets_combo->addItem( tr("Dance"), Dance);
     205        presets_combo->addItem( tr("Full bass"), Fullbass);
     206        presets_combo->addItem( tr("Full bass and treble"), FullbassTreble);
     207        presets_combo->addItem( tr("Full treble"), Fulltreble);
     208        presets_combo->addItem( tr("Headphones"), Headphones);
     209        presets_combo->addItem( tr("Large hall"), LargeHall);
     210        presets_combo->addItem( tr("Live"), Live);
     211        presets_combo->addItem( tr("Party"), Party);
     212        presets_combo->addItem( tr("Pop"), Pop);
     213        presets_combo->addItem( tr("Reggae"), Reggae);
     214        presets_combo->addItem( tr("Rock"), Rock);
     215        presets_combo->addItem( tr("Ska"), Ska);
     216        presets_combo->addItem( tr("Soft"), Soft);
     217        presets_combo->addItem( tr("Soft rock"), SoftRock);
     218        presets_combo->addItem( tr("Techno"), Techno);
     219        presets_combo->addItem( tr("Custom"), User_defined);
     220        presets_combo->setCurrentIndex(presets_combo_index);
     221
    89222        // What's this help:
    90223        set_default_button->setWhatsThis(
     
    99232                eq[n]->setValue(0);
    100233        }
     234        presets_combo->setCurrentIndex(presets_combo->findData(Flat));
    101235}
    102236
     
    111245                             tr("The current values have been stored to be "
    112246                                "used as default.") );
     247}
     248
     249void AudioEqualizer::setEqualizer(AudioEqualizerList l) {
     250        int p = findPreset(l);
     251        int index = presets_combo->findData(p);
     252        if (index != 1) {
     253                presets_combo->setCurrentIndex(index);
     254        } else {
     255                qWarning("AudioEqualizer::setEqualizer: preset not found");
     256        }
     257        setValues(l);
     258}
     259
     260void AudioEqualizer::setValues(AudioEqualizerList l) {
     261        qDebug("AudioEqualizer::setValues");
     262
     263        for (int n = 0; n < 10; n++) {
     264                eq[n]->setValue(l[n].toInt());
     265        }
     266}
     267
     268void AudioEqualizer::presetChanged(int index) {
     269        qDebug("AudioEqualizer::presetChanged: %d", index);
     270        int p = presets_combo->itemData(index).toInt();
     271        if (p != User_defined) {
     272                setValues(preset_list[p]);
     273        }
     274}
     275
     276int AudioEqualizer::findPreset(AudioEqualizerList l) {
     277        QMap<int,AudioEqualizerList>::iterator i;
     278        for (i = preset_list.begin(); i != preset_list.end(); ++i) {
     279                if (l == i.value()) return i.key();
     280        }
     281        return User_defined;
    113282}
    114283
Note: See TracChangeset for help on using the changeset viewer.