boris-behav-obs 9.5.2__py2.py3-none-any.whl → 9.6__py2.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.
boris/connections.py CHANGED
@@ -166,8 +166,10 @@ def connections(self):
166
166
  # menu playback
167
167
  self.actionJumpTo.triggered.connect(self.jump_to)
168
168
  self.action_deinterlace.triggered.connect(lambda: video_operations.deinterlace(self))
169
+ self.action_change_time_offset_of_players.triggered.connect(lambda: video_operations.change_player_offset(self))
169
170
  self.actionZoom_level.triggered.connect(lambda: video_operations.zoom_level(self))
170
171
  self.actionRotate_current_video.triggered.connect(lambda: video_operations.rotate_displayed_video(self))
172
+
171
173
  self.actionDisplay_subtitles.triggered.connect(lambda: video_operations.display_subtitles(self))
172
174
  self.actionVideo_equalizer.triggered.connect(lambda: video_equalizer.video_equalizer_show(self))
173
175
 
boris/core_ui.py CHANGED
@@ -380,6 +380,8 @@ class Ui_MainWindow(object):
380
380
  self.action_load_plugins.setObjectName(u"action_load_plugins")
381
381
  self.actionCreate_video_spectrogram = QAction(MainWindow)
382
382
  self.actionCreate_video_spectrogram.setObjectName(u"actionCreate_video_spectrogram")
383
+ self.action_change_time_offset_of_players = QAction(MainWindow)
384
+ self.action_change_time_offset_of_players.setObjectName(u"action_change_time_offset_of_players")
383
385
  self.centralwidget = QWidget(MainWindow)
384
386
  self.centralwidget.setObjectName(u"centralwidget")
385
387
  self.horizontalLayout_2 = QHBoxLayout(self.centralwidget)
@@ -486,7 +488,7 @@ class Ui_MainWindow(object):
486
488
  MainWindow.setCentralWidget(self.centralwidget)
487
489
  self.menubar = QMenuBar(MainWindow)
488
490
  self.menubar.setObjectName(u"menubar")
489
- self.menubar.setGeometry(QRect(0, 0, 1509, 20))
491
+ self.menubar.setGeometry(QRect(0, 0, 1509, 25))
490
492
  self.menuHelp = QMenu(self.menubar)
491
493
  self.menuHelp.setObjectName(u"menuHelp")
492
494
  self.menuFile = QMenu(self.menubar)
@@ -743,6 +745,7 @@ class Ui_MainWindow(object):
743
745
  self.menuPlayback.addAction(self.actionJumpForward)
744
746
  self.menuPlayback.addAction(self.actionJumpBackward)
745
747
  self.menuPlayback.addAction(self.actionJumpTo)
748
+ self.menuPlayback.addAction(self.action_change_time_offset_of_players)
746
749
  self.menuPlayback.addAction(self.action_deinterlace)
747
750
  self.menuPlayback.addSeparator()
748
751
  self.menuPlayback.addAction(self.actionZoom_level)
@@ -1033,6 +1036,7 @@ class Ui_MainWindow(object):
1033
1036
  self.actionAdd_frame_indexes.setText(QCoreApplication.translate("MainWindow", u"Add frame indexes", None))
1034
1037
  self.action_load_plugins.setText(QCoreApplication.translate("MainWindow", u"Load plugins", None))
1035
1038
  self.actionCreate_video_spectrogram.setText(QCoreApplication.translate("MainWindow", u"Create video spectrogram", None))
1039
+ self.action_change_time_offset_of_players.setText(QCoreApplication.translate("MainWindow", u"Change time offset of players", None))
1036
1040
  self.lbLogoBoris.setText("")
1037
1041
  self.lbLogoUnito.setText("")
1038
1042
  self.lb_player_status.setText(QCoreApplication.translate("MainWindow", u"lb_player_status", None))
boris/version.py CHANGED
@@ -20,5 +20,5 @@ This file is part of BORIS.
20
20
 
