boris-behav-obs 9.7.2__tar.gz → 9.7.4__tar.gz
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_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/PKG-INFO +3 -4
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/README.md +2 -3
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/about.py +5 -5
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/core.py +8 -3
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/ipc_mpv.py +2 -29
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/observation.py +5 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/observation_operations.py +1 -1
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/plot_data_module.py +2 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/utilities.py +19 -2
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/version.py +2 -2
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/video_operations.py +4 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/PKG-INFO +3 -4
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/pyproject.toml +1 -1
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/LICENSE.TXT +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/MANIFEST.in +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/README.TXT +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/__init__.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/__main__.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/add_modifier.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/add_modifier_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/advanced_event_filtering.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/__init__.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/_latency.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/irr_cohen_kappa.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/irr_cohen_kappa_with_modifiers.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/irr_weighted_cohen_kappa.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/irr_weighted_cohen_kappa_with_modifiers.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/list_of_dataframe_columns.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/number_of_occurences.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/number_of_occurences_by_independent_variable.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/time_budget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/behav_coding_map_creator.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/behavior_binary_table.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/behaviors_coding_map.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/boris_cli.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/cmd_arguments.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/coding_pad.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/config.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/config_file.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/connections.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/converters.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/converters_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/cooccurence.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/core_qrc.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/core_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/db_functions.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/dev.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/dialog.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/duration_widget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/edit_event.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/edit_event_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/event_operations.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/events_cursor.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/events_snapshots.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/exclusion_matrix.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/export_events.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/export_observation.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/external_processes.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/geometric_measurement.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/gui_utilities.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/image_overlay.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/import_observations.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/irr.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/latency.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/measurement_widget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/media_file.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/menu_options.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/modifier_coding_map_creator.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/modifiers_coding_map.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/mpv.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/mpv2.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/observation_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/observations_list.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/otx_parser.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/param_panel.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/param_panel_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/player_dock_widget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/plot_events.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/plot_events_rt.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/plot_spectrogram_rt.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/plot_waveform_rt.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/plugins.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/portion/__init__.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/portion/const.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/portion/dict.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/portion/func.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/portion/interval.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/portion/io.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/preferences.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/preferences_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/project.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/project_functions.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/project_import_export.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/project_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/qrc_boris.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/qrc_boris5.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/select_modifiers.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/select_observations.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/select_subj_behav.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/state_events.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/subjects_pad.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/synthetic_time_budget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/time_budget_functions.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/time_budget_widget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/transitions.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/video_equalizer.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/video_equalizer_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/view_df.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/view_df_ui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/write_event.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/SOURCES.txt +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/dependency_links.txt +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/entry_points.txt +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/requires.txt +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/top_level.txt +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/setup.cfg +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_db_functions.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_export_observation.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_irr.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_observation_gui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_otx_parser.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_preferences_gui.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_project_functions.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_time_budget.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_utilities.py +0 -0
- {boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/tests/test_utilities2.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: boris-behav-obs
|
|
3
|
-
Version: 9.7.
|
|
3
|
+
Version: 9.7.4
|
|
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 2423 citations in peer-reviewed scientific publications.
|
|
56
55
|
|
|
57
56
|
|
|
58
57
|
|
|
@@ -6,15 +6,14 @@ BORIS (Behavioral Observation Research Interactive Software)
|
|
|
6
6
|
|
|
7
7
|
BORIS is an easy-to-use event logging software for video/audio coding or live observations.
|
|
8
8
|
|
|
9
|
-
BORIS is a free and open-source software available for GNU/Linux and
|
|
10
|
-
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).
|
|
9
|
+
BORIS is a free and open-source software available for GNU/Linux, Windows and macOS.
|
|
11
10
|
|
|
12
11
|
It provides also some analysis tools like time budget and some plotting functions.
|
|
13
12
|
|
|
14
13
|
<!-- The BO-RIS paper has more than [ citations](https://www.boris.unito.it/citations) in peer-reviewed scientific publications. -->
|
|
15
14
|
|
|
16
15
|
|
|
17
|
-
The BORIS paper has more than
|
|
16
|
+
The BORIS paper has more than 2423 citations in peer-reviewed scientific publications.
|
|
18
17
|
|
|
19
18
|
|
|
20
19
|
|
|
@@ -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}")
|
|
@@ -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
|
|
|
@@ -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):
|
|
@@ -42,6 +42,7 @@ from PySide6.QtWidgets import (
|
|
|
42
42
|
QApplication,
|
|
43
43
|
QMenu,
|
|
44
44
|
QListWidgetItem,
|
|
45
|
+
QHeaderView
|
|
45
46
|
)
|
|
46
47
|
|
|
47
48
|
from . import config as cfg
|
|
@@ -224,6 +225,10 @@ class Observation(QDialog, Ui_Form):
|
|
|
224
225
|
self.pbCancel.clicked.connect(self.pbCancel_clicked)
|
|
225
226
|
|
|
226
227
|
self.tw_data_files.cellDoubleClicked[int, int].connect(self.tw_data_files_cellDoubleClicked)
|
|
228
|
+
self.tw_data_files.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
|
|
229
|
+
|
|
230
|
+
self.twVideo1.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)
|
|
231
|
+
|
|
227
232
|
|
|
228
233
|
self.mediaDurations, self.mediaFPS, self.mediaHasVideo, self.mediaHasAudio, self.media_creation_time = {}, {}, {}, {}, {}
|
|
229
234
|
|
|
@@ -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)
|
|
@@ -471,17 +471,34 @@ def txt2np_array(
|
|
|
471
471
|
conv_name = column_converter[column_idx]
|
|
472
472
|
|
|
473
473
|
function = f"""def {conv_name}(INPUT):\n"""
|
|
474
|
-
function += """ INPUT = INPUT.decode("utf-8") if isinstance(INPUT, bytes) else INPUT"""
|
|
474
|
+
function += """ INPUT = INPUT.decode("utf-8") if isinstance(INPUT, bytes) else INPUT\n\n"""
|
|
475
475
|
for line in converters[conv_name]["code"].split("\n"):
|
|
476
476
|
function += f" {line}\n"
|
|
477
477
|
function += """ return OUTPUT"""
|
|
478
478
|
|
|
479
|
+
|
|
480
|
+
print('=============')
|
|
481
|
+
print(function)
|
|
482
|
+
print('=============')
|
|
483
|
+
|
|
484
|
+
import types
|
|
485
|
+
mod = types.ModuleType("converter_module")
|
|
486
|
+
exec(function, mod.__dict__)
|
|
487
|
+
|
|
488
|
+
'''
|
|
479
489
|
try:
|
|
480
490
|
exec(function)
|
|
481
491
|
except Exception:
|
|
482
492
|
return False, f"error in converter: {sys.exc_info()[1]}", np.array([])
|
|
483
493
|
|
|
484
|
-
|
|
494
|
+
print(f"{converters=}")
|
|
495
|
+
print(f"{column_converter=}")
|
|
496
|
+
print(locals())
|
|
497
|
+
print(f"{conv_name=}")
|
|
498
|
+
'''
|
|
499
|
+
|
|
500
|
+
#np_converters[column_idx - 1] = locals()['conv_name']
|
|
501
|
+
np_converters[column_idx - 1] = getattr(mod, conv_name)
|
|
485
502
|
|
|
486
503
|
else:
|
|
487
504
|
return False, f"converter {cfg.converters_param[column_idx]} not found", np.array([])
|
|
@@ -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.4
|
|
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 2423 citations in peer-reviewed scientific publications.
|
|
56
55
|
|
|
57
56
|
|
|
58
57
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/irr_weighted_cohen_kappa.py
RENAMED
|
File without changes
|
|
File without changes
|
{boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/list_of_dataframe_columns.py
RENAMED
|
File without changes
|
{boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris/analysis_plugins/number_of_occurences.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{boris_behav_obs-9.7.2 → boris_behav_obs-9.7.4}/boris_behav_obs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|