meeting-noter 1.2.0__py3-none-any.whl → 2.0.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.
Potentially problematic release.
This version of meeting-noter might be problematic. Click here for more details.
- meeting_noter/__init__.py +1 -1
- meeting_noter/cli.py +190 -11
- meeting_noter/config.py +34 -0
- meeting_noter/daemon.py +38 -0
- meeting_noter/mic_monitor.py +29 -1
- meeting_noter/output/favorites.py +189 -0
- meeting_noter/output/searcher.py +218 -0
- meeting_noter/transcription/live_transcription.py +17 -13
- meeting_noter/ui/__init__.py +5 -0
- meeting_noter/ui/app.py +68 -0
- meeting_noter/ui/screens/__init__.py +17 -0
- meeting_noter/ui/screens/logs.py +166 -0
- meeting_noter/ui/screens/main.py +346 -0
- meeting_noter/ui/screens/recordings.py +241 -0
- meeting_noter/ui/screens/search.py +191 -0
- meeting_noter/ui/screens/settings.py +184 -0
- meeting_noter/ui/screens/viewer.py +116 -0
- meeting_noter/ui/styles/app.tcss +257 -0
- meeting_noter/ui/widgets/__init__.py +1 -0
- {meeting_noter-1.2.0.dist-info → meeting_noter-2.0.0.dist-info}/METADATA +2 -1
- {meeting_noter-1.2.0.dist-info → meeting_noter-2.0.0.dist-info}/RECORD +24 -11
- {meeting_noter-1.2.0.dist-info → meeting_noter-2.0.0.dist-info}/WHEEL +0 -0
- {meeting_noter-1.2.0.dist-info → meeting_noter-2.0.0.dist-info}/entry_points.txt +0 -0
- {meeting_noter-1.2.0.dist-info → meeting_noter-2.0.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
/* Meeting Noter TUI Styles */
|
|
2
|
+
|
|
3
|
+
/* Base container styles */
|
|
4
|
+
#main-container,
|
|
5
|
+
#recordings-container,
|
|
6
|
+
#search-container,
|
|
7
|
+
#settings-container,
|
|
8
|
+
#viewer-container,
|
|
9
|
+
#logs-container {
|
|
10
|
+
padding: 1 2;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Title styling */
|
|
14
|
+
.title {
|
|
15
|
+
text-align: center;
|
|
16
|
+
text-style: bold;
|
|
17
|
+
padding: 1 0;
|
|
18
|
+
color: $accent;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Section headers */
|
|
22
|
+
.section-header {
|
|
23
|
+
margin-top: 1;
|
|
24
|
+
margin-bottom: 0;
|
|
25
|
+
color: $text-muted;
|
|
26
|
+
text-align: center;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* Spacers */
|
|
30
|
+
.spacer {
|
|
31
|
+
height: 1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.spacer-large {
|
|
35
|
+
height: 2;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Main content area */
|
|
39
|
+
.main-content {
|
|
40
|
+
align: center middle;
|
|
41
|
+
padding: 2;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Centered input section */
|
|
45
|
+
.input-section {
|
|
46
|
+
width: auto;
|
|
47
|
+
height: auto;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* Centered input rows */
|
|
51
|
+
.centered-input-row {
|
|
52
|
+
height: 3;
|
|
53
|
+
width: auto;
|
|
54
|
+
align: center middle;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.centered-switch-row {
|
|
58
|
+
height: 3;
|
|
59
|
+
width: auto;
|
|
60
|
+
align: center middle;
|
|
61
|
+
margin-top: 1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.input-label {
|
|
65
|
+
width: 18;
|
|
66
|
+
text-align: right;
|
|
67
|
+
padding-right: 1;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.meeting-input {
|
|
71
|
+
width: 30;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/* Centered button rows */
|
|
75
|
+
.centered-button-row {
|
|
76
|
+
height: 3;
|
|
77
|
+
width: auto;
|
|
78
|
+
align: center middle;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.centered-button-row Button {
|
|
82
|
+
margin: 0 1;
|
|
83
|
+
min-width: 16;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Old input rows (for backwards compat) */
|
|
87
|
+
.input-row {
|
|
88
|
+
height: 3;
|
|
89
|
+
margin: 1 0;
|
|
90
|
+
align: center middle;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.input-row Label {
|
|
94
|
+
width: 16;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.input-row Input {
|
|
98
|
+
width: 40;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* Switch rows */
|
|
102
|
+
.switch-row {
|
|
103
|
+
height: 3;
|
|
104
|
+
margin: 1 0;
|
|
105
|
+
align: center middle;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.switch-row Label {
|
|
109
|
+
width: 18;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Button rows */
|
|
113
|
+
.button-row {
|
|
114
|
+
height: 3;
|
|
115
|
+
margin: 1 0;
|
|
116
|
+
align: center middle;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.button-row Button {
|
|
120
|
+
margin: 0 1;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* Navigation row */
|
|
124
|
+
.nav-row {
|
|
125
|
+
height: 3;
|
|
126
|
+
margin: 1 0;
|
|
127
|
+
align: center middle;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.nav-row Button {
|
|
131
|
+
margin: 0 1;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* Search row */
|
|
135
|
+
.search-row {
|
|
136
|
+
height: 3;
|
|
137
|
+
margin: 1 0;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.search-row Input {
|
|
141
|
+
width: 1fr;
|
|
142
|
+
margin-right: 1;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Options row */
|
|
146
|
+
.options-row {
|
|
147
|
+
height: 3;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* Settings form */
|
|
151
|
+
.settings-form {
|
|
152
|
+
padding: 1 2;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.setting-row {
|
|
156
|
+
height: 3;
|
|
157
|
+
margin: 0 0 1 0;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.setting-label {
|
|
161
|
+
width: 22;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.setting-input {
|
|
165
|
+
width: 1fr;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/* DataTable */
|
|
169
|
+
DataTable {
|
|
170
|
+
height: 1fr;
|
|
171
|
+
scrollbar-gutter: stable;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
DataTable > .datatable--cursor {
|
|
175
|
+
background: $accent 30%;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* ListView */
|
|
179
|
+
ListView {
|
|
180
|
+
height: 1fr;
|
|
181
|
+
border: solid $primary;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
ListView > ListItem {
|
|
185
|
+
padding: 0 1;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
ListView > ListItem.--highlight {
|
|
189
|
+
background: $accent 30%;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/* RichLog */
|
|
193
|
+
RichLog {
|
|
194
|
+
height: 1fr;
|
|
195
|
+
border: solid $primary;
|
|
196
|
+
scrollbar-gutter: stable;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* Live transcript display */
|
|
200
|
+
#live-transcript {
|
|
201
|
+
height: 10;
|
|
202
|
+
min-height: 6;
|
|
203
|
+
max-height: 15;
|
|
204
|
+
border: solid $primary;
|
|
205
|
+
margin: 0 2;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
#live-header {
|
|
209
|
+
margin-top: 1;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/* TextArea */
|
|
213
|
+
TextArea {
|
|
214
|
+
height: 1fr;
|
|
215
|
+
border: solid $primary;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Status display */
|
|
219
|
+
#status {
|
|
220
|
+
border: solid $primary;
|
|
221
|
+
padding: 1 2;
|
|
222
|
+
margin: 1 4;
|
|
223
|
+
height: auto;
|
|
224
|
+
min-height: 5;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/* Status label */
|
|
228
|
+
#status-label {
|
|
229
|
+
text-align: center;
|
|
230
|
+
margin-top: 1;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/* File info label */
|
|
234
|
+
#file-info {
|
|
235
|
+
text-align: center;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/* Results header/footer */
|
|
239
|
+
#results-header,
|
|
240
|
+
#results-footer {
|
|
241
|
+
text-align: center;
|
|
242
|
+
margin: 1 0;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/* Select widget */
|
|
246
|
+
Select {
|
|
247
|
+
width: 30;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* Button styling - prevent text selection appearance */
|
|
251
|
+
Button {
|
|
252
|
+
text-style: bold;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
Button:focus {
|
|
256
|
+
text-style: bold;
|
|
257
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""UI Widgets for Meeting Noter."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meeting-noter
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: Offline meeting transcription for macOS with automatic meeting detection
|
|
5
5
|
Author: Victor
|
|
6
6
|
License: MIT
|
|
@@ -27,6 +27,7 @@ Requires-Dist: sounddevice>=0.4.6
|
|
|
27
27
|
Requires-Dist: numpy>=1.24
|
|
28
28
|
Requires-Dist: faster-whisper>=1.0.0
|
|
29
29
|
Requires-Dist: imageio-ffmpeg>=0.4.9
|
|
30
|
+
Requires-Dist: textual>=0.47.0
|
|
30
31
|
Requires-Dist: pyobjc-framework-Cocoa>=9.0; sys_platform == "darwin"
|
|
31
32
|
Requires-Dist: pyobjc-framework-Quartz>=9.0; sys_platform == "darwin"
|
|
32
33
|
Requires-Dist: pyobjc-framework-ScreenCaptureKit>=9.0; sys_platform == "darwin"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
meeting_noter/__init__.py,sha256=
|
|
1
|
+
meeting_noter/__init__.py,sha256=UpvJiLNpsDsoEbxhb6uqsVi1Sa0aUY4BvxWHfaYcBXg,103
|
|
2
2
|
meeting_noter/__main__.py,sha256=6sSOqH1o3jvgvkVzsVKmF6-xVGcUAbNVQkRl2CrygdE,120
|
|
3
|
-
meeting_noter/cli.py,sha256=
|
|
4
|
-
meeting_noter/config.py,sha256=
|
|
5
|
-
meeting_noter/daemon.py,sha256=
|
|
3
|
+
meeting_noter/cli.py,sha256=m9oHXqRLM8nilFRNaPcVgNOyflmBV9qQ6YHQZmGMG0I,36790
|
|
4
|
+
meeting_noter/config.py,sha256=vdnTh6W6-DUPJCj0ekFu1Q1m87O7gx0QD3E5DrRGpXk,7537
|
|
5
|
+
meeting_noter/daemon.py,sha256=i81IXgEnsoAoMewknySO5_ECa1nCGOsVLfXtJXJf0rw,21611
|
|
6
6
|
meeting_noter/meeting_detector.py,sha256=St0qoMkvUERP4BaxnXO1M6fZDJpWqBf9In7z2SgWcWg,10564
|
|
7
|
-
meeting_noter/mic_monitor.py,sha256=
|
|
7
|
+
meeting_noter/mic_monitor.py,sha256=SIsgb8X6uhYuA0CgsRhTjYi8aA-oSUm9vL0r_kQki3g,17239
|
|
8
8
|
meeting_noter/update_checker.py,sha256=sMmIiiZJL6K7wqLWE64Aj4hS8uspjUOirr6BG_IlL1I,1701
|
|
9
9
|
meeting_noter/audio/__init__.py,sha256=O7PU8CxHSHxMeHbc9Jdwt9kePLQzsPh81GQU7VHCtBY,44
|
|
10
10
|
meeting_noter/audio/capture.py,sha256=fDrT5oXfva8vdFlht9cv60NviKbksw2QeJ8eOtI19uE,6469
|
|
@@ -13,6 +13,8 @@ meeting_noter/audio/system_audio.py,sha256=jbHGjNCerI19weXap0a90Ik17lVTCT1hCEgRK
|
|
|
13
13
|
meeting_noter/install/__init__.py,sha256=SX5vLFMrV8aBDEGW18jhaqBqJqnRXaeo0Ct7QVGDgvE,38
|
|
14
14
|
meeting_noter/install/macos.py,sha256=dO-86zbNKRtt0l4D8naVn7kFWjzI8TufWLWE3FRLHQ8,3400
|
|
15
15
|
meeting_noter/output/__init__.py,sha256=F7xPlOrqweZcPbZtDrhved1stBI59vnWnLYfGwdu6oY,31
|
|
16
|
+
meeting_noter/output/favorites.py,sha256=kYtEshq5E5xxaqjG36JMY5a-r6C2w98iqmKsGsxpgag,5764
|
|
17
|
+
meeting_noter/output/searcher.py,sha256=ZGbEewodNuqq5mM4XvVtxELv_6UQByjs-LmEwodc-Ug,6448
|
|
16
18
|
meeting_noter/output/writer.py,sha256=zO8y6FAFUAp0EEtALY-M5e2Ja5P-hgV38JjcKW7c-bA,3017
|
|
17
19
|
meeting_noter/resources/__init__.py,sha256=yzHNxgypkuVDFZWv6xZjUygOVB_Equ9NNX_HGRvN7VM,43
|
|
18
20
|
meeting_noter/resources/icon.icns,sha256=zMWqXCq7pI5acS0tbekFgFDvLt66EKUBP5-5IgztwPM,35146
|
|
@@ -25,9 +27,20 @@ meeting_noter/resources/icon_512.png,sha256=o7X3ngYcppcIAAk9AcfPx94MUmrsPRp0qBTp
|
|
|
25
27
|
meeting_noter/resources/icon_64.png,sha256=TqG7Awx3kK8YdiX1e_z1odZonosZyQI2trlkNZCzUoI,607
|
|
26
28
|
meeting_noter/transcription/__init__.py,sha256=7GY9diP06DzFyoli41wddbrPv5bVDzH35bmnWlIJev4,29
|
|
27
29
|
meeting_noter/transcription/engine.py,sha256=G9NcSS6Q-UhW7PlQ0E85hQXn6BWao64nIvyw4NR2yxI,7208
|
|
28
|
-
meeting_noter/transcription/live_transcription.py,sha256=
|
|
29
|
-
meeting_noter
|
|
30
|
-
meeting_noter
|
|
31
|
-
meeting_noter
|
|
32
|
-
meeting_noter
|
|
33
|
-
meeting_noter
|
|
30
|
+
meeting_noter/transcription/live_transcription.py,sha256=YfojFWv4h3Lp-pK5tjIauvimCWAmDhj6pj5gUmyBxr4,9539
|
|
31
|
+
meeting_noter/ui/__init__.py,sha256=iK31upnYwlfQ4fB2laAlR2EqXLFTAgCxq0PU6AvfZ38,130
|
|
32
|
+
meeting_noter/ui/app.py,sha256=GSElpPMqYK8aJOgT5R4DX5N5yTzPD9iswnU2m8oOVcw,2272
|
|
33
|
+
meeting_noter/ui/screens/__init__.py,sha256=oiSNVk39W8zzvxleCIwApZWWV1CP1NKcaUhl801trVg,520
|
|
34
|
+
meeting_noter/ui/screens/logs.py,sha256=zO7TDcpzkU8DdKbHhhfvkI5WCc46dsiGcPe9n1Oix4g,5797
|
|
35
|
+
meeting_noter/ui/screens/main.py,sha256=wQO6mke2ox885ybekAun5fb1T5DbC9gET5cDiCqy54E,12501
|
|
36
|
+
meeting_noter/ui/screens/recordings.py,sha256=P-GDcklAEZPNaerrT5aNV73boJ2xwAUirnH-7phUTX0,7677
|
|
37
|
+
meeting_noter/ui/screens/search.py,sha256=seJUSFYzaFjJGiPRMz9FctdgovTjkOMl8KDGBRP-FX0,6590
|
|
38
|
+
meeting_noter/ui/screens/settings.py,sha256=Zb9-1rkPap1oUNcu4SJcOIemI8DmVC_5uqMd_MbLaCM,7247
|
|
39
|
+
meeting_noter/ui/screens/viewer.py,sha256=5LVhghDcpshlisCrygk9H3uwOh48vmonMd8d4NH77hU,3991
|
|
40
|
+
meeting_noter/ui/styles/app.tcss,sha256=-uE-1mE3oqKBZW1-pySmOZhK9oxjEQqcG7LDprwxBg4,3396
|
|
41
|
+
meeting_noter/ui/widgets/__init__.py,sha256=6aVXLDGFXL9PnX5bCnMAqRqOvsv4VuzK_T2UTySQlTg,36
|
|
42
|
+
meeting_noter-2.0.0.dist-info/METADATA,sha256=_t77Osf039ZI_VOKMgOsk-OGcBe0SX950SUpsHvVzmY,6970
|
|
43
|
+
meeting_noter-2.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
44
|
+
meeting_noter-2.0.0.dist-info/entry_points.txt,sha256=osZoOmm-UBPCJ4b6DGH6JOAm7mofM2fK06eK6blplmg,83
|
|
45
|
+
meeting_noter-2.0.0.dist-info/top_level.txt,sha256=9Tuq04_0SXM0OXOHVbOHkHkB5tG3fqkrMrfzCMpbLpY,14
|
|
46
|
+
meeting_noter-2.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|