PySSTV 0.5.6__tar.gz → 0.5.7__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.
- {PySSTV-0.5.6 → pysstv-0.5.7}/PKG-INFO +10 -8
- {PySSTV-0.5.6 → pysstv-0.5.7}/PySSTV.egg-info/PKG-INFO +10 -8
- {PySSTV-0.5.6 → pysstv-0.5.7}/README.md +9 -7
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/color.py +52 -2
- {PySSTV-0.5.6 → pysstv-0.5.7}/setup.py +1 -1
- {PySSTV-0.5.6 → pysstv-0.5.7}/LICENSE.txt +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/MANIFEST.in +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/PySSTV.egg-info/SOURCES.txt +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/PySSTV.egg-info/dependency_links.txt +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/PySSTV.egg-info/entry_points.txt +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/PySSTV.egg-info/requires.txt +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/PySSTV.egg-info/top_level.txt +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pyproject.toml +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/__init__.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/__main__.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/__init__.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/codegen.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/get_floats.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/get_freq_bits.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/gimp-plugin.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/overlay.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/pyaudio_sstv.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/examples/repeater.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/grayscale.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/sstv.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/tests/__init__.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/tests/common.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/tests/test_color.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/pysstv/tests/test_sstv.py +0 -0
- {PySSTV-0.5.6 → pysstv-0.5.7}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PySSTV
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.7
|
|
4
4
|
Summary: Python classes for generating Slow-scan Television transmissions
|
|
5
5
|
Home-page: https://github.com/dnet/pySSTV
|
|
6
6
|
Author: András Veres-Szentkirályi
|
|
@@ -32,9 +32,10 @@ Command line usage
|
|
|
32
32
|
|
|
33
33
|
$ python -m pysstv -h
|
|
34
34
|
usage: __main__.py [-h]
|
|
35
|
-
[--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,Robot8BW,Robot24BW}]
|
|
35
|
+
[--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}]
|
|
36
36
|
[--rate RATE] [--bits BITS] [--vox] [--fskid FSKID]
|
|
37
|
-
[--chan CHAN]
|
|
37
|
+
[--chan CHAN] [--resize] [--keep-aspect-ratio]
|
|
38
|
+
[--keep-aspect] [--resample {nearest,bicubic,lanczos}]
|
|
38
39
|
image.png output.wav
|
|
39
40
|
|
|
40
41
|
Converts an image to an SSTV modulated WAV file.
|
|
@@ -43,9 +44,9 @@ Command line usage
|
|
|
43
44
|
image.png input image file name
|
|
44
45
|
output.wav output WAV file name
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
options:
|
|
47
48
|
-h, --help show this help message and exit
|
|
48
|
-
--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,
|
|
49
|
+
--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}
|
|
49
50
|
image mode (default: Martin M1)
|
|
50
51
|
--rate RATE sampling rate (default: 48000)
|
|
51
52
|
--bits BITS bits per sample (default: 16)
|
|
@@ -53,11 +54,12 @@ Command line usage
|
|
|
53
54
|
--fskid FSKID add FSKID at the end
|
|
54
55
|
--chan CHAN number of channels (default: mono)
|
|
55
56
|
--resize resize the image to the correct size
|
|
56
|
-
--keep-aspect-ratio keep the original aspect ratio when resizing
|
|
57
|
+
--keep-aspect-ratio keep the original aspect ratio when resizing
|
|
57
58
|
(and cut off excess pixels)
|
|
58
|
-
--keep-aspect keep the original aspect ratio when resizing
|
|
59
|
+
--keep-aspect keep the original aspect ratio when resizing
|
|
59
60
|
(not cut off excess pixels)
|
|
60
|
-
--resample
|
|
61
|
+
--resample {nearest,bicubic,lanczos}
|
|
62
|
+
which resampling filter to use for resizing
|
|
61
63
|
(see Pillow documentation)
|
|
62
64
|
|
|
63
65
|
Python interface
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PySSTV
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.7
|
|
4
4
|
Summary: Python classes for generating Slow-scan Television transmissions
|
|
5
5
|
Home-page: https://github.com/dnet/pySSTV
|
|
6
6
|
Author: András Veres-Szentkirályi
|
|
@@ -32,9 +32,10 @@ Command line usage
|
|
|
32
32
|
|
|
33
33
|
$ python -m pysstv -h
|
|
34
34
|
usage: __main__.py [-h]
|
|
35
|
-
[--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,Robot8BW,Robot24BW}]
|
|
35
|
+
[--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}]
|
|
36
36
|
[--rate RATE] [--bits BITS] [--vox] [--fskid FSKID]
|
|
37
|
-
[--chan CHAN]
|
|
37
|
+
[--chan CHAN] [--resize] [--keep-aspect-ratio]
|
|
38
|
+
[--keep-aspect] [--resample {nearest,bicubic,lanczos}]
|
|
38
39
|
image.png output.wav
|
|
39
40
|
|
|
40
41
|
Converts an image to an SSTV modulated WAV file.
|
|
@@ -43,9 +44,9 @@ Command line usage
|
|
|
43
44
|
image.png input image file name
|
|
44
45
|
output.wav output WAV file name
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
options:
|
|
47
48
|
-h, --help show this help message and exit
|
|
48
|
-
--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,
|
|
49
|
+
--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}
|
|
49
50
|
image mode (default: Martin M1)
|
|
50
51
|
--rate RATE sampling rate (default: 48000)
|
|
51
52
|
--bits BITS bits per sample (default: 16)
|
|
@@ -53,11 +54,12 @@ Command line usage
|
|
|
53
54
|
--fskid FSKID add FSKID at the end
|
|
54
55
|
--chan CHAN number of channels (default: mono)
|
|
55
56
|
--resize resize the image to the correct size
|
|
56
|
-
--keep-aspect-ratio keep the original aspect ratio when resizing
|
|
57
|
+
--keep-aspect-ratio keep the original aspect ratio when resizing
|
|
57
58
|
(and cut off excess pixels)
|
|
58
|
-
--keep-aspect keep the original aspect ratio when resizing
|
|
59
|
+
--keep-aspect keep the original aspect ratio when resizing
|
|
59
60
|
(not cut off excess pixels)
|
|
60
|
-
--resample
|
|
61
|
+
--resample {nearest,bicubic,lanczos}
|
|
62
|
+
which resampling filter to use for resizing
|
|
61
63
|
(see Pillow documentation)
|
|
62
64
|
|
|
63
65
|
Python interface
|
|
@@ -14,9 +14,10 @@ Command line usage
|
|
|
14
14
|
|
|
15
15
|
$ python -m pysstv -h
|
|
16
16
|
usage: __main__.py [-h]
|
|
17
|
-
[--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,Robot8BW,Robot24BW}]
|
|
17
|
+
[--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}]
|
|
18
18
|
[--rate RATE] [--bits BITS] [--vox] [--fskid FSKID]
|
|
19
|
-
[--chan CHAN]
|
|
19
|
+
[--chan CHAN] [--resize] [--keep-aspect-ratio]
|
|
20
|
+
[--keep-aspect] [--resample {nearest,bicubic,lanczos}]
|
|
20
21
|
image.png output.wav
|
|
21
22
|
|
|
22
23
|
Converts an image to an SSTV modulated WAV file.
|
|
@@ -25,9 +26,9 @@ Command line usage
|
|
|
25
26
|
image.png input image file name
|
|
26
27
|
output.wav output WAV file name
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
options:
|
|
29
30
|
-h, --help show this help message and exit
|
|
30
|
-
--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,
|
|
31
|
+
--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}
|
|
31
32
|
image mode (default: Martin M1)
|
|
32
33
|
--rate RATE sampling rate (default: 48000)
|
|
33
34
|
--bits BITS bits per sample (default: 16)
|
|
@@ -35,11 +36,12 @@ Command line usage
|
|
|
35
36
|
--fskid FSKID add FSKID at the end
|
|
36
37
|
--chan CHAN number of channels (default: mono)
|
|
37
38
|
--resize resize the image to the correct size
|
|
38
|
-
--keep-aspect-ratio keep the original aspect ratio when resizing
|
|
39
|
+
--keep-aspect-ratio keep the original aspect ratio when resizing
|
|
39
40
|
(and cut off excess pixels)
|
|
40
|
-
--keep-aspect keep the original aspect ratio when resizing
|
|
41
|
+
--keep-aspect keep the original aspect ratio when resizing
|
|
41
42
|
(not cut off excess pixels)
|
|
42
|
-
--resample
|
|
43
|
+
--resample {nearest,bicubic,lanczos}
|
|
44
|
+
which resampling filter to use for resizing
|
|
43
45
|
(see Pillow documentation)
|
|
44
46
|
|
|
45
47
|
Python interface
|
|
@@ -77,6 +77,12 @@ class ScottieS2(ScottieS1):
|
|
|
77
77
|
WIDTH = 160
|
|
78
78
|
|
|
79
79
|
|
|
80
|
+
class ScottieDX(ScottieS1):
|
|
81
|
+
VIS_CODE = 0x4c
|
|
82
|
+
# http://www.barberdsp.com/downloads/Dayton%20Paper.pdf
|
|
83
|
+
SCAN = 345.6000 - ScottieS1.INTER_CH_GAP
|
|
84
|
+
|
|
85
|
+
|
|
80
86
|
class Robot36(ColorSSTV):
|
|
81
87
|
VIS_CODE = 0x08
|
|
82
88
|
WIDTH = 320
|
|
@@ -201,5 +207,49 @@ class PD290(PD240):
|
|
|
201
207
|
PIXEL = 0.286
|
|
202
208
|
|
|
203
209
|
|
|
204
|
-
|
|
205
|
-
|
|
210
|
+
class WraaseSC2180(ColorSSTV):
|
|
211
|
+
VIS_CODE = 0x37
|
|
212
|
+
WIDTH = 320
|
|
213
|
+
HEIGHT = 256
|
|
214
|
+
COLOR_SEQ = (Color.red, Color.green, Color.blue)
|
|
215
|
+
|
|
216
|
+
SYNC = 5.5225
|
|
217
|
+
PORCH = 0.5
|
|
218
|
+
SCAN = 235.0
|
|
219
|
+
|
|
220
|
+
def before_channel(self, color):
|
|
221
|
+
if color is Color.red:
|
|
222
|
+
yield FREQ_BLACK, self.PORCH
|
|
223
|
+
else:
|
|
224
|
+
return []
|
|
225
|
+
|
|
226
|
+
def after_channel(self, color):
|
|
227
|
+
return []
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
class WraaseSC2120(WraaseSC2180):
|
|
231
|
+
VIS_CODE = 0x3f
|
|
232
|
+
|
|
233
|
+
# NB: there are "authoritative" sounding documents that will tell you SC-2
|
|
234
|
+
# 120 uses red and blue channels that have half the line width of the
|
|
235
|
+
# green channel. Having spent several hours trying to nut out why SC2-120
|
|
236
|
+
# images weren't decoding in anything else, I can say this is utter
|
|
237
|
+
# bunkum. The line width is the same for all three channels, just
|
|
238
|
+
# shorter.
|
|
239
|
+
|
|
240
|
+
SCAN = 156.0
|
|
241
|
+
|
|
242
|
+
def before_channel(self, color):
|
|
243
|
+
# Not sure why, but SC2-120 decoding seems to need an extra few sync
|
|
244
|
+
# pulses to decode in QSSTV and slowrx. Take the extra pulse out, and
|
|
245
|
+
# it slants something chronic and QSSTV loses sync regularly even on
|
|
246
|
+
# DX mode. Put it in, and both decode reliably. Go figure. SC2-180
|
|
247
|
+
# works just fine without this extra pulse at the start of each
|
|
248
|
+
# channel.
|
|
249
|
+
yield FREQ_BLACK, self.PORCH
|
|
250
|
+
yield from super().before_channel(color)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
MODES = (MartinM1, MartinM2, ScottieS1, ScottieS2, ScottieDX, Robot36,
|
|
254
|
+
PasokonP3, PasokonP5, PasokonP7, PD90, PD120, PD160, PD180, PD240,
|
|
255
|
+
PD290, WraaseSC2120, WraaseSC2180)
|
|
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
|