Ticket #12144: 0001-Save-volume-only-on-TV-Player-exit.patch

File 0001-Save-volume-only-on-TV-Player-exit.patch, 4.3 KB (added by angela.schmid@…, 11 years ago)
  • mythtv/libs/libmyth/audio/volumebase.cpp

    From 13087f27d986ce6f669889e25ec0e2fe9d26e32f Mon Sep 17 00:00:00 2001
    From: angelaschmid <angela.schmid@wolke7.net>
    Date: Fri, 16 May 2014 10:22:50 +0200
    Subject: [PATCH] Save volume only on TV Player exit
    
    ---
     mythtv/libs/libmyth/audio/volumebase.cpp | 7 +++++--
     mythtv/libs/libmyth/audio/volumebase.h   | 1 +
     mythtv/libs/libmythtv/audioplayer.cpp    | 8 ++++++++
     mythtv/libs/libmythtv/audioplayer.h      | 1 +
     mythtv/libs/libmythtv/mythplayer.h       | 1 +
     mythtv/libs/libmythtv/tv_play.cpp        | 6 ++++++
     6 files changed, 22 insertions(+), 2 deletions(-)
    
    diff --git a/mythtv/libs/libmyth/audio/volumebase.cpp b/mythtv/libs/libmyth/audio/volumebase.cpp
    index ee4783f..dac39fc 100644
    a b void VolumeBase::SetCurrentVolume(int value)  
    3838{
    3939    volume = max(min(value, 100), 0);
    4040    UpdateVolume();
     41}
    4142
     43void VolumeBase::SaveCurrentVolume(void)
     44{
    4245    QString controlLabel = gCoreContext->GetSetting("MixerControl", "PCM");
    4346    controlLabel += "MixerVolume";
    44     gCoreContext->SaveSetting(controlLabel, volume);   
     47    gCoreContext->SaveSetting(controlLabel, GetCurrentVolume());
    4548}
    4649
    4750void VolumeBase::AdjustCurrentVolume(int change)
    MuteState VolumeBase::NextMuteState(MuteState cur)  
    9396void VolumeBase::UpdateVolume(void)
    9497{
    9598    int new_volume = volume;
    96     bool save = true;
     99    bool save = false;
    97100    if (current_mute_state == kMuteAll)
    98101    {
    99102        new_volume = 0;
  • mythtv/libs/libmyth/audio/volumebase.h

    diff --git a/mythtv/libs/libmyth/audio/volumebase.h b/mythtv/libs/libmyth/audio/volumebase.h
    index 0d9a38f..73b1a34 100644
    a b class MPUBLIC VolumeBase  
    2020    bool SWVolume(void) const;
    2121    virtual uint GetCurrentVolume(void) const;
    2222    virtual void SetCurrentVolume(int value);
     23    virtual void SaveCurrentVolume(void);
    2324    virtual void AdjustCurrentVolume(int change);
    2425    virtual void ToggleMute(void);
    2526
  • mythtv/libs/libmythtv/audioplayer.cpp

    diff --git a/mythtv/libs/libmythtv/audioplayer.cpp b/mythtv/libs/libmythtv/audioplayer.cpp
    index 2f4b46c..f8b074f 100644
    a b uint AudioPlayer::SetVolume(int newvolume)  
    343343    return GetVolume();
    344344}
    345345
     346void AudioPlayer::SaveVolume(void)
     347{
     348    if (!m_audioOutput || m_no_audio_out)
     349        return;
     350    QMutexLocker lock(&m_lock);
     351    m_audioOutput->SaveCurrentVolume();
     352}
     353
    346354int64_t AudioPlayer::GetAudioTime(void)
    347355{
    348356    if (!m_audioOutput || m_no_audio_out)
  • mythtv/libs/libmythtv/audioplayer.h

    diff --git a/mythtv/libs/libmythtv/audioplayer.h b/mythtv/libs/libmythtv/audioplayer.h
    index eae034f..1efbf53 100644
    a b class MTV_PUBLIC AudioPlayer  
    5454    uint  GetVolume(void);
    5555    uint  AdjustVolume(int change);
    5656    uint  SetVolume(int newvolume);
     57    void  SaveVolume(void);
    5758    float GetStretchFactor(void) const { return m_stretchfactor; }
    5859    void  SetStretchFactor(float factor);
    5960    bool  IsUpmixing(void);
  • mythtv/libs/libmythtv/mythplayer.h

    diff --git a/mythtv/libs/libmythtv/mythplayer.h b/mythtv/libs/libmythtv/mythplayer.h
    index b34eba7..cc168f6 100644
    a b class MTV_PUBLIC MythPlayer  
    389389    // Audio Sets
    390390    uint AdjustVolume(int change)           { return audio.AdjustVolume(change); }
    391391    uint SetVolume(int newvolume)           { return audio.SetVolume(newvolume); }
     392    void SaveVolume(void)                   { return audio.SaveVolume(); }
    392393    bool SetMuted(bool mute)                { return audio.SetMuted(mute);       }
    393394    MuteState SetMuteState(MuteState state) { return audio.SetMuteState(state);  }
    394395    MuteState IncrMuteState(void)           { return audio.IncrMuteState();      }
  • mythtv/libs/libmythtv/tv_play.cpp

    diff --git a/mythtv/libs/libmythtv/tv_play.cpp b/mythtv/libs/libmythtv/tv_play.cpp
    index f0fee85..67ce159 100755
    a b void TV::PrepareToExitPlayer(PlayerContext *ctx, int line, BookmarkAction bookma  
    32983298        }
    32993299        if (db_auto_set_watched)
    33003300            ctx->player->SetWatched();
     3301
     3302        if (ctx->player->GetAudio()->ControlsVolume())
     3303        {
     3304            ctx->player->SaveVolume();
     3305        }
     3306
    33013307    }
    33023308    ctx->UnlockDeletePlayer(__FILE__, line);
    33033309}