boris-behav-obs 9.7.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of boris-behav-obs might be problematic. Click here for more details.

Files changed (109) hide show
  1. boris/__init__.py +26 -0
  2. boris/__main__.py +25 -0
  3. boris/about.py +143 -0
  4. boris/add_modifier.py +635 -0
  5. boris/add_modifier_ui.py +303 -0
  6. boris/advanced_event_filtering.py +455 -0
  7. boris/analysis_plugins/__init__.py +0 -0
  8. boris/analysis_plugins/_latency.py +59 -0
  9. boris/analysis_plugins/irr_cohen_kappa.py +109 -0
  10. boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +112 -0
  11. boris/analysis_plugins/irr_weighted_cohen_kappa.py +157 -0
  12. boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +162 -0
  13. boris/analysis_plugins/list_of_dataframe_columns.py +22 -0
  14. boris/analysis_plugins/number_of_occurences.py +22 -0
  15. boris/analysis_plugins/number_of_occurences_by_independent_variable.py +54 -0
  16. boris/analysis_plugins/time_budget.py +61 -0
  17. boris/behav_coding_map_creator.py +1110 -0
  18. boris/behavior_binary_table.py +305 -0
  19. boris/behaviors_coding_map.py +239 -0
  20. boris/boris_cli.py +340 -0
  21. boris/cmd_arguments.py +49 -0
  22. boris/coding_pad.py +280 -0
  23. boris/config.py +785 -0
  24. boris/config_file.py +356 -0
  25. boris/connections.py +409 -0
  26. boris/converters.py +333 -0
  27. boris/converters_ui.py +225 -0
  28. boris/cooccurence.py +250 -0
  29. boris/core.py +5901 -0
  30. boris/core_qrc.py +15958 -0
  31. boris/core_ui.py +1107 -0
  32. boris/db_functions.py +324 -0
  33. boris/dev.py +134 -0
  34. boris/dialog.py +1108 -0
  35. boris/duration_widget.py +238 -0
  36. boris/edit_event.py +245 -0
  37. boris/edit_event_ui.py +233 -0
  38. boris/event_operations.py +1040 -0
  39. boris/events_cursor.py +61 -0
  40. boris/events_snapshots.py +596 -0
  41. boris/exclusion_matrix.py +141 -0
  42. boris/export_events.py +1006 -0
  43. boris/export_observation.py +1203 -0
  44. boris/external_processes.py +332 -0
  45. boris/geometric_measurement.py +941 -0
  46. boris/gui_utilities.py +135 -0
  47. boris/image_overlay.py +72 -0
  48. boris/import_observations.py +242 -0
  49. boris/ipc_mpv.py +325 -0
  50. boris/irr.py +634 -0
  51. boris/latency.py +244 -0
  52. boris/measurement_widget.py +161 -0
  53. boris/media_file.py +115 -0
  54. boris/menu_options.py +213 -0
  55. boris/modifier_coding_map_creator.py +1013 -0
  56. boris/modifiers_coding_map.py +157 -0
  57. boris/mpv.py +2016 -0
  58. boris/mpv2.py +2193 -0
  59. boris/observation.py +1453 -0
  60. boris/observation_operations.py +2538 -0
  61. boris/observation_ui.py +679 -0
  62. boris/observations_list.py +337 -0
  63. boris/otx_parser.py +442 -0
  64. boris/param_panel.py +201 -0
  65. boris/param_panel_ui.py +305 -0
  66. boris/player_dock_widget.py +198 -0
  67. boris/plot_data_module.py +536 -0
  68. boris/plot_events.py +634 -0
  69. boris/plot_events_rt.py +237 -0
  70. boris/plot_spectrogram_rt.py +316 -0
  71. boris/plot_waveform_rt.py +230 -0
  72. boris/plugins.py +431 -0
  73. boris/portion/__init__.py +31 -0
  74. boris/portion/const.py +95 -0
  75. boris/portion/dict.py +365 -0
  76. boris/portion/func.py +52 -0
  77. boris/portion/interval.py +581 -0
  78. boris/portion/io.py +181 -0
  79. boris/preferences.py +510 -0
  80. boris/preferences_ui.py +770 -0
  81. boris/project.py +2007 -0
  82. boris/project_functions.py +2041 -0
  83. boris/project_import_export.py +1096 -0
  84. boris/project_ui.py +794 -0
  85. boris/qrc_boris.py +10389 -0
  86. boris/qrc_boris5.py +2579 -0
  87. boris/select_modifiers.py +312 -0
  88. boris/select_observations.py +210 -0
  89. boris/select_subj_behav.py +286 -0
  90. boris/state_events.py +197 -0
  91. boris/subjects_pad.py +106 -0
  92. boris/synthetic_time_budget.py +290 -0
  93. boris/time_budget_functions.py +1136 -0
  94. boris/time_budget_widget.py +1039 -0
  95. boris/transitions.py +365 -0
  96. boris/utilities.py +1810 -0
  97. boris/version.py +24 -0
  98. boris/video_equalizer.py +159 -0
  99. boris/video_equalizer_ui.py +248 -0
  100. boris/video_operations.py +310 -0
  101. boris/view_df.py +104 -0
  102. boris/view_df_ui.py +75 -0
  103. boris/write_event.py +538 -0
  104. boris_behav_obs-9.7.7.dist-info/METADATA +139 -0
  105. boris_behav_obs-9.7.7.dist-info/RECORD +109 -0
  106. boris_behav_obs-9.7.7.dist-info/WHEEL +5 -0
  107. boris_behav_obs-9.7.7.dist-info/entry_points.txt +2 -0
  108. boris_behav_obs-9.7.7.dist-info/licenses/LICENSE.TXT +674 -0
  109. boris_behav_obs-9.7.7.dist-info/top_level.txt +1 -0