21
21
  """
22
22
 
23
- __version__ = "9.5.2"
23
+ __version__ = "9.6"
24
24
  __version_date__ = "2025-07-15"
boris/video_operations.py CHANGED
@@ -87,13 +87,6 @@ def zoom_level(self):
87
87
  for idx, dw in enumerate(self.dw_player):
88
88
  players_list.append(("dsb", f"Player #{idx + 1}", 0.1, 12, 0.1, 2**dw.player.video_zoom, 1))
89
89
 
90
- """
91
- zoom_levels: list = []
92
- for choice in (2, 1, 0.5, 0.25):
93
- zoom_levels.append((str(choice), "selected" if log2(choice) == dw.player.video_zoom else ""))
94
- players_list.append(("il", f"Player #{idx + 1}", zoom_levels))
95
- """
96
-
97
90
  zl = dialog.Input_dialog(label_caption="Select the zoom level", elements_list=players_list, title="Video zoom level")
98
91
  if not zl.exec_():
99
92
  return
@@ -117,6 +110,52 @@ def zoom_level(self):
117
110
  self.project_changed()
118
111
 
119
112
 
113
+ def change_player_offset(self):
114
+ """
115
+ display dialog box for setting the player time offset
116
+ """
117
+ logging.info("change the player time offset")
118
+
119
+ if cfg.OFFSET not in self.pj[cfg.OBSERVATIONS][self.observationId][cfg.MEDIA_INFO]:
120
+ self.pj[cfg.OBSERVATIONS][self.observationId][cfg.MEDIA_INFO][cfg.OFFSET] = {}
121
+
122
+ players_list: list = []
123
+
124
+ for idx, dw in enumerate(self.dw_player):
125
+ players_list.append(
126
+ (
127
+ "dsb",
128
+ f"Player #{idx + 1}",
129
+ -100000,
130
+ 100000,
131
+ 0.001,
132
+ self.pj[cfg.OBSERVATIONS][self.observationId][cfg.MEDIA_INFO][cfg.OFFSET][str(idx + 1)],
133
+ 3,
134
+ )
135
+ )
136
+
137
+ zl = dialog.Input_dialog(label_caption="Select the time offset", elements_list=players_list, title="Time offset")
138
+ if not zl.exec_():
139
+ return
140
+
141
+ for idx, dw in enumerate(self.dw_player):
142
+ if (
143
+ self.pj[cfg.OBSERVATIONS][self.observationId][cfg.MEDIA_INFO][cfg.OFFSET].get(str(idx + 1), 0)
144
+ != zl.elements[f"Player #{idx + 1}"].value()
145
+ ):
146
+ logging.debug(f"time offset of player changed in {zl.elements[f'Player #{idx + 1}'].value()} for player {idx + 1}")
147
+
148
+ self.pj[cfg.OBSERVATIONS][self.observationId][cfg.MEDIA_INFO][cfg.OFFSET][str(idx + 1)] = float(
149
+ zl.elements[f"Player #{idx + 1}"].value()
150
+ )
151
+
152
+ if self.dw_player[0].player.time_pos is not None:
153
+ cumulative_time_pos = self.getLaps() # for player 1
154
+ self.sync_time(idx, cumulative_time_pos)
155
+
156
+ self.project_changed()
157
+
158
+
120
159
  def rotate_displayed_video(self):
121
160
  """
122
161
  rotate the displayed video
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: boris-behav-obs
3
- Version: 9.5.2
3
+ Version: 9.6
4
4
  Summary: BORIS - Behavioral Observation Research Interactive Software
5
5
  Author-email: Olivier Friard <olivier.friard@unito.it>
6
6
  License-Expression: GPL-3.0-only
@@ -12,13 +12,13 @@ boris/cmd_arguments.py,sha256=oWb-FvhKLbKJhATlTHy9muWu8XnnUfOZ-3Fmz2M8Yzc,1848
12
12
  boris/coding_pad.py,sha256=fBKdp7DDyupySJosIYtqNd8s2E-GruzCgVhDFsoVWKE,10986
13
13
  boris/config.py,sha256=IbW8PkAFcZIL-8NoSscXSeI82dneLzpywaGXWDcnrWw,17845
14
14
  boris/config_file.py,sha256=bPDDRjtylVJ2ll-FNRjME5iIsIagonZNFns-k9kGW2Q,13545
15
- boris/connections.py,sha256=L899GFkXjVNXOYeUFO89aGGxI5VbvUe8qslyGFg0RyE,19511
15
+ boris/connections.py,sha256=kqc6jaYNzoJe8crPtfwE-fXTW4nTfB8-PojRzbbLEus,19629
16
16
  boris/converters.py,sha256=n6gDM9x2hS-ZOoHLruiifuXxnC7ERsUukiFokhHZPoQ,11678
17
17
  boris/converters_ui.py,sha256=uu7LOBV_fKv2DBdOqsqPwjGsjgONr5ODBoscAA-EP48,9900
18
18
  boris/cooccurence.py,sha256=tVERC-V8MWjWHlGEfDuu08iS94qjt4do-38jwI62QaY,10367
19
19
  boris/core.py,sha256=nq-GnTz6mdGFSv1GDAp0XJNyC0FW0DEdvqhMrlY_dCg,231016
