[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / cores / VideoSettings.cpp
blob6764e4c5f131e567ad4de349b5b6b715a873d793
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #include "VideoSettings.h"
11 #include "threads/CriticalSection.h"
13 #include <mutex>
15 CVideoSettings::CVideoSettings()
17 m_InterlaceMethod = VS_INTERLACEMETHOD_AUTO;
18 m_ScalingMethod = VS_SCALINGMETHOD_LINEAR;
19 m_ViewMode = ViewModeNormal;
20 m_CustomZoomAmount = 1.0f;
21 m_CustomPixelRatio = 1.0f;
22 m_CustomVerticalShift = 0.0f;
23 m_CustomNonLinStretch = false;
24 m_AudioStream = -1;
25 m_SubtitleStream = -1;
26 m_SubtitleDelay = 0.0f;
27 m_subtitleVerticalPosition = 0;
28 m_subtitleVerticalPositionSave = false;
29 m_SubtitleOn = true;
30 m_Brightness = 50.0f;
31 m_Contrast = 50.0f;
32 m_Gamma = 20.0f;
33 m_Sharpness = 0.0f;
34 m_NoiseReduction = 0;
35 m_PostProcess = false;
36 m_VolumeAmplification = 0;
37 m_AudioDelay = 0.0f;
38 m_ResumeTime = 0;
39 m_StereoMode = 0;
40 m_StereoInvert = false;
41 m_VideoStream = -1;
42 m_ToneMapMethod = VS_TONEMAPMETHOD_OFF;
43 m_ToneMapParam = 1.0f;
44 m_Orientation = 0;
45 m_CenterMixLevel = 0;
48 bool CVideoSettings::operator!=(const CVideoSettings &right) const
50 if (m_InterlaceMethod != right.m_InterlaceMethod) return true;
51 if (m_ScalingMethod != right.m_ScalingMethod) return true;
52 if (m_ViewMode != right.m_ViewMode) return true;
53 if (m_CustomZoomAmount != right.m_CustomZoomAmount) return true;
54 if (m_CustomPixelRatio != right.m_CustomPixelRatio) return true;
55 if (m_CustomVerticalShift != right.m_CustomVerticalShift) return true;
56 if (m_CustomNonLinStretch != right.m_CustomNonLinStretch) return true;
57 if (m_AudioStream != right.m_AudioStream) return true;
58 if (m_SubtitleStream != right.m_SubtitleStream) return true;
59 if (m_SubtitleDelay != right.m_SubtitleDelay) return true;
60 if (m_subtitleVerticalPosition != right.m_subtitleVerticalPosition)
61 return true;
62 if (m_subtitleVerticalPositionSave != right.m_subtitleVerticalPositionSave)
63 return true;
64 if (m_SubtitleOn != right.m_SubtitleOn) return true;
65 if (m_Brightness != right.m_Brightness) return true;
66 if (m_Contrast != right.m_Contrast) return true;
67 if (m_Gamma != right.m_Gamma) return true;
68 if (m_Sharpness != right.m_Sharpness) return true;
69 if (m_NoiseReduction != right.m_NoiseReduction) return true;
70 if (m_PostProcess != right.m_PostProcess) return true;
71 if (m_VolumeAmplification != right.m_VolumeAmplification) return true;
72 if (m_AudioDelay != right.m_AudioDelay) return true;
73 if (m_ResumeTime != right.m_ResumeTime) return true;
74 if (m_StereoMode != right.m_StereoMode) return true;
75 if (m_StereoInvert != right.m_StereoInvert) return true;
76 if (m_VideoStream != right.m_VideoStream) return true;
77 if (m_ToneMapMethod != right.m_ToneMapMethod) return true;
78 if (m_ToneMapParam != right.m_ToneMapParam) return true;
79 if (m_Orientation != right.m_Orientation) return true;
80 if (m_CenterMixLevel != right.m_CenterMixLevel) return true;
81 return false;
84 //------------------------------------------------------------------------------
85 // CVideoSettingsLocked
86 //------------------------------------------------------------------------------
87 CVideoSettingsLocked::CVideoSettingsLocked(CVideoSettings &vs, CCriticalSection &critSection) :
88 m_videoSettings(vs), m_critSection(critSection)
92 void CVideoSettingsLocked::SetSubtitleStream(int stream)
94 std::unique_lock<CCriticalSection> lock(m_critSection);
95 m_videoSettings.m_SubtitleStream = stream;
98 void CVideoSettingsLocked::SetSubtitleVisible(bool visible)
100 std::unique_lock<CCriticalSection> lock(m_critSection);
101 m_videoSettings.m_SubtitleOn = visible;
104 void CVideoSettingsLocked::SetAudioStream(int stream)
106 std::unique_lock<CCriticalSection> lock(m_critSection);
107 m_videoSettings.m_AudioStream = stream;
110 void CVideoSettingsLocked::SetVideoStream(int stream)
112 std::unique_lock<CCriticalSection> lock(m_critSection);
113 m_videoSettings.m_VideoStream = stream;
116 void CVideoSettingsLocked::SetAudioDelay(float delay)
118 std::unique_lock<CCriticalSection> lock(m_critSection);
119 m_videoSettings.m_AudioDelay = delay;
122 void CVideoSettingsLocked::SetSubtitleDelay(float delay)
124 std::unique_lock<CCriticalSection> lock(m_critSection);
125 m_videoSettings.m_SubtitleDelay = delay;
128 void CVideoSettingsLocked::SetSubtitleVerticalPosition(int value, bool save)
130 std::unique_lock<CCriticalSection> lock(m_critSection);
131 m_videoSettings.m_subtitleVerticalPosition = value;
132 m_videoSettings.m_subtitleVerticalPositionSave = save;
135 void CVideoSettingsLocked::SetViewMode(int mode, float zoom, float par, float shift, bool stretch)
137 std::unique_lock<CCriticalSection> lock(m_critSection);
138 m_videoSettings.m_ViewMode = mode;
139 m_videoSettings.m_CustomZoomAmount = zoom;
140 m_videoSettings.m_CustomPixelRatio = par;
141 m_videoSettings.m_CustomVerticalShift = shift;
142 m_videoSettings.m_CustomNonLinStretch = stretch;
145 void CVideoSettingsLocked::SetVolumeAmplification(float amp)
147 std::unique_lock<CCriticalSection> lock(m_critSection);
148 m_videoSettings.m_VolumeAmplification = amp;