Ignore:
Timestamp:
Dec 22, 2011, 6:27:52 PM (14 years ago)
Author:
Silvan Scherrer
Message:

smplayer vendor udate

File:
1 edited

Legend:

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

    r90 r118  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2010 Ricardo Villalba <rvm@escomposlinux.org>
     2    Copyright (C) 2006-2011 Ricardo Villalba <rvm@escomposlinux.org>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    2424#include "mediasettings.h"
    2525#include "paths.h"
     26#include "vdpauproperties.h"
    2627
    2728#if USE_ALSA_DEVICES || USE_DSOUND_DEVICES
     
    5455
    5556        // Screensaver
    56 #ifdef Q_OS_WIN
     57#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    5758        screensaver_check->hide();
    5859#else
     
    6061#endif
    6162
    62 #ifdef Q_OS_WIN
    63         vdpau_filters_check->hide();
     63#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
     64        vdpau_button->hide();
    6465#endif
    6566
     
    121122
    122123        mplayerbin_edit->setCaption(tr("Select the mplayer executable"));
    123 #ifdef Q_OS_WIN
     124#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    124125        mplayerbin_edit->setFilter(tr("Executables") +" (*.exe)");
    125126#else
     
    156157                }
    157158#else
     159#ifdef Q_OS_OS2
     160                vo = "kva";
     161#else
    158162                vo = "xv,";
    159163#endif
     164#endif
    160165        }
    161166        setVO( vo );
    162167
    163168        QString ao = pref->ao;
     169
     170#ifdef Q_OS_OS2
     171        if (ao.isEmpty()) {
     172                if (pref->mplayer_detected_version >= MPLAYER_KAI_VERSION) {
     173                        ao = "kai";
     174                } else {
     175                        ao = "dart";
     176                }
     177        }
     178#endif
     179
    164180        setAO( ao );
    165181
     
    191207        setAutoq( pref->autoq );
    192208
    193 #ifdef Q_OS_WIN
     209#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    194210        setAvoidScreensaver( pref->avoid_screensaver );
    195211        setTurnScreensaverOff( pref->turn_screensaver_off );
     
    198214#endif
    199215
    200 #ifndef Q_OS_WIN
    201         setDisableFiltersWithVdpau( pref->disable_video_filters_with_vdpau );
     216#if !defined(Q_OS_WIN) && !defined(Q_OS_OS2)
     217        vdpau = pref->vdpau;
    202218#endif
    203219
     
    226242                // Update the drivers list at the same time
    227243                //setDrivers( i.voList(), i.aoList() );
     244#ifdef Q_OS_OS2
     245                vo_list = i.voList();
     246                ao_list = i.aoList();
     247                updateDriverCombos();
     248#endif
    228249        }
    229250
     
    273294        TEST_AND_SET(pref->autoq, autoq());
    274295
    275 #ifdef Q_OS_WIN
     296#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    276297        pref->avoid_screensaver = avoidScreensaver();
    277298        TEST_AND_SET(pref->turn_screensaver_off, turnScreensaverOff());
     
    280301#endif
    281302
    282 #ifndef Q_OS_WIN
    283         TEST_AND_SET(pref->disable_video_filters_with_vdpau, disableFiltersWithVdpau());
     303#if !defined(Q_OS_WIN) && !defined(Q_OS_OS2)
     304        pref->vdpau = vdpau;
    284305#endif
    285306
     
    308329                        vo_combo->addItem( "directx (" + tr("fast") + ")", "directx" );
    309330                        vo_combo->addItem( "directx (" + tr("slow") + ")", "directx:noaccel" );
     331                }
     332                else
     333#else
     334#ifdef Q_OS_OS2
     335                if ( vo == "kva") {
     336                        vo_combo->addItem( "kva (" + tr("fast") + ")", "kva" );
     337                        vo_combo->addItem( "kva (" + tr("snap mode") + ")", "kva:snap" );
     338                        vo_combo->addItem( "kva (" + tr("slower dive mode") + ")", "kva:dive" );
    310339                }
    311340                else
     
    326355#endif // USE_XV_ADAPTORS
    327356#endif
     357#endif
    328358                if (vo == "x11") vo_combo->addItem( "x11 (" + tr("slow") + ")", vo);
    329359                else
     
    354384                ao = ao_list[n].name();
    355385                ao_combo->addItem( ao, ao );
     386#ifdef Q_OS_OS2
     387                if ( ao == "kai") {
     388                        ao_combo->addItem( "kai (" + tr("uniaud mode") + ")", "kai:uniaud" );
     389                        ao_combo->addItem( "kai (" + tr("dart mode") + ")", "kai:dart" );
     390                }
     391#endif
    356392#if USE_ALSA_DEVICES
    357393                if ((ao == "alsa") && (!alsa_devices.isEmpty())) {
     
    699735}
    700736
    701 #ifdef Q_OS_WIN
     737#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    702738void PrefGeneral::setAvoidScreensaver(bool b) {
    703739        avoid_screensaver_check->setChecked(b);
     
    722758bool PrefGeneral::disableScreensaver() {
    723759        return screensaver_check->isChecked();
    724 }
    725 #endif
    726 
    727 #ifndef Q_OS_WIN
    728 void PrefGeneral::setDisableFiltersWithVdpau(bool b) {
    729         vdpau_filters_check->setChecked(b);
    730 }
    731 
    732 bool PrefGeneral::disableFiltersWithVdpau() {
    733         return vdpau_filters_check->isChecked();
    734760}
    735761#endif
     
    764790        vo_user_defined_edit->setShown(visible);
    765791        vo_user_defined_edit->setFocus();
     792
     793#ifndef Q_OS_WIN
     794        bool vdpau_button_visible = (vo_combo->itemData(idx).toString() == "vdpau");
     795        vdpau_button->setShown(vdpau_button_visible);
     796#endif
    766797}
    767798
     
    772803        ao_user_defined_edit->setFocus();
    773804}
     805
     806#ifndef Q_OS_WIN
     807void PrefGeneral::on_vdpau_button_clicked() {
     808        qDebug("PrefGeneral::on_vdpau_button_clicked");
     809
     810        VDPAUProperties d(this);
     811
     812        d.setffh264vdpau(vdpau.ffh264vdpau);
     813        d.setffmpeg12vdpau(vdpau.ffmpeg12vdpau);
     814        d.setffwmv3vdpau(vdpau.ffwmv3vdpau);
     815        d.setffvc1vdpau(vdpau.ffvc1vdpau);
     816        d.setffodivxvdpau(vdpau.ffodivxvdpau);
     817
     818        d.setDisableFilters(vdpau.disable_video_filters);
     819
     820        if (d.exec() == QDialog::Accepted) {
     821                vdpau.ffh264vdpau = d.ffh264vdpau();
     822                vdpau.ffmpeg12vdpau = d.ffmpeg12vdpau();
     823                vdpau.ffwmv3vdpau = d.ffwmv3vdpau();
     824                vdpau.ffvc1vdpau = d.ffvc1vdpau();
     825                vdpau.ffodivxvdpau = d.ffodivxvdpau();
     826
     827                vdpau.disable_video_filters = d.disableFilters();
     828        }
     829}
     830#endif
    774831
    775832void PrefGeneral::createHelp() {
     
    831888                  .arg("<b><i>directx</i></b>")
    832889#else
     890#ifdef Q_OS_OS2
     891                  .arg("<b><i>kva</i></b>")
     892#else
    833893                  .arg("<b><i>xv</i></b>")
    834894#endif
     895#endif
    835896                );
    836897
    837 #ifndef Q_OS_WIN
     898#if !defined(Q_OS_WIN) && !defined(Q_OS_OS2)
     899        /*
    838900        setWhatsThis(vdpau_filters_check, tr("Disable video filters when using vdpau"),
    839901                tr("Usually video filters won't work when using vdpau as video output "
    840902           "driver, so it's wise to keep this option checked.") );
     903        */
    841904#endif
    842905
     
    892955           "subtitles automatically in the black borders.") */ );
    893956
    894 #ifdef Q_OS_WIN
     957#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
    895958        setWhatsThis(turn_screensaver_off_check, tr("Switch screensaver off"),
    896959                tr("This option switches the screensaver off just before starting to "
     
    918981                tr("Select the audio output driver.")
    919982#ifndef Q_OS_WIN
     983#ifdef Q_OS_OS2
     984        + " " +
     985                tr("%1 is the recommended one. %2 is only available on older MPlayer (before version %3)")
     986           .arg("<b><i>kai</i></b>")
     987           .arg("<b><i>dart</i></b>")
     988           .arg(MPLAYER_KAI_VERSION)
     989#else
    920990        + " " +
    921991                tr("%1 is the recommended one. Try to avoid %2 and %3, they are slow "
     
    924994           .arg("<b><i>esd</i></b>")
    925995           .arg("<b><i>arts</i></b>")
     996#endif
    926997#endif
    927998                );
Note: See TracChangeset for help on using the changeset viewer.