20
20
  boris/core_qrc.py,sha256=J0kom27nrmi4-TCDLJZCZbtUAitiXQ4WEDfErawuxt8,639879
21
- boris/core_ui.py,sha256=BOEqjlV2xJKEtfk-3oaQgtSucJ7wKkKJ07fIy4qVAw8,76747
21
+ boris/core_ui.py,sha256=--VDOzUfjsA4TJRw3aFk2CeSL29193vPGLgYJRhQfUY,77143
22
22
  boris/db_functions.py,sha256=Uw9wWH_Pe-qNzpV1k21YG_jKsoOmfY_iiK_7ARZHGDc,13352
23
23
  boris/dev.py,sha256=9pUElbjl9g17rFUJXX5aVSu55_iIKIuDxNdrB0DI_d0,3671
24
24
  boris/dialog.py,sha256=LqZ73R9cwiL4qzKyMxeS2G8PKnbVZ0xFvZHw-oSek0M,34039
@@ -78,10 +78,10 @@ boris/time_budget_functions.py,sha256=y5He8crz0xsTxVfz0jATwFFQVnPAIrNHja_0sF6NtR
78
78
  boris/time_budget_widget.py,sha256=z-tyITBtIz-KH1H2OdMB5a8x9QQLK7Wu96-zkC6NVDA,43213
79
79
  boris/transitions.py,sha256=_aZJfJWv3EBrtmQ7qsdTCayQo6uWU7BXqtQQgflEhr4,12250
80
80
  boris/utilities.py,sha256=dD5HpojqlAGLVkr3YnOsaqfbCMHFYroe040ZchB5WnM,56662
81
- boris/version.py,sha256=r_jFSfQ3dIc0y2gmc77YPeX3ALHmwPPtr0mCN4VgrtY,787
81
+ boris/version.py,sha256=ZEBnf_7vJi2eFStpheIWRPeqh70jKh34dnMHHdgbbzI,785
82
82
  boris/video_equalizer.py,sha256=FartoGghFK-T53zklP70rPKYqTuzL8qdvfGlsOF2wwc,5854
83
83
  boris/video_equalizer_ui.py,sha256=1CG3s79eM4JAbaCx3i1ILZXLceb41_gGXlOLNfpBgnw,10142
84
- boris/video_operations.py,sha256=mh3iR__Sm2KnV44L_sW2pOo3AgLwlM7wiTnnqQiAVs4,9381
84
+ boris/video_operations.py,sha256=rXKWndaALaF-yLEPIY_-Z99XRAncZRzRd1sLzwSpbjs,10768
85
85
  boris/view_df.py,sha256=AKScLASX2Uatw7rqPbsnio83eVT4GZYCFhL091eMvlY,3370
86
86
  boris/view_df_ui.py,sha256=CaMeRH_vQ00CTDDFQn73ZZaS-r8BSTWpL-dMCFqzJ_Q,2775
87
87
  boris/write_event.py,sha256=RN_cFQZNE2jWbM_BiodL4tsyKT0JPREvUy7xgZnrfaM,24041
@@ -97,9 +97,9 @@ boris/portion/dict.py,sha256=SyHxc7PfDw2ufNLFQycwJtzmRfL48rDp4UrM2KN7IWc,11282
97
97
  boris/portion/func.py,sha256=3TkQtFKLfsqntwd27HSGHceFhnXHmT-EbNMqktElC5Q,2174
98
98
  boris/portion/interval.py,sha256=bAdUiJjGeUAPgsBAImwNeviiwfQq5odfhFZccAWzOTA,20299
99
99
  boris/portion/io.py,sha256=ppNeRpiLNrocF1yzGeuEUIhYMf2LfsR-cji3d0nmvUs,6371
100
- boris_behav_obs-9.5.2.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
101
- boris_behav_obs-9.5.2.dist-info/METADATA,sha256=pIRDrmyWcnAK10pxpqzXD2dC9t7wDEALlBy99fblRLk,4602
102
- boris_behav_obs-9.5.2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
103
- boris_behav_obs-9.5.2.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
104
- boris_behav_obs-9.5.2.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
105
- boris_behav_obs-9.5.2.dist-info/RECORD,,
100
+ boris_behav_obs-9.6.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
101
+ boris_behav_obs-9.6.dist-info/METADATA,sha256=9ttZPeStpc2xkd_zZxmh5FRrOs-SjWLGt63tYmT-Tc0,4600
102
+ boris_behav_obs-9.6.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
103
+ boris_behav_obs-9.6.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
104
+ boris_behav_obs-9.6.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
105
+ boris_behav_obs-9.6.dist-info/RECORD,,