boris/version.py ADDED
@@ -0,0 +1,24 @@
1
+ """
2
+ BORIS
3
+ Behavioral Observation Research Interactive Software
4
+ Copyright 2012-2025 Olivier Friard
5
+
6
+ This file is part of BORIS.
7
+
8
+ BORIS is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 3 of the License, or
11
+ any later version.
12
+
13
+ BORIS is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program; if not see <http://www.gnu.org/licenses/>.
20
+
21
+ """
22
+
23
+ __version__ = "9.7.7"
24
+ __version_date__ = "2025-11-17"
@@ -0,0 +1,159 @@
1
+ """
2
+ BORIS
3
+ Behavioral Observation Research Interactive Software
4
+ Copyright 2012-2025 Olivier Friard
5
+
6
+ This file is part of BORIS.
7
+
8
+ BORIS is free software; you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation; either version 3 of the License, or
11
+ any later version.
12
+
13
+ BORIS is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program; if not see <http://www.gnu.org/licenses/>.
20
+
21
+ """
22
+
23
+ from PySide6.QtWidgets import QDialog
24
+ from PySide6.QtCore import Signal, QEvent
25
+ from .video_equalizer_ui import Ui_Equalizer
26
+
27
+
28
+ class Video_equalizer(QDialog, Ui_Equalizer):
29
+ """
30
+ management of video equalizer: brightness, saturation, contrast, gamma and hue
31
+ """
32
+
33
+ sendEventSignal = Signal(int, str, int)
34
+ sendKeyPressSignal = Signal(QEvent)
35
+
36
+ def __init__(self, equalizer, parent=None):
37
+ super().__init__(parent)
38
+ self.setupUi(self)
39
+
40
+ self.equalizer = equalizer
41
+ self.pb_close.clicked.connect(self.close)
42
+ self.pb_reset.clicked.connect(self.reset)
43
+ self.pb_reset_all.clicked.connect(self.reset_all)
44
+ self.cb_player.currentIndexChanged.connect(self.player_changed)
45
+
46
+ self.hs_brightness.valueChanged.connect(self.parameter_changed)
47
+ self.hs_contrast.valueChanged.connect(self.parameter_changed)
48
+ self.hs_saturation.valueChanged.connect(self.parameter_changed)
49
+ self.hs_gamma.valueChanged.connect(self.parameter_changed)
50
+ self.hs_hue.valueChanged.connect(self.parameter_changed)
51
+
52
+ for n_player in self.equalizer:
53
+ self.cb_player.addItem(f"Player {n_player + 1}")
54
+
55
+ self.installEventFilter(self)
56
+
57
+ self.initialize(0)
58
+
59
+ def initialize(self, n_player: int) -> None:
60
+ if n_player not in self.equalizer:
61
+ return
62
+
63
+ self.hs_brightness.setValue(self.equalizer[n_player]["hs_brightness"])
64
+ self.lb_brightness.setText(str(self.equalizer[n_player]["hs_brightness"]))
65
+
66
+ self.hs_contrast.setValue(self.equalizer[n_player]["hs_contrast"])
67
+ self.lb_contrast.setText(str(self.equalizer[n_player]["hs_contrast"]))
68
+
69
+ self.hs_saturation.setValue(self.equalizer[n_player]["hs_saturation"])
70
+ self.lb_saturation.setText(str(self.equalizer[n_player]["hs_saturation"]))
71
+
72
+ self.hs_gamma.setValue(self.equalizer[n_player]["hs_gamma"])
73
+ self.lb_gamma.setText(str(self.equalizer[n_player]["hs_gamma"]))
74
+
75
+ self.hs_hue.setValue(self.equalizer[n_player]["hs_hue"])
76
+ self.lb_hue.setText(str(self.equalizer[n_player]["hs_hue"]))
77
+
78
+ def player_changed(self, index):
79
+ self.initialize(index)
80
+
81
+ def reset(self):
82
+ """
83
+ Reset value for all parameters to 0 for current player
84
+ """
85
+ for w in (self.hs_brightness, self.hs_contrast, self.hs_saturation, self.hs_gamma, self.hs_hue):
86
+ w.setValue(0)
87
+
88
+ def reset_all(self):
89
+ """
90
+ Reset value for all parameters to 0 for all players
91
+ """
92
+
93
+ for n_player in self.equalizer:
94
+ for parameter in self.equalizer[n_player]:
95
+ self.equalizer[n_player][parameter] = 0
96
+ self.sendEventSignal.emit(n_player, parameter, 0)
97
+
98
+ def parameter_changed(self):
99
+ """
100
+ Send signal when horizontal slider value changed
101
+ """
102
+ if self.cb_player.currentIndex() not in self.equalizer:
103
+ return
104
+
105
+ print(type(self.sender().value()))
106
+
107
+ self.equalizer[self.cb_player.currentIndex()][self.sender().objectName()] = round(self.sender().value())
108
+ self.sendEventSignal.emit(self.cb_player.currentIndex(), self.sender().objectName(), round(self.sender().value()))
109
+
110
+ self.initialize(self.cb_player.currentIndex())
111
+
112
+ def eventFilter(self, receiver, event):
113
+ """
114
+ send event (if keypress) to main window
115
+ """
116
+ if event.type() == QEvent.KeyPress:
117
+ self.sendKeyPressSignal.emit(event)
118
+ return True
119
+ else:
120
+ return False
121
+
122
+
123
+ def video_equalizer_show(self):
124
+ """
125
+ Video equalizer
126
+ """
127
+
128
+ def update_parameter(n_player, parameter, value):
129
+ """
130
+ update player parameter with value received by signal
131
+ """
132
+ if parameter == "hs_brightness":
133
+ self.dw_player[n_player].player.brightness = value
134
+ if parameter == "hs_contrast":
135
+ self.dw_player[n_player].player.contrast = value
136
+ if parameter == "hs_saturation":
137
+ self.dw_player[n_player].player.saturation = value
138
+ if parameter == "hs_gamma":
139
+ self.dw_player[n_player].player.gamma = value
140
+ if parameter == "hs_hue":
141
+ self.dw_player[n_player].player.hue = value
142
+
143
+ # send current parameters
144
+ equalizer = {}
145
+ for n_player, _ in enumerate(self.dw_player):
146
+ equalizer[n_player] = {
147
+ "hs_brightness": round(self.dw_player[n_player].player.brightness),
148
+ "hs_contrast": round(self.dw_player[n_player].player.contrast),
149
+ "hs_saturation": round(self.dw_player[n_player].player.saturation),
150
+ "hs_gamma": round(self.dw_player[n_player].player.gamma),
151
+ "hs_hue": round(self.dw_player[n_player].player.hue),
152
+ }
153
+
154
+ self.video_equalizer_wgt = Video_equalizer(equalizer)
155
+ self.video_equalizer_wgt.sendEventSignal.connect(update_parameter)
156
+ # send key press events received by widget to main window
157
+ self.video_equalizer_wgt.sendKeyPressSignal.connect(self.signal_from_widget)
158
+
159
+ self.video_equalizer_wgt.show()
@@ -0,0 +1,248 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ ################################################################################
4
+ ## Form generated from reading UI file 'video_equalizer.ui'
5
+ ##
6
+ ## Created by: Qt User Interface Compiler version 6.8.0
7
+ ##
8
+ ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
+ ################################################################################
10
+
11
+ from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
12
+ QMetaObject, QObject, QPoint, QRect,
13
+ QSize, QTime, QUrl, Qt)
14
+ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
15
+ QFont, QFontDatabase, QGradient, QIcon,
16
+ QImage, QKeySequence, QLinearGradient, QPainter,
17
+ QPalette, QPixmap, QRadialGradient, QTransform)
18
+ from PySide6.QtWidgets import (QApplication, QComboBox, QHBoxLayout, QLabel,
19
+ QPushButton, QSizePolicy, QSlider, QSpacerItem,
20
+ QVBoxLayout, QWidget)
21
+
22
+ class Ui_Equalizer(object):
23
+ def setupUi(self, Equalizer):
24
+ if not Equalizer.objectName():
25
+ Equalizer.setObjectName(u"Equalizer")
26
+ Equalizer.resize(388, 284)
27
+ self.verticalLayout = QVBoxLayout(Equalizer)
28
+ self.verticalLayout.setObjectName(u"verticalLayout")
29
+ self.label_6 = QLabel(Equalizer)
30
+ self.label_6.setObjectName(u"label_6")
31
+ sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
32
+ sizePolicy.setHorizontalStretch(0)
33
+ sizePolicy.setVerticalStretch(0)
34
+ sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
35
+ self.label_6.setSizePolicy(sizePolicy)
36
+ font = QFont()
37
+ font.setBold(True)
38
+ self.label_6.setFont(font)
39
+
40
+ self.verticalLayout.addWidget(self.label_6)
41
+
42
+ self.cb_player = QComboBox(Equalizer)
43
+ self.cb_player.setObjectName(u"cb_player")
44
+
45
+ self.verticalLayout.addWidget(self.cb_player)
46
+
47
+ self.horizontalLayout = QHBoxLayout()
48
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
49
+ self.label = QLabel(Equalizer)
50
+ self.label.setObjectName(u"label")
51
+ self.label.setMinimumSize(QSize(70, 0))
52
+ self.label.setMaximumSize(QSize(70, 16777215))
53
+
54
+ self.horizontalLayout.addWidget(self.label)
55
+
56
+ self.hs_brightness = QSlider(Equalizer)
57
+ self.hs_brightness.setObjectName(u"hs_brightness")
58
+ self.hs_brightness.setMinimumSize(QSize(200, 0))
59
+ self.hs_brightness.setMaximumSize(QSize(200, 16777215))
60
+ self.hs_brightness.setMinimum(-100)
61
+ self.hs_brightness.setValue(0)
62
+ self.hs_brightness.setOrientation(Qt.Horizontal)
63
+
64
+ self.horizontalLayout.addWidget(self.hs_brightness)
65
+
66
+ self.lb_brightness = QLabel(Equalizer)
67
+ self.lb_brightness.setObjectName(u"lb_brightness")
68
+ self.lb_brightness.setMinimumSize(QSize(25, 0))
69
+ self.lb_brightness.setMaximumSize(QSize(25, 16777215))
70
+
71
+ self.horizontalLayout.addWidget(self.lb_brightness)
72
+
73
+
74
+ self.verticalLayout.addLayout(self.horizontalLayout)
75
+
76
+ self.horizontalLayout_2 = QHBoxLayout()
77
+ self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
78
+ self.label_2 = QLabel(Equalizer)
79
+ self.label_2.setObjectName(u"label_2")
80
+ self.label_2.setMinimumSize(QSize(70, 0))
81
+ self.label_2.setMaximumSize(QSize(70, 16777215))
82
+
83
+ self.horizontalLayout_2.addWidget(self.label_2)
84
+
85
+ self.hs_contrast = QSlider(Equalizer)
86
+ self.hs_contrast.setObjectName(u"hs_contrast")
87
+ self.hs_contrast.setMinimumSize(QSize(200, 0))
88
+ self.hs_contrast.setMaximumSize(QSize(200, 16777215))
89
+ self.hs_contrast.setMinimum(-100)
90
+ self.hs_contrast.setValue(0)
91
+ self.hs_contrast.setOrientation(Qt.Horizontal)
92
+
93
+ self.horizontalLayout_2.addWidget(self.hs_contrast)
94
+
95
+ self.lb_contrast = QLabel(Equalizer)
96
+ self.lb_contrast.setObjectName(u"lb_contrast")
97
+ self.lb_contrast.setMinimumSize(QSize(25, 0))
98
+ self.lb_contrast.setMaximumSize(QSize(25, 16777215))
99
+
100
+ self.horizontalLayout_2.addWidget(self.lb_contrast)
101
+
102
+
103
+ self.verticalLayout.addLayout(self.horizontalLayout_2)
104
+
105
+ self.horizontalLayout_3 = QHBoxLayout()
106
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
107
+ self.label_3 = QLabel(Equalizer)
108
+ self.label_3.setObjectName(u"label_3")
109
+ self.label_3.setMinimumSize(QSize(70, 0))
110
+ self.label_3.setMaximumSize(QSize(70, 16777215))
111
+
112
+ self.horizontalLayout_3.addWidget(self.label_3)
113
+
114
+ self.hs_saturation = QSlider(Equalizer)
115
+ self.hs_saturation.setObjectName(u"hs_saturation")
116
+ self.hs_saturation.setMinimumSize(QSize(200, 0))
117
+ self.hs_saturation.setMaximumSize(QSize(200, 16777215))
118
+ self.hs_saturation.setMinimum(-100)
119
+ self.hs_saturation.setValue(0)
120
+ self.hs_saturation.setOrientation(Qt.Horizontal)
121
+
122
+ self.horizontalLayout_3.addWidget(self.hs_saturation)
123
+
124
+ self.lb_saturation = QLabel(Equalizer)
125
+ self.lb_saturation.setObjectName(u"lb_saturation")
126
+ self.lb_saturation.setMinimumSize(QSize(25, 0))
127
+ self.lb_saturation.setMaximumSize(QSize(25, 16777215))
128
+
129
+ self.horizontalLayout_3.addWidget(self.lb_saturation)
130
+
131
+
132
+ self.verticalLayout.addLayout(self.horizontalLayout_3)
133
+
134
+ self.horizontalLayout_4 = QHBoxLayout()
135
+ self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
136
+ self.label_4 = QLabel(Equalizer)
137
+ self.label_4.setObjectName(u"label_4")
138
+ self.label_4.setMinimumSize(QSize(70, 0))
139
+ self.label_4.setMaximumSize(QSize(70, 16777215))
140
+
141
+ self.horizontalLayout_4.addWidget(self.label_4)
142
+
143
+ self.hs_gamma = QSlider(Equalizer)
144
+ self.hs_gamma.setObjectName(u"hs_gamma")
145
+ self.hs_gamma.setMinimumSize(QSize(200, 0))
146
+ self.hs_gamma.setMaximumSize(QSize(200, 16777215))
147
+ self.hs_gamma.setMinimum(-100)
148
+ self.hs_gamma.setValue(0)
149
+ self.hs_gamma.setOrientation(Qt.Horizontal)
150
+
151
+ self.horizontalLayout_4.addWidget(self.hs_gamma)
152
+
153
+ self.lb_gamma = QLabel(Equalizer)
154
+ self.lb_gamma.setObjectName(u"lb_gamma")
155
+ self.lb_gamma.setMinimumSize(QSize(25, 0))
156
+ self.lb_gamma.setMaximumSize(QSize(25, 16777215))
157
+
158
+ self.horizontalLayout_4.addWidget(self.lb_gamma)
159
+
160
+
161
+ self.verticalLayout.addLayout(self.horizontalLayout_4)
162
+
163
+ self.horizontalLayout_5 = QHBoxLayout()
164
+ self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
165
+ self.label_5 = QLabel(Equalizer)
166
+ self.label_5.setObjectName(u"label_5")
167
+ self.label_5.setMinimumSize(QSize(70, 0))
168
+ self.label_5.setMaximumSize(QSize(70, 16777215))
169
+
170
+ self.horizontalLayout_5.addWidget(self.label_5)
171
+
172
+ self.hs_hue = QSlider(Equalizer)
173
+ self.hs_hue.setObjectName(u"hs_hue")
174
+ self.hs_hue.setMinimumSize(QSize(200, 0))
175
+ self.hs_hue.setMaximumSize(QSize(200, 16777215))
176
+ self.hs_hue.setMinimum(-100)
177
+ self.hs_hue.setValue(0)
178
+ self.hs_hue.setOrientation(Qt.Horizontal)
179
+
180
+ self.horizontalLayout_5.addWidget(self.hs_hue)
181
+
182
+ self.lb_hue = QLabel(Equalizer)
183
+ self.lb_hue.setObjectName(u"lb_hue")
184
+ self.lb_hue.setMinimumSize(QSize(25, 0))
185
+ self.lb_hue.setMaximumSize(QSize(25, 16777215))
186
+
187
+ self.horizontalLayout_5.addWidget(self.lb_hue)
188
+
189
+
190
+ self.verticalLayout.addLayout(self.horizontalLayout_5)
191
+
192
+ self.horizontalLayout_6 = QHBoxLayout()
193
+ self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
194
+ self.pb_reset_all = QPushButton(Equalizer)
195
+ self.pb_reset_all.setObjectName(u"pb_reset_all")
196
+
197
+ self.horizontalLayout_6.addWidget(self.pb_reset_all)
198
+
199
+ self.pb_reset = QPushButton(Equalizer)
200
+ self.pb_reset.setObjectName(u"pb_reset")
201
+
202
+ self.horizontalLayout_6.addWidget(self.pb_reset)
203
+
204
+
205
+ self.verticalLayout.addLayout(self.horizontalLayout_6)
206
+
207
+ self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
208
+
209
+ self.verticalLayout.addItem(self.verticalSpacer)
210
+
211
+ self.horizontalLayout_7 = QHBoxLayout()
212
+ self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
213
+ self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
214
+
215
+ self.horizontalLayout_7.addItem(self.horizontalSpacer)
216
+
217
+ self.pb_close = QPushButton(Equalizer)
218
+ self.pb_close.setObjectName(u"pb_close")
219
+
220
+ self.horizontalLayout_7.addWidget(self.pb_close)
221
+
222
+
223
+ self.verticalLayout.addLayout(self.horizontalLayout_7)
224
+
225
+
226
+ self.retranslateUi(Equalizer)
227
+
228
+ QMetaObject.connectSlotsByName(Equalizer)
229
+ # setupUi
230
+
231
+ def retranslateUi(self, Equalizer):
232
+ Equalizer.setWindowTitle(QCoreApplication.translate("Equalizer", u"Video equalizer", None))
233
+ self.label_6.setText(QCoreApplication.translate("Equalizer", u"Video equalizer", None))
234
+ self.label.setText(QCoreApplication.translate("Equalizer", u"Brightness", None))
235
+ self.lb_brightness.setText(QCoreApplication.translate("Equalizer", u"0", None))
236
+ self.label_2.setText(QCoreApplication.translate("Equalizer", u"Contrast", None))
237
+ self.lb_contrast.setText(QCoreApplication.translate("Equalizer", u"0", None))
238
+ self.label_3.setText(QCoreApplication.translate("Equalizer", u"Saturation", None))
239
+ self.lb_saturation.setText(QCoreApplication.translate("Equalizer", u"0", None))
240
+ self.label_4.setText(QCoreApplication.translate("Equalizer", u"Gamma", None))
241
+ self.lb_gamma.setText(QCoreApplication.translate("Equalizer", u"0", None))
242
+ self.label_5.setText(QCoreApplication.translate("Equalizer", u"Hue", None))
243
+ self.lb_hue.setText(QCoreApplication.translate("Equalizer", u"0", None))
244
+ self.pb_reset_all.setText(QCoreApplication.translate("Equalizer", u"Reset all players", None))
245
+ self.pb_reset.setText(QCoreApplication.translate("Equalizer", u"Reset current player", None))
246
+ self.pb_close.setText(QCoreApplication.translate("Equalizer", u"Close", None))
247
+ # retranslateUi
248
+