boris-behav-obs 9.7.2__py3-none-any.whl → 9.7.3__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/about.py +5 -5
- boris/core.py +8 -3
- boris/ipc_mpv.py +2 -29
- boris/observation_operations.py +1 -1
- boris/version.py +2 -2
- boris/video_operations.py +4 -0
- {boris_behav_obs-9.7.2.dist-info → boris_behav_obs-9.7.3.dist-info}/METADATA +3 -4
- {boris_behav_obs-9.7.2.dist-info → boris_behav_obs-9.7.3.dist-info}/RECORD +12 -12
- {boris_behav_obs-9.7.2.dist-info → boris_behav_obs-9.7.3.dist-info}/WHEEL +0 -0
- {boris_behav_obs-9.7.2.dist-info → boris_behav_obs-9.7.3.dist-info}/entry_points.txt +0 -0
- {boris_behav_obs-9.7.2.dist-info → boris_behav_obs-9.7.3.dist-info}/licenses/LICENSE.TXT +0 -0
- {boris_behav_obs-9.7.2.dist-info → boris_behav_obs-9.7.3.dist-info}/top_level.txt +0 -0
boris/about.py
CHANGED
|
@@ -40,7 +40,7 @@ def actionAbout_activated(self):
|
|
|
40
40
|
About dialog
|
|
41
41
|
"""
|
|
42
42
|
|
|
43
|
-
programs_versions: list = ["MPV media player"]
|
|
43
|
+
programs_versions: list[str] = ["MPV media player"]
|
|
44
44
|
|
|
45
45
|
mpv_lib_version, mpv_lib_file_path, mpv_api_version = util.mpv_lib_version()
|
|
46
46
|
programs_versions.append(
|
|
@@ -53,13 +53,13 @@ def actionAbout_activated(self):
|
|
|
53
53
|
|
|
54
54
|
# ffmpeg
|
|
55
55
|
if self.ffmpeg_bin == "ffmpeg" and sys.platform.startswith("linux"):
|
|
56
|
-
ffmpeg_true_path = subprocess.getoutput("which ffmpeg")
|
|
56
|
+
ffmpeg_true_path: str = subprocess.getoutput("which ffmpeg")
|
|
57
57
|
else:
|
|
58
58
|
ffmpeg_true_path = self.ffmpeg_bin
|
|
59
59
|
programs_versions.extend(
|
|
60
60
|
[
|
|
61
61
|
"\nFFmpeg",
|
|
62
|
-
subprocess.getoutput(f'"{self.ffmpeg_bin}" -version').split("\n")[0],
|
|
62
|
+
subprocess.getoutput(cmd=f'"{self.ffmpeg_bin}" -version').split(sep="\n")[0],
|
|
63
63
|
f"Path: {ffmpeg_true_path}",
|
|
64
64
|
"https://www.ffmpeg.org",
|
|
65
65
|
]
|
|
@@ -75,11 +75,11 @@ def actionAbout_activated(self):
|
|
|
75
75
|
programs_versions.extend(["\nPandas", f"version {pd.__version__}", "https://pandas.pydata.org"])
|
|
76
76
|
|
|
77
77
|
# graphviz
|
|
78
|
-
gv_result = subprocess.getoutput("dot -V")
|
|
78
|
+
gv_result = subprocess.getoutput(cmd="dot -V")
|
|
79
79
|
|
|
80
80
|
programs_versions.extend(["\nGraphViz", gv_result if "graphviz" in gv_result else "not installed", "https://www.graphviz.org/"])
|
|
81
81
|
|
|
82
|
-
about_dialog = QMessageBox()
|
|
82
|
+
about_dialog: QMessageBox = QMessageBox()
|
|
83
83
|
about_dialog.setIconPixmap(QPixmap(":/boris_unito"))
|
|
84
84
|
|
|
85
85
|
about_dialog.setWindowTitle(f"About {cfg.programName}")
|
boris/core.py
CHANGED
|
@@ -3950,7 +3950,14 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|
|
3950
3950
|
slider_position = self.video_slider.value() / (cfg.SLIDER_MAXIMUM - 1)
|
|
3951
3951
|
if self.dw_player[0].player.duration is None:
|
|
3952
3952
|
return
|
|
3953
|
-
|
|
3953
|
+
print(f"{slider_position=}")
|
|
3954
|
+
|
|
3955
|
+
d = self.dw_player[0].player.duration
|
|
3956
|
+
print(f"{d=}")
|
|
3957
|
+
if d is None:
|
|
3958
|
+
return
|
|
3959
|
+
video_position = slider_position * d
|
|
3960
|
+
#video_position = slider_position * self.dw_player[0].player.duration
|
|
3954
3961
|
# self.dw_player[0].player.command("seek", str(video_position), "absolute")
|
|
3955
3962
|
self.dw_player[0].player.seek(video_position, "absolute")
|
|
3956
3963
|
|
|
@@ -4311,8 +4318,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
|
|
4311
4318
|
|
|
4312
4319
|
self.actionPlay.setIcon(QIcon(f":/play_{gui_utilities.theme_mode()}"))
|
|
4313
4320
|
|
|
4314
|
-
print(f"{msg=}")
|
|
4315
|
-
|
|
4316
4321
|
if msg:
|
|
4317
4322
|
self.lb_current_media_time.setText(msg)
|
|
4318
4323
|
|
boris/ipc_mpv.py
CHANGED
|
@@ -36,6 +36,7 @@ class IPC_MPV:
|
|
|
36
36
|
self.process = subprocess.Popen(
|
|
37
37
|
[
|
|
38
38
|
"mpv",
|
|
39
|
+
"--ontop",
|
|
39
40
|
"--no-border",
|
|
40
41
|
"--osc=no", # no on screen commands
|
|
41
42
|
"--input-ipc-server=" + self.socket_path,
|
|
@@ -48,30 +49,6 @@ class IPC_MPV:
|
|
|
48
49
|
stderr=subprocess.PIPE,
|
|
49
50
|
)
|
|
50
51
|
|
|
51
|
-
'''
|
|
52
|
-
def init_socket(self):
|
|
53
|
-
"""
|
|
54
|
-
Initialize the JSON IPC socket.
|
|
55
|
-
"""
|
|
56
|
-
print("init socket")
|
|
57
|
-
self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
|
58
|
-
QTimer.singleShot(5000, self.connect_socket) # Allow time for mpv to initialize
|
|
59
|
-
'''
|
|
60
|
-
|
|
61
|
-
'''
|
|
62
|
-
def connect_socket(self):
|
|
63
|
-
"""
|
|
64
|
-
Connect to the mpv IPC socket.
|
|
65
|
-
"""
|
|
66
|
-
print("connect socket")
|
|
67
|
-
try:
|
|
68
|
-
self.sock.connect(self.socket_path)
|
|
69
|
-
print("Connected to mpv IPC server.")
|
|
70
|
-
except socket.error as e:
|
|
71
|
-
print(f"Failed to connect to mpv IPC server: {e}")
|
|
72
|
-
print("end of connect_socket fucntion")
|
|
73
|
-
'''
|
|
74
|
-
|
|
75
52
|
def send_command(self, command):
|
|
76
53
|
"""
|
|
77
54
|
Send a JSON command to the mpv IPC server.
|
|
@@ -92,9 +69,7 @@ class IPC_MPV:
|
|
|
92
69
|
# Parse the response as JSON
|
|
93
70
|
response_data = json.loads(response.decode("utf-8"))
|
|
94
71
|
if response_data["error"] != "success":
|
|
95
|
-
|
|
96
|
-
print(f"{response_data=}")
|
|
97
|
-
print()
|
|
72
|
+
logging.warning(f"send command: {command} response data: {response_data}")
|
|
98
73
|
# Return the 'data' field which contains the playback position
|
|
99
74
|
return response_data.get("data")
|
|
100
75
|
except FileNotFoundError:
|
|
@@ -128,7 +103,6 @@ class IPC_MPV:
|
|
|
128
103
|
|
|
129
104
|
@pause.setter
|
|
130
105
|
def pause(self, value):
|
|
131
|
-
print(f"set pause to {value}")
|
|
132
106
|
return self.send_command({"command": ["set_property", "pause", value]})
|
|
133
107
|
|
|
134
108
|
@property
|
|
@@ -168,7 +142,6 @@ class IPC_MPV:
|
|
|
168
142
|
@property
|
|
169
143
|
def playback_time(self):
|
|
170
144
|
playback_time_ = self.send_command({"command": ["get_property", "playback-time"]})
|
|
171
|
-
print(f"playback_time: {playback_time_}")
|
|
172
145
|
return playback_time_
|
|
173
146
|
|
|
174
147
|
def frame_step(self):
|
boris/observation_operations.py
CHANGED
|
@@ -1964,7 +1964,7 @@ def initialize_new_media_observation(self) -> bool:
|
|
|
1964
1964
|
|
|
1965
1965
|
menu_options.update_menu(self)
|
|
1966
1966
|
|
|
1967
|
-
if
|
|
1967
|
+
if self.MPV_IPC_MODE:
|
|
1968
1968
|
# activate timer
|
|
1969
1969
|
self.ipc_mpv_timer = QTimer()
|
|
1970
1970
|
self.ipc_mpv_timer.setInterval(500)
|
boris/version.py
CHANGED
boris/video_operations.py
CHANGED
|
@@ -231,6 +231,10 @@ def display_zoom_level(self) -> None:
|
|
|
231
231
|
"""
|
|
232
232
|
msg: str = "Zoom level: <b>"
|
|
233
233
|
for player in self.dw_player:
|
|
234
|
+
vz = player.player.video_zoom
|
|
235
|
+
if vz is None:
|
|
236
|
+
self.lb_zoom_level.setText("-")
|
|
237
|
+
return
|
|
234
238
|
msg += f"{2**player.player.video_zoom:.1f} "
|
|
235
239
|
msg += "</b>"
|
|
236
240
|
self.lb_zoom_level.setText(msg)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boris-behav-obs
|
|
3
|
-
Version: 9.7.
|
|
3
|
+
Version: 9.7.3
|
|
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
|
|
@@ -44,15 +44,14 @@ BORIS (Behavioral Observation Research Interactive Software)
|
|
|
44
44
|
|
|
45
45
|
BORIS is an easy-to-use event logging software for video/audio coding or live observations.
|
|
46
46
|
|
|
47
|
-
BORIS is a free and open-source software available for GNU/Linux and
|
|
48
|
-
You can not longer run BORIS natively on MacOS (since v.8). Some alternatives to run the last version of BORIS are available, see [BORIS on MacOS](https://www.boris.unito.it/download_mac).
|
|
47
|
+
BORIS is a free and open-source software available for GNU/Linux, Windows and macOS.
|
|
49
48
|
|
|
50
49
|
It provides also some analysis tools like time budget and some plotting functions.
|
|
51
50
|
|
|
52
51
|
<!-- The BO-RIS paper has more than [ citations](https://www.boris.unito.it/citations) in peer-reviewed scientific publications. -->
|
|
53
52
|
|
|
54
53
|
|
|
55
|
-
The BORIS paper has more than
|
|
54
|
+
The BORIS paper has more than 2408 citations in peer-reviewed scientific publications.
|
|
56
55
|
|
|
57
56
|
|
|
58
57
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
boris/__init__.py,sha256=iAtmVMy22TJpMmxVTMSK_6-wXnCbx1ogvWgfYEcbHzU,773
|
|
2
2
|
boris/__main__.py,sha256=ANjTbXgXDoz2nB1tCtOIllfIVotCa602iebACX7rXaE,764
|
|
3
|
-
boris/about.py,sha256=
|
|
3
|
+
boris/about.py,sha256=RrK4fUbMUpyMWPZVmFYG91pVx_orvaLPw-OBWI_NcOg,5401
|
|
4
4
|
boris/add_modifier.py,sha256=l9LSa_9FAV9CnBgm26tJqhMAdnFoBQafZLyt9pTKmac,26240
|
|
5
5
|
boris/add_modifier_ui.py,sha256=Y7TLO5uS6zW7zpjXmjA4V_VIp_bFDNtjOTbJ9Q6m-mQ,11601
|
|
6
6
|
boris/advanced_event_filtering.py,sha256=VlvU12mL6xYacZOvJAi5uLpHMcmAw5Pvuvmka-PN29c,15469
|
|
@@ -16,7 +16,7 @@ boris/connections.py,sha256=KsC17LnS4tRM6O3Nu3mD1H9kQ7uYhhad9229jXfGF94,19774
|
|
|
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
|
-
boris/core.py,sha256=
|
|
19
|
+
boris/core.py,sha256=0l6wXCn88zfFBTqKx4fw4548i-hTwVi-JDzM3jE7ED0,232445
|
|
20
20
|
boris/core_qrc.py,sha256=Hz51Xw70ZIlDbYB281nfGtCm43_ItYhamMu2T5X8Tu8,639882
|
|
21
21
|
boris/core_ui.py,sha256=uDAI9mbadBe2mSsgugzNfRHxASc6Mu5kUf5tB9CZCjY,77445
|
|
22
22
|
boris/db_functions.py,sha256=TfCJ0Hq0pTFOKrZz3RzdvnR-NKCmrPHU2qL9BSXeeGQ,13379
|
|
@@ -36,7 +36,7 @@ boris/geometric_measurement.py,sha256=4pI-AYpBSFlJBqS-f8dnkgLtj_Z2E5kwwAdh6WwZ4k
|
|
|
36
36
|
boris/gui_utilities.py,sha256=Kv75XgFmicPUKvdRPj_yBYoDNc912cfl1IQrgw5T2kI,5458
|
|
37
37
|
boris/image_overlay.py,sha256=zZAL8MTt2i2s58CuX81Nym3rJ5pKiTeP4AO8WbIUonM,2527
|
|
38
38
|
boris/import_observations.py,sha256=zKrkpk1ADxTj2BECactPPOhU6wtrh3TjtOWue2HCT5w,9074
|
|
39
|
-
boris/ipc_mpv.py,sha256=
|
|
39
|
+
boris/ipc_mpv.py,sha256=Hb-RglR4UV1JcgK_jxKNUw0HZA4x2z_tfD7fR1gxFBY,8432
|
|
40
40
|
boris/irr.py,sha256=n6Y_Y9iEKOf9_7EE_lDRNei7tq2wkFKk_JVflm9UQdk,22335
|
|
41
41
|
boris/latency.py,sha256=48z9L_A582-wKCfD0M3h0uyYkeL2ezjlQAS_GzeoOe0,9739
|
|
42
42
|
boris/measurement_widget.py,sha256=lZV62KtK6TjdoNbKxj3uyNAuL5dfnQnn7mYwzMo-dOM,4480
|
|
@@ -47,7 +47,7 @@ boris/modifiers_coding_map.py,sha256=oT56ZY_PXhEJsMoblEsyNMAPbDpv7ZMOCnvmt7Ibx_Y
|
|
|
47
47
|
boris/mpv.py,sha256=EfzIHjPbgewG4w3smEtqEUPZoVwYmMQkL4Q8ZyW-a58,76410
|
|
48
48
|
boris/mpv2.py,sha256=IUI4t4r9GYX7G5OXTjd3RhMMOkDdfal_15buBgksLsk,92152
|
|
49
49
|
boris/observation.py,sha256=10UkVyY8TDySntIX_-H-IsuFdiF6tEcmC6JQUzD6wYg,57139
|
|
50
|
-
boris/observation_operations.py,sha256=
|
|
50
|
+
boris/observation_operations.py,sha256=PdP9K6A7z1EoOhuBQzBJo-X2vM1vJavGGgtUNBeKJ9o,105712
|
|
51
51
|
boris/observation_ui.py,sha256=DAnU94QBNvkLuHT6AxTwqSk_D_n6VUhSl8PexZv_dUk,33309
|
|
52
52
|
boris/observations_list.py,sha256=NqwECGHtHYmKhSe-qCfqPmJ24SSfzlXvIXS2i3op_zE,10591
|
|
53
53
|
boris/otx_parser.py,sha256=70QvilzFHXbjAHR88YH0aEXJ3xxheLS5fZGgHFHGpNE,16367
|
|
@@ -78,10 +78,10 @@ boris/time_budget_functions.py,sha256=SbGyTF2xySEqBdRJZeWFTirruvK3r6pwM6e4Gz17W1
|
|
|
78
78
|
boris/time_budget_widget.py,sha256=z-tyITBtIz-KH1H2OdMB5a8x9QQLK7Wu96-zkC6NVDA,43213
|
|
79
79
|
boris/transitions.py,sha256=okyDCO-Vn4p_Fixd8cGiSIaUhUxG5ePIOqGSuP52g_c,12246
|
|
80
80
|
boris/utilities.py,sha256=BJXl8IZHQC93ZcaN9cQrWmrg3Rr3F8_Q71Tz6Im3A0s,58104
|
|
81
|
-
boris/version.py,sha256=
|
|
81
|
+
boris/version.py,sha256=MqUY71OLsiY3VknHGempTDu88Un1Zm9auFmJtTN7UGQ,787
|
|
82
82
|
boris/video_equalizer.py,sha256=cm2JXe1eAPkqDzxYB2OMKyuveMBdq4a9-gD1bBorbn4,5823
|
|
83
83
|
boris/video_equalizer_ui.py,sha256=1CG3s79eM4JAbaCx3i1ILZXLceb41_gGXlOLNfpBgnw,10142
|
|
84
|
-
boris/video_operations.py,sha256=
|
|
84
|
+
boris/video_operations.py,sha256=i38CTLpD1WbkQr4WA7Mj5_47ouqDvcVgPgZ6wUyggwA,10923
|
|
85
85
|
boris/view_df.py,sha256=fhcNMFFVbQ4ZTpPwN_4Bg66DDIoV25zaPryZUsOxsKg,3338
|
|
86
86
|
boris/view_df_ui.py,sha256=CaMeRH_vQ00CTDDFQn73ZZaS-r8BSTWpL-dMCFqzJ_Q,2775
|
|
87
87
|
boris/write_event.py,sha256=xC-dUjgPS4-tvrQfvyL7O_xi-tyQI7leSiSV8_x8hgg,23817
|
|
@@ -101,9 +101,9 @@ boris/portion/dict.py,sha256=uNM-LEY52CZ2VNMMW_C9QukoyTvPlQf8vcbGa1lQBHI,11281
|
|
|
101
101
|
boris/portion/func.py,sha256=mSQr20YS1ug7R1fRqBg8LifjtXDRvJ6Kjc3WOeL9P34,2172
|
|
102
102
|
boris/portion/interval.py,sha256=sOlj3MAGGaB-JxCkigS-n3qw0fY7TANAsXv1pavr8J4,19931
|
|
103
103
|
boris/portion/io.py,sha256=kpq44pw3xnIyAlPwaR5qRHKRdZ72f8HS9YVIWs5k2pk,6367
|
|
104
|
-
boris_behav_obs-9.7.
|
|
105
|
-
boris_behav_obs-9.7.
|
|
106
|
-
boris_behav_obs-9.7.
|
|
107
|
-
boris_behav_obs-9.7.
|
|
108
|
-
boris_behav_obs-9.7.
|
|
109
|
-
boris_behav_obs-9.7.
|
|
104
|
+
boris_behav_obs-9.7.3.dist-info/licenses/LICENSE.TXT,sha256=WJ7YI-moTFb-uVrFjnzzhGJrnL9P2iqQe8NuED3hutI,35141
|
|
105
|
+
boris_behav_obs-9.7.3.dist-info/METADATA,sha256=GG7qKHLtzrifFsHDgVkeDJA3qLCU-iRTM3WWlse9y5I,5203
|
|
106
|
+
boris_behav_obs-9.7.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
107
|
+
boris_behav_obs-9.7.3.dist-info/entry_points.txt,sha256=k__8XvFi4vaA4QFvQehCZjYkKmZH34HSAJI2iYCWrMs,52
|
|
108
|
+
boris_behav_obs-9.7.3.dist-info/top_level.txt,sha256=fJSgm62S7WesiwTorGbOO4nNN0yzgZ3klgfGi3Px4qI,6
|
|
109
|
+
boris_behav_obs-9.7.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|