Anchor-annotator 0.0.11__py3-none-any.whl → 0.2.0__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.
- {Anchor_annotator-0.0.11.dist-info → Anchor_annotator-0.2.0.dist-info}/METADATA +2 -2
- Anchor_annotator-0.2.0.dist-info/RECORD +21 -0
- {Anchor_annotator-0.0.11.dist-info → Anchor_annotator-0.2.0.dist-info}/WHEEL +1 -1
- anchor/_version.py +2 -2
- anchor/main.py +77 -50
- anchor/models.py +827 -455
- anchor/plot.py +471 -412
- anchor/settings.py +9 -1
- anchor/ui_preferences.py +78 -54
- anchor/undo.py +173 -128
- anchor/widgets.py +56 -48
- anchor/workers.py +61 -36
- Anchor_annotator-0.0.11.dist-info/RECORD +0 -21
- {Anchor_annotator-0.0.11.dist-info → Anchor_annotator-0.2.0.dist-info}/LICENSE +0 -0
- {Anchor_annotator-0.0.11.dist-info → Anchor_annotator-0.2.0.dist-info}/top_level.txt +0 -0
anchor/settings.py
CHANGED
@@ -76,6 +76,9 @@ class AnchorSettings(QtCore.QSettings):
|
|
76
76
|
LOCKED = "anchor/locked"
|
77
77
|
CUDA = "anchor/cuda"
|
78
78
|
GITHUB_TOKEN = "anchor/github_token"
|
79
|
+
TIME_DIRECTION = "anchor/time_direction"
|
80
|
+
RTL = "Right-to-left"
|
81
|
+
LTR = "Left-to-right"
|
79
82
|
|
80
83
|
RESULTS_PER_PAGE = "anchor/results_per_page"
|
81
84
|
SPEC_DYNAMIC_RANGE = "anchor/spectrogram/dynamic_range"
|
@@ -175,6 +178,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
175
178
|
AnchorSettings.SPEC_WINDOW_SIZE: 0.005,
|
176
179
|
AnchorSettings.SPEC_PREEMPH: 0.97,
|
177
180
|
AnchorSettings.CUDA: True,
|
181
|
+
AnchorSettings.TIME_DIRECTION: AnchorSettings.LTR,
|
178
182
|
AnchorSettings.CLUSTERING_PERPLEXITY: 30.0,
|
179
183
|
AnchorSettings.CLUSTERING_DISTANCE_THRESHOLD: 0.0,
|
180
184
|
AnchorSettings.CLUSTERING_METRIC: "cosine",
|
@@ -224,6 +228,10 @@ class AnchorSettings(QtCore.QSettings):
|
|
224
228
|
"Transcribed phones": AnchorSettings.TIER_TRANSCRIBED_PHONES_VISIBLE,
|
225
229
|
}
|
226
230
|
|
231
|
+
@property
|
232
|
+
def right_to_left(self) -> bool:
|
233
|
+
return self.value(AnchorSettings.TIME_DIRECTION) == AnchorSettings.RTL
|
234
|
+
|
227
235
|
@property
|
228
236
|
def visible_tiers(self):
|
229
237
|
return {
|
@@ -590,7 +598,7 @@ class AnchorSettings(QtCore.QSettings):
|
|
590
598
|
background-color: {menu_background_color};
|
591
599
|
}}
|
592
600
|
QMenuBar::item:selected {{
|
593
|
-
color: {
|
601
|
+
color: {menu_text_color};
|
594
602
|
background-color: {hover_background_color};
|
595
603
|
}}
|
596
604
|
QMenuBar::item:disabled {{
|
anchor/ui_preferences.py
CHANGED
@@ -87,65 +87,80 @@ class Ui_PreferencesDialog(object):
|
|
87
87
|
self.verticalLayout_9.setObjectName("verticalLayout_9")
|
88
88
|
self.formLayout = QFormLayout()
|
89
89
|
self.formLayout.setObjectName("formLayout")
|
90
|
-
self.
|
91
|
-
self.
|
90
|
+
self.autosaveLabel = QLabel(self.scrollAreaWidgetContents_3)
|
91
|
+
self.autosaveLabel.setObjectName("autosaveLabel")
|
92
|
+
|
93
|
+
self.formLayout.setWidget(0, QFormLayout.LabelRole, self.autosaveLabel)
|
94
|
+
|
95
|
+
self.autosaveOnExitCheckBox = QCheckBox(self.scrollAreaWidgetContents_3)
|
96
|
+
self.autosaveOnExitCheckBox.setObjectName("autosaveOnExitCheckBox")
|
97
|
+
|
98
|
+
self.formLayout.setWidget(0, QFormLayout.FieldRole, self.autosaveOnExitCheckBox)
|
92
99
|
|
93
|
-
self.
|
100
|
+
self.autoloadLastUsedCorpusLabel = QLabel(self.scrollAreaWidgetContents_3)
|
101
|
+
self.autoloadLastUsedCorpusLabel.setObjectName("autoloadLastUsedCorpusLabel")
|
102
|
+
|
103
|
+
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.autoloadLastUsedCorpusLabel)
|
104
|
+
|
105
|
+
self.autoloadLastUsedCorpusCheckBox = QCheckBox(self.scrollAreaWidgetContents_3)
|
106
|
+
self.autoloadLastUsedCorpusCheckBox.setObjectName("autoloadLastUsedCorpusCheckBox")
|
107
|
+
|
108
|
+
self.formLayout.setWidget(1, QFormLayout.FieldRole, self.autoloadLastUsedCorpusCheckBox)
|
109
|
+
|
110
|
+
self.audioDeviceLabel = QLabel(self.scrollAreaWidgetContents_3)
|
111
|
+
self.audioDeviceLabel.setObjectName("audioDeviceLabel")
|
112
|
+
|
113
|
+
self.formLayout.setWidget(2, QFormLayout.LabelRole, self.audioDeviceLabel)
|
94
114
|
|
95
115
|
self.audioDeviceEdit = QComboBox(self.scrollAreaWidgetContents_3)
|
96
116
|
self.audioDeviceEdit.setObjectName("audioDeviceEdit")
|
97
117
|
|
98
118
|
self.formLayout.setWidget(2, QFormLayout.FieldRole, self.audioDeviceEdit)
|
99
119
|
|
100
|
-
self.
|
101
|
-
self.
|
120
|
+
self.useMpLabel = QLabel(self.scrollAreaWidgetContents_3)
|
121
|
+
self.useMpLabel.setObjectName("useMpLabel")
|
102
122
|
|
103
|
-
self.formLayout.setWidget(
|
104
|
-
|
105
|
-
self.label_25 = QLabel(self.scrollAreaWidgetContents_3)
|
106
|
-
self.label_25.setObjectName("label_25")
|
107
|
-
|
108
|
-
self.formLayout.setWidget(5, QFormLayout.LabelRole, self.label_25)
|
123
|
+
self.formLayout.setWidget(3, QFormLayout.LabelRole, self.useMpLabel)
|
109
124
|
|
110
125
|
self.useMpCheckBox = QCheckBox(self.scrollAreaWidgetContents_3)
|
111
126
|
self.useMpCheckBox.setObjectName("useMpCheckBox")
|
112
127
|
|
113
128
|
self.formLayout.setWidget(3, QFormLayout.FieldRole, self.useMpCheckBox)
|
114
129
|
|
115
|
-
self.
|
116
|
-
self.
|
130
|
+
self.useCudaLabel = QLabel(self.scrollAreaWidgetContents_3)
|
131
|
+
self.useCudaLabel.setObjectName("useCudaLabel")
|
117
132
|
|
118
|
-
self.formLayout.setWidget(
|
133
|
+
self.formLayout.setWidget(4, QFormLayout.LabelRole, self.useCudaLabel)
|
119
134
|
|
120
|
-
self.
|
121
|
-
self.
|
135
|
+
self.cudaCheckBox = QCheckBox(self.scrollAreaWidgetContents_3)
|
136
|
+
self.cudaCheckBox.setObjectName("cudaCheckBox")
|
122
137
|
|
123
|
-
self.formLayout.setWidget(
|
138
|
+
self.formLayout.setWidget(4, QFormLayout.FieldRole, self.cudaCheckBox)
|
124
139
|
|
125
|
-
self.
|
126
|
-
self.
|
140
|
+
self.numJobsLabel = QLabel(self.scrollAreaWidgetContents_3)
|
141
|
+
self.numJobsLabel.setObjectName("numJobsLabel")
|
127
142
|
|
128
|
-
self.formLayout.setWidget(
|
143
|
+
self.formLayout.setWidget(5, QFormLayout.LabelRole, self.numJobsLabel)
|
129
144
|
|
130
|
-
self.
|
131
|
-
self.
|
145
|
+
self.numJobsEdit = QSpinBox(self.scrollAreaWidgetContents_3)
|
146
|
+
self.numJobsEdit.setObjectName("numJobsEdit")
|
132
147
|
|
133
|
-
self.formLayout.setWidget(
|
148
|
+
self.formLayout.setWidget(5, QFormLayout.FieldRole, self.numJobsEdit)
|
134
149
|
|
135
|
-
self.
|
136
|
-
self.
|
150
|
+
self.githubTokenLabel = QLabel(self.scrollAreaWidgetContents_3)
|
151
|
+
self.githubTokenLabel.setObjectName("githubTokenLabel")
|
137
152
|
|
138
|
-
self.formLayout.setWidget(
|
153
|
+
self.formLayout.setWidget(6, QFormLayout.LabelRole, self.githubTokenLabel)
|
139
154
|
|
140
155
|
self.githubTokenEdit = QLineEdit(self.scrollAreaWidgetContents_3)
|
141
156
|
self.githubTokenEdit.setObjectName("githubTokenEdit")
|
142
157
|
|
143
158
|
self.formLayout.setWidget(6, QFormLayout.FieldRole, self.githubTokenEdit)
|
144
159
|
|
145
|
-
self.
|
146
|
-
self.
|
160
|
+
self.resultsPerPageLabel = QLabel(self.scrollAreaWidgetContents_3)
|
161
|
+
self.resultsPerPageLabel.setObjectName("resultsPerPageLabel")
|
147
162
|
|
148
|
-
self.formLayout.setWidget(
|
163
|
+
self.formLayout.setWidget(7, QFormLayout.LabelRole, self.resultsPerPageLabel)
|
149
164
|
|
150
165
|
self.resultsPerPageEdit = QSpinBox(self.scrollAreaWidgetContents_3)
|
151
166
|
self.resultsPerPageEdit.setObjectName("resultsPerPageEdit")
|
@@ -153,20 +168,17 @@ class Ui_PreferencesDialog(object):
|
|
153
168
|
|
154
169
|
self.formLayout.setWidget(7, QFormLayout.FieldRole, self.resultsPerPageEdit)
|
155
170
|
|
156
|
-
self.
|
157
|
-
self.
|
171
|
+
self.timeDirectionLabel = QLabel(self.scrollAreaWidgetContents_3)
|
172
|
+
self.timeDirectionLabel.setObjectName("timeDirectionLabel")
|
158
173
|
|
159
|
-
self.formLayout.setWidget(
|
174
|
+
self.formLayout.setWidget(8, QFormLayout.LabelRole, self.timeDirectionLabel)
|
160
175
|
|
161
|
-
self.
|
162
|
-
self.
|
163
|
-
|
164
|
-
self.
|
165
|
-
|
166
|
-
self.label_48 = QLabel(self.scrollAreaWidgetContents_3)
|
167
|
-
self.label_48.setObjectName("label_48")
|
176
|
+
self.timeDirectionComboBox = QComboBox(self.scrollAreaWidgetContents_3)
|
177
|
+
self.timeDirectionComboBox.addItem("")
|
178
|
+
self.timeDirectionComboBox.addItem("")
|
179
|
+
self.timeDirectionComboBox.setObjectName("timeDirectionComboBox")
|
168
180
|
|
169
|
-
self.formLayout.setWidget(
|
181
|
+
self.formLayout.setWidget(8, QFormLayout.FieldRole, self.timeDirectionComboBox)
|
170
182
|
|
171
183
|
self.verticalLayout_9.addLayout(self.formLayout)
|
172
184
|
|
@@ -753,30 +765,42 @@ class Ui_PreferencesDialog(object):
|
|
753
765
|
PreferencesDialog.setWindowTitle(
|
754
766
|
QCoreApplication.translate("PreferencesDialog", "Dialog", None)
|
755
767
|
)
|
756
|
-
self.label_24.setText(
|
757
|
-
QCoreApplication.translate("PreferencesDialog", "Audio device", None)
|
758
|
-
)
|
759
|
-
self.label_25.setText(
|
760
|
-
QCoreApplication.translate("PreferencesDialog", "Number of processors to use", None)
|
761
|
-
)
|
762
|
-
self.useMpCheckBox.setText("")
|
763
|
-
self.label_26.setText(
|
764
|
-
QCoreApplication.translate("PreferencesDialog", "Use multiprocessing?", None)
|
765
|
-
)
|
766
768
|
self.autosaveLabel.setText(
|
767
769
|
QCoreApplication.translate("PreferencesDialog", "Autosave on exit", None)
|
768
770
|
)
|
769
771
|
self.autoloadLastUsedCorpusLabel.setText(
|
770
772
|
QCoreApplication.translate("PreferencesDialog", "Autoload last used corpus", None)
|
771
773
|
)
|
772
|
-
self.
|
774
|
+
self.audioDeviceLabel.setText(
|
775
|
+
QCoreApplication.translate("PreferencesDialog", "Audio device", None)
|
776
|
+
)
|
777
|
+
self.useMpLabel.setText(
|
778
|
+
QCoreApplication.translate("PreferencesDialog", "Use multiprocessing?", None)
|
779
|
+
)
|
780
|
+
self.useMpCheckBox.setText("")
|
781
|
+
self.useCudaLabel.setText(
|
782
|
+
QCoreApplication.translate("PreferencesDialog", "Use CUDA", None)
|
783
|
+
)
|
784
|
+
self.cudaCheckBox.setText("")
|
785
|
+
self.numJobsLabel.setText(
|
786
|
+
QCoreApplication.translate("PreferencesDialog", "Number of processors to use", None)
|
787
|
+
)
|
788
|
+
self.githubTokenLabel.setText(
|
773
789
|
QCoreApplication.translate("PreferencesDialog", "Github request token", None)
|
774
790
|
)
|
775
|
-
self.
|
791
|
+
self.resultsPerPageLabel.setText(
|
776
792
|
QCoreApplication.translate("PreferencesDialog", "Results per page", None)
|
777
793
|
)
|
778
|
-
self.
|
779
|
-
|
794
|
+
self.timeDirectionLabel.setText(
|
795
|
+
QCoreApplication.translate("PreferencesDialog", "Time direction", None)
|
796
|
+
)
|
797
|
+
self.timeDirectionComboBox.setItemText(
|
798
|
+
0, QCoreApplication.translate("PreferencesDialog", "Left-to-right", None)
|
799
|
+
)
|
800
|
+
self.timeDirectionComboBox.setItemText(
|
801
|
+
1, QCoreApplication.translate("PreferencesDialog", "Right-to-left", None)
|
802
|
+
)
|
803
|
+
|
780
804
|
self.tabWidget.setTabText(
|
781
805
|
self.tabWidget.indexOf(self.generalTab),
|
782
806
|
QCoreApplication.translate("PreferencesDialog", "General", None),
|