Ignore:
Timestamp:
May 3, 2016, 5:25:45 PM (9 years ago)
Author:
Silvan Scherrer
Message:

smplayer: update trunk to version 16.4

Location:
smplayer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • smplayer/trunk

  • smplayer/trunk/src/mediasettings.cpp

    r165 r176  
    11/*  smplayer, GUI front-end for mplayer.
    2     Copyright (C) 2006-2014 Ricardo Villalba <rvm@users.sourceforge.net>
     2    Copyright (C) 2006-2016 Ricardo Villalba <rvm@users.sourceforge.net>
    33
    44    This program is free software; you can redistribute it and/or modify
     
    3232
    3333void MediaSettings::reset() {
     34        qDebug("MediaSettings::reset");
     35
    3436        current_sec = 0;
    3537        //current_sub_id = SubNone;
    3638        current_sub_id = NoneSelected;
     39#ifdef MPV_SUPPORT
     40        current_secondary_sub_id = NoneSelected;
     41#endif
    3742#if PROGRAM_SWITCH
    3843        current_program_id = NoneSelected;
     
    4146        current_audio_id = NoneSelected;
    4247        current_title_id = NoneSelected;
    43         current_chapter_id = NoneSelected;
    4448        current_angle_id = NoneSelected;
    4549
     
    8084        current_unsharp = 0;
    8185
     86        stereo3d_in = "none";
     87        stereo3d_out = QString::null;
     88
    8289        //current_deinterlacer = NoDeinterlace;
    8390        current_deinterlacer = pref->initial_deinterlace;
     
    8592        add_letterbox = false;
    8693
    87     karaoke_filter = false;
     94#ifdef MPLAYER_SUPPORT
     95        karaoke_filter = false;
     96#endif
    8897        extrastereo_filter = false;
    8998        volnorm_filter = pref->initial_volnorm;
     
    93102
    94103        zoom_factor = pref->initial_zoom_factor; // 1.0;
    95 
    96 #if USE_MPLAYER_PANSCAN
    97         panscan_factor = 0;
    98 #endif
    99104
    100105        starting_time = -1; // Not set yet.
     
    108113        B_marker = -1;
    109114
     115#ifdef BOOKMARKS
     116        // Initialize bookmarks
     117        bookmarks.clear();
     118        bookmarks.insert(0, "");
     119#endif
     120
    110121        is264andHD = false;
    111122
     123        current_demuxer = "unknown";
     124
     125#if ALLOW_DEMUXER_CODEC_CHANGE
    112126        forced_demuxer="";
    113127        if (pref->use_lavf_demuxer) forced_demuxer = "lavf";
     
    119133        original_video_codec="";
    120134        original_audio_codec="";
     135#endif
    121136
    122137        mplayer_additional_options="";
     
    182197        qDebug("  current_sec: %f", current_sec);
    183198        qDebug("  current_sub_id: %d", current_sub_id);
     199#ifdef MPV_SUPPORT
     200        qDebug("  current_secondary_sub_id: %d", current_secondary_sub_id);
     201#endif
    184202#if PROGRAM_SWITCH
    185203        qDebug("  current_program_id: %d", current_program_id);
     
    188206        qDebug("  current_audio_id: %d", current_audio_id);
    189207        qDebug("  current_title_id: %d", current_title_id);
    190         qDebug("  current_chapter_id: %d", current_chapter_id);
    191208        qDebug("  current_angle_id: %d", current_angle_id);
    192209
     
    224241        qDebug("  current_unsharp: %d", current_unsharp);
    225242
     243        qDebug("  stereo3d_in: %s", stereo3d_in.toUtf8().constData());
     244        qDebug("  stereo3d_out: %s", stereo3d_out.toUtf8().constData());
     245
    226246        qDebug("  current_deinterlacer: %d", current_deinterlacer);
    227247
    228248        qDebug("  add_letterbox: %d", add_letterbox);
    229249
     250#ifdef MPLAYER_SUPPORT
    230251        qDebug("  karaoke_filter: %d", karaoke_filter);
     252#endif
    231253        qDebug("  extrastereo_filter: %d", extrastereo_filter);
    232254        qDebug("  volnorm_filter: %d", volnorm_filter);
     
    236258
    237259        qDebug("  zoom_factor: %f", zoom_factor);
    238 
    239 #if USE_MPLAYER_PANSCAN
    240         qDebug("  panscan_factor: %f", zoom_factor);
    241 #endif
    242260
    243261        qDebug("  rotate: %d", rotate);
     
    249267        qDebug("  B_marker: %d", B_marker);
    250268
     269        qDebug("  current_demuxer: '%s'", current_demuxer.toUtf8().data());
     270
     271#if ALLOW_DEMUXER_CODEC_CHANGE
    251272        qDebug("  forced_demuxer: '%s'", forced_demuxer.toUtf8().data());
    252273        qDebug("  forced_video_codec: '%s'", forced_video_codec.toUtf8().data());
     
    256277        qDebug("  original_video_codec: '%s'", original_video_codec.toUtf8().data());
    257278        qDebug("  original_audio_codec: '%s'", original_video_codec.toUtf8().data());
     279#endif
    258280
    259281        qDebug("  mplayer_additional_options: '%s'", mplayer_additional_options.toUtf8().data());
     
    270292
    271293#ifndef NO_USE_INI_FILES
    272 void MediaSettings::save(QSettings * set) {
     294void MediaSettings::save(QSettings * set, int player_id) {
    273295        qDebug("MediaSettings::save");
    274296
    275         //QSettings * set = settings;
    276 
    277         /*set->beginGroup( "mediasettings" );*/
    278 
    279         set->setValue( "current_sec", current_sec );
    280 
    281         QString demuxer_section = "demuxer_default";
    282         if (!forced_demuxer.isEmpty()) demuxer_section = "demuxer_" + forced_demuxer;
     297        set->beginGroup("player_" + QString::number(player_id));
     298
     299        set->setValue( "current_demuxer", current_demuxer);
     300#if ALLOW_DEMUXER_CODEC_CHANGE
     301        set->setValue( "forced_demuxer", forced_demuxer);
     302        set->setValue( "forced_video_codec", forced_video_codec);
     303        set->setValue( "forced_audio_codec", forced_audio_codec);
     304        set->setValue( "original_demuxer", original_demuxer);
     305        set->setValue( "original_video_codec", original_video_codec);
     306        set->setValue( "original_audio_codec", original_audio_codec);
     307#endif
     308
     309        // Save the tracks ID in a demuxer section
     310        QString demuxer_section = QString("demuxer_%1").arg(current_demuxer);
     311#if ALLOW_DEMUXER_CODEC_CHANGE
     312        if (!forced_demuxer.isEmpty()) {
     313                demuxer_section = QString("demuxer_%1").arg(forced_demuxer);
     314        }
     315#endif
    283316
    284317        set->beginGroup(demuxer_section);
    285318        set->setValue( "current_sub_id", current_sub_id );
     319        #ifdef MPV_SUPPORT
     320        set->setValue( "current_secondary_sub_id", current_secondary_sub_id );
     321        #endif
    286322        #if PROGRAM_SWITCH
    287323        set->setValue( "current_program_id", current_program_id );
     
    291327        set->endGroup();
    292328
     329        set->endGroup(); // player
     330
     331
     332        set->setValue( "current_sec", current_sec );
     333
    293334        set->setValue( "current_title_id", current_title_id );
    294         set->setValue( "current_chapter_id", current_chapter_id );
    295335        set->setValue( "current_angle_id", current_angle_id );
    296336
     
    330370        set->setValue( "current_unsharp", current_unsharp);
    331371
     372        set->setValue( "stereo3d_in", stereo3d_in);
     373        set->setValue( "stereo3d_out", stereo3d_out);
     374
    332375        set->setValue( "current_deinterlacer", current_deinterlacer);
    333376
    334377        set->setValue( "add_letterbox", add_letterbox );
    335378
     379#ifdef MPLAYER_SUPPORT
    336380        set->setValue( "karaoke_filter", karaoke_filter);
     381#endif
    337382        set->setValue( "extrastereo_filter", extrastereo_filter);
    338383        set->setValue( "volnorm_filter", volnorm_filter);
     
    342387
    343388        set->setValue( "zoom_factor", zoom_factor);
    344 
    345 #if USE_MPLAYER_PANSCAN
    346         set->setValue( "panscan_factor", zoom_factor);
    347 #endif
    348389
    349390        set->setValue( "rotate", rotate );
     
    355396        set->setValue( "B_marker", B_marker);
    356397
    357         set->setValue( "forced_demuxer", forced_demuxer);
    358         set->setValue( "forced_video_codec", forced_video_codec);
    359         set->setValue( "forced_audio_codec", forced_audio_codec);
    360 
    361         set->setValue( "original_demuxer", original_demuxer);
    362         set->setValue( "original_video_codec", original_video_codec);
    363         set->setValue( "original_audio_codec", original_audio_codec);
     398#ifdef BOOKMARKS
     399        // Save bookmarks
     400        bool save_bookmarks = true;
     401        QMap<int, QString>::const_iterator i = bookmarks.constBegin();
     402        if (save_bookmarks) {
     403                set->beginWriteArray("bookmarks");
     404                int count = 0;
     405                while (i != bookmarks.constEnd()) {
     406                        set->setArrayIndex(count);
     407                        set->setValue("time", i.key());
     408                        set->setValue("name", i.value());
     409                        i++;
     410                        count++;
     411                }
     412                set->endArray();
     413        }
     414#endif
    364415
    365416        set->setValue( "mplayer_additional_options", mplayer_additional_options);
     
    373424
    374425        set->setValue( "is264andHD", is264andHD );
    375 
    376         /*set->endGroup();*/
    377 }
    378 
    379 void MediaSettings::load(QSettings * set) {
     426}
     427
     428void MediaSettings::load(QSettings * set, int player_id) {
    380429        qDebug("MediaSettings::load");
    381430
    382         //QSettings * set = settings;
    383 
    384         /*set->beginGroup( "mediasettings" );*/
    385 
    386         current_sec = set->value( "current_sec", current_sec).toDouble();
    387 
     431        set->beginGroup("player_" + QString::number(player_id));
     432
     433        current_demuxer = set->value( "current_demuxer", current_demuxer).toString();
     434#if ALLOW_DEMUXER_CODEC_CHANGE
    388435        forced_demuxer = set->value( "forced_demuxer", forced_demuxer).toString();
    389436        if (pref->use_lavf_demuxer) forced_demuxer = "lavf";
    390 
    391         QString demuxer_section = "demuxer_default";
    392         if (!forced_demuxer.isEmpty()) demuxer_section = "demuxer_" + forced_demuxer;
     437        forced_video_codec = set->value( "forced_video_codec", forced_video_codec).toString();
     438        forced_audio_codec = set->value( "forced_audio_codec", forced_audio_codec).toString();
     439        original_demuxer = set->value( "original_demuxer", original_demuxer).toString();
     440        original_video_codec = set->value( "original_video_codec", original_video_codec).toString();
     441        original_audio_codec = set->value( "original_audio_codec", original_audio_codec).toString();
     442#endif
     443
     444        // Load the tracks ID from a demuxer section
     445        QString demuxer_section = QString("demuxer_%1").arg(current_demuxer);
     446#if ALLOW_DEMUXER_CODEC_CHANGE
     447        if (!forced_demuxer.isEmpty()) {
     448                demuxer_section = QString("demuxer_%1").arg(forced_demuxer);
     449        }
     450#endif
     451        qDebug("MediaSettings::load: demuxer_section: %s", demuxer_section.toUtf8().constData());
    393452
    394453        set->beginGroup(demuxer_section);
    395         current_sub_id = set->value( "current_sub_id", current_sub_id ).toInt();
     454        current_sub_id = set->value( "current_sub_id", NoneSelected ).toInt();
     455        #ifdef MPV_SUPPORT
     456        current_secondary_sub_id = set->value( "current_secondary_sub_id", NoneSelected ).toInt();
     457        #endif
    396458        #if PROGRAM_SWITCH
    397         current_program_id = set->value( "current_program_id", current_program_id ).toInt();
     459        current_program_id = set->value( "current_program_id", NoneSelected ).toInt();
    398460        #endif
    399         current_video_id = set->value( "current_video_id", current_video_id ).toInt();
    400         current_audio_id = set->value( "current_audio_id", current_audio_id ).toInt();
     461        current_video_id = set->value( "current_video_id", NoneSelected ).toInt();
     462        current_audio_id = set->value( "current_audio_id", NoneSelected ).toInt();
    401463        set->endGroup();
    402464
     465        set->endGroup(); // player
     466
     467
     468        current_sec = set->value( "current_sec", current_sec).toDouble();
     469
    403470        current_title_id = set->value( "current_title_id", current_title_id ).toInt();
    404         current_chapter_id = set->value( "current_chapter_id", current_chapter_id ).toInt();
    405471        current_angle_id = set->value( "current_angle_id", current_angle_id ).toInt();
    406472
     
    440506        current_unsharp = set->value( "current_unsharp", current_unsharp).toInt();
    441507
     508        stereo3d_in = set->value( "stereo3d_in", stereo3d_in).toString();
     509        stereo3d_out = set->value( "stereo3d_out", stereo3d_out).toString();
     510
    442511        current_deinterlacer = set->value( "current_deinterlacer", current_deinterlacer ).toInt();
    443512
    444513        add_letterbox = set->value( "add_letterbox", add_letterbox ).toBool();
    445514
     515#ifdef MPLAYER_SUPPORT
    446516        karaoke_filter = set->value( "karaoke_filter", karaoke_filter).toBool();
     517#endif
    447518        extrastereo_filter = set->value( "extrastereo_filter", extrastereo_filter).toBool();
    448519        volnorm_filter = set->value( "volnorm_filter", volnorm_filter).toBool();
     
    452523
    453524        zoom_factor = set->value( "zoom_factor", zoom_factor).toDouble();
    454 
    455 #if USE_MPLAYER_PANSCAN
    456         panscan_factor = set->value( "panscan_factor", panscan_factor).toDouble();
    457 #endif
    458525
    459526        rotate = set->value( "rotate", rotate).toInt();
     
    465532        B_marker = set->value( "B_marker", B_marker).toInt();
    466533
    467         forced_video_codec = set->value( "forced_video_codec", forced_video_codec).toString();
    468         forced_audio_codec = set->value( "forced_audio_codec", forced_audio_codec).toString();
    469 
    470         original_demuxer = set->value( "original_demuxer", original_demuxer).toString();
    471         original_video_codec = set->value( "original_video_codec", original_video_codec).toString();
    472         original_audio_codec = set->value( "original_audio_codec", original_audio_codec).toString();
     534#ifdef BOOKMARKS
     535        // Load bookmarks
     536        int n_bookmarks = set->beginReadArray("bookmarks");
     537        if (n_bookmarks > 0) {
     538                bookmarks.clear();
     539                for (int i = 0; i < n_bookmarks; ++i) {
     540                        set->setArrayIndex(i);
     541                        int time = set->value("time").toInt();
     542                        QString name = set->value("name").toString();
     543                        bookmarks.insert(time, name);
     544                }
     545        }
     546        set->endArray();
     547#endif
    473548
    474549        mplayer_additional_options = set->value( "mplayer_additional_options", mplayer_additional_options).toString();
     
    483558        is264andHD = set->value( "is264andHD", is264andHD ).toBool();
    484559
    485         /*set->endGroup();*/
    486 
    487560        // ChDefault not used anymore
    488561        if (audio_use_channels == ChDefault) audio_use_channels = ChStereo;
Note: See TracChangeset for help on using the changeset viewer.