PySSTV 0.5.6__tar.gz → 0.5.8__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.
Files changed (32) hide show
  1. {PySSTV-0.5.6 → pysstv-0.5.8}/PKG-INFO +18 -18
  2. {PySSTV-0.5.6 → pysstv-0.5.8}/PySSTV.egg-info/PKG-INFO +18 -18
  3. {PySSTV-0.5.6 → pysstv-0.5.8}/PySSTV.egg-info/SOURCES.txt +5 -1
  4. pysstv-0.5.8/PySSTV.egg-info/requires.txt +1 -0
  5. {PySSTV-0.5.6 → pysstv-0.5.8}/README.md +9 -7
  6. pysstv-0.5.8/pyproject.toml +19 -0
  7. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/color.py +52 -2
  8. {PySSTV-0.5.6 → pysstv-0.5.8}/setup.py +1 -1
  9. PySSTV-0.5.6/PySSTV.egg-info/entry_points.txt +0 -2
  10. PySSTV-0.5.6/PySSTV.egg-info/requires.txt +0 -1
  11. PySSTV-0.5.6/pyproject.toml +0 -3
  12. {PySSTV-0.5.6 → pysstv-0.5.8}/LICENSE.txt +0 -0
  13. {PySSTV-0.5.6 → pysstv-0.5.8}/MANIFEST.in +0 -0
  14. {PySSTV-0.5.6 → pysstv-0.5.8}/PySSTV.egg-info/dependency_links.txt +0 -0
  15. {PySSTV-0.5.6 → pysstv-0.5.8}/PySSTV.egg-info/top_level.txt +0 -0
  16. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/__init__.py +0 -0
  17. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/__main__.py +0 -0
  18. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/__init__.py +0 -0
  19. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/codegen.py +0 -0
  20. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/get_floats.py +0 -0
  21. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/get_freq_bits.py +0 -0
  22. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/gimp-plugin.py +0 -0
  23. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/overlay.py +0 -0
  24. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/pyaudio_sstv.py +0 -0
  25. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/examples/repeater.py +0 -0
  26. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/grayscale.py +0 -0
  27. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/sstv.py +0 -0
  28. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/tests/__init__.py +0 -0
  29. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/tests/common.py +0 -0
  30. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/tests/test_color.py +0 -0
  31. {PySSTV-0.5.6 → pysstv-0.5.8}/pysstv/tests/test_sstv.py +0 -0
  32. {PySSTV-0.5.6 → pysstv-0.5.8}/setup.cfg +0 -0
@@ -1,20 +1,18 @@
1
- Metadata-Version: 2.1
2
- Name: PySSTV
3
- Version: 0.5.6
1
+ Metadata-Version: 2.4
2
+ Name: pySSTV
3
+ Version: 0.5.8
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
7
7
  Author-email: vsza@vsza.hu
8
- License: MIT
9
- Keywords: HAM SSTV slow-scan television Scottie Martin Robot Pasokon
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Topic :: Communications :: Ham Radio
12
- Classifier: Topic :: Multimedia :: Video :: Conversion
13
- Classifier: License :: OSI Approved :: MIT License
14
- Classifier: Operating System :: OS Independent
8
+ Requires-Python: >=3.10
15
9
  Description-Content-Type: text/markdown
16
10
  License-File: LICENSE.txt
17
- Requires-Dist: Pillow
11
+ Requires-Dist: pillow==12.2.0
12
+ Dynamic: author
13
+ Dynamic: author-email
14
+ Dynamic: home-page
15
+ Dynamic: license-file
18
16
 
19
17
  SSTV generator in pure Python
20
18
  =============================
@@ -32,9 +30,10 @@ Command line usage
32
30
 
33
31
  $ python -m pysstv -h
34
32
  usage: __main__.py [-h]
35
- [--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,Robot8BW,Robot24BW}]
33
+ [--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}]
36
34
  [--rate RATE] [--bits BITS] [--vox] [--fskid FSKID]
37
- [--chan CHAN]
35
+ [--chan CHAN] [--resize] [--keep-aspect-ratio]
36
+ [--keep-aspect] [--resample {nearest,bicubic,lanczos}]
38
37
  image.png output.wav
39
38
 
40
39
  Converts an image to an SSTV modulated WAV file.
@@ -43,9 +42,9 @@ Command line usage
43
42
  image.png input image file name
44
43
  output.wav output WAV file name
45
44
 
46
- optional arguments:
45
+ options:
47
46
  -h, --help show this help message and exit
48
- --mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120D160,PD180,PD240,Robot8BW,Robot24BW}
47
+ --mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}
49
48
  image mode (default: Martin M1)
50
49
  --rate RATE sampling rate (default: 48000)
51
50
  --bits BITS bits per sample (default: 16)
@@ -53,11 +52,12 @@ Command line usage
53
52
  --fskid FSKID add FSKID at the end
54
53
  --chan CHAN number of channels (default: mono)
55
54
  --resize resize the image to the correct size
56
- --keep-aspect-ratio keep the original aspect ratio when resizing
55
+ --keep-aspect-ratio keep the original aspect ratio when resizing
57
56
  (and cut off excess pixels)
58
- --keep-aspect keep the original aspect ratio when resizing
57
+ --keep-aspect keep the original aspect ratio when resizing
59
58
  (not cut off excess pixels)
60
- --resample which resampling filter to use for resizing
59
+ --resample {nearest,bicubic,lanczos}
60
+ which resampling filter to use for resizing
61
61
  (see Pillow documentation)
62
62
 
63
63
  Python interface
@@ -1,20 +1,18 @@
1
- Metadata-Version: 2.1
2
- Name: PySSTV
3
- Version: 0.5.6
1
+ Metadata-Version: 2.4
2
+ Name: pySSTV
3
+ Version: 0.5.8
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
7
7
  Author-email: vsza@vsza.hu
8
- License: MIT
9
- Keywords: HAM SSTV slow-scan television Scottie Martin Robot Pasokon
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Topic :: Communications :: Ham Radio
12
- Classifier: Topic :: Multimedia :: Video :: Conversion
13
- Classifier: License :: OSI Approved :: MIT License
14
- Classifier: Operating System :: OS Independent
8
+ Requires-Python: >=3.10
15
9
  Description-Content-Type: text/markdown
16
10
  License-File: LICENSE.txt
17
- Requires-Dist: Pillow
11
+ Requires-Dist: pillow==12.2.0
12
+ Dynamic: author
13
+ Dynamic: author-email
14
+ Dynamic: home-page
15
+ Dynamic: license-file
18
16
 
19
17
  SSTV generator in pure Python
20
18
  =============================
@@ -32,9 +30,10 @@ Command line usage
32
30
 
33
31
  $ python -m pysstv -h
34
32
  usage: __main__.py [-h]
35
- [--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,Robot8BW,Robot24BW}]
33
+ [--mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}]
36
34
  [--rate RATE] [--bits BITS] [--vox] [--fskid FSKID]
37
- [--chan CHAN]
35
+ [--chan CHAN] [--resize] [--keep-aspect-ratio]
36
+ [--keep-aspect] [--resample {nearest,bicubic,lanczos}]
38
37
  image.png output.wav
39
38
 
40
39
  Converts an image to an SSTV modulated WAV file.
@@ -43,9 +42,9 @@ Command line usage
43
42
  image.png input image file name
44
43
  output.wav output WAV file name
45
44
 
46
- optional arguments:
45
+ options:
47
46
  -h, --help show this help message and exit
48
- --mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120D160,PD180,PD240,Robot8BW,Robot24BW}
47
+ --mode {MartinM1,MartinM2,ScottieS1,ScottieS2,ScottieDX,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120,PD160,PD180,PD240,PD290,WraaseSC2120,WraaseSC2180,Robot8BW,Robot24BW}
49
48
  image mode (default: Martin M1)
50
49
  --rate RATE sampling rate (default: 48000)
51
50
  --bits BITS bits per sample (default: 16)
@@ -53,11 +52,12 @@ Command line usage
53
52
  --fskid FSKID add FSKID at the end
54
53
  --chan CHAN number of channels (default: mono)
55
54
  --resize resize the image to the correct size
56
- --keep-aspect-ratio keep the original aspect ratio when resizing
55
+ --keep-aspect-ratio keep the original aspect ratio when resizing
57
56
  (and cut off excess pixels)
58
- --keep-aspect keep the original aspect ratio when resizing
57
+ --keep-aspect keep the original aspect ratio when resizing
59
58
  (not cut off excess pixels)
60
- --resample which resampling filter to use for resizing
59
+ --resample {nearest,bicubic,lanczos}
60
+ which resampling filter to use for resizing
61
61
  (see Pillow documentation)
62
62
 
63
63
  Python interface
@@ -6,9 +6,13 @@ setup.py
6
6
  PySSTV.egg-info/PKG-INFO
7
7
  PySSTV.egg-info/SOURCES.txt
8
8
  PySSTV.egg-info/dependency_links.txt
9
- PySSTV.egg-info/entry_points.txt
10
9
  PySSTV.egg-info/requires.txt
11
10
  PySSTV.egg-info/top_level.txt
11
+ pySSTV.egg-info/PKG-INFO
12
+ pySSTV.egg-info/SOURCES.txt
13
+ pySSTV.egg-info/dependency_links.txt
14
+ pySSTV.egg-info/requires.txt
15
+ pySSTV.egg-info/top_level.txt
12
16
  pysstv/__init__.py
13
17
  pysstv/__main__.py
14
18
  pysstv/color.py
@@ -0,0 +1 @@
1
+ pillow==12.2.0
@@ -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
- optional arguments:
29
+ options:
29
30
  -h, --help show this help message and exit
30
- --mode {MartinM1,MartinM2,ScottieS1,ScottieS2,Robot36,PasokonP3,PasokonP5,PasokonP7,PD90,PD120D160,PD180,PD240,Robot8BW,Robot24BW}
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 which resampling filter to use for resizing
43
+ --resample {nearest,bicubic,lanczos}
44
+ which resampling filter to use for resizing
43
45
  (see Pillow documentation)
44
46
 
45
47
  Python interface
@@ -0,0 +1,19 @@
1
+ [project]
2
+ name = "pySSTV"
3
+ version = "0.5.8"
4
+ readme = "README.md"
5
+ description='Python classes for generating Slow-scan Television transmissions'
6
+ requires-python = ">=3.10"
7
+ dependencies = [
8
+ "pillow==12.2.0",
9
+ ]
10
+
11
+ [build-system]
12
+ requires = ["setuptools"]
13
+ build-backend = "setuptools.build_meta"
14
+
15
+ [dependency-groups]
16
+ dev = [
17
+ "mock==1.0.1",
18
+ "nose==1.3.0",
19
+ ]
@@ -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
- MODES = (MartinM1, MartinM2, ScottieS1, ScottieS2, Robot36,
205
- PasokonP3, PasokonP5, PasokonP7, PD90, PD120, PD160, PD180, PD240, PD290)
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)
@@ -4,7 +4,7 @@ from setuptools import setup
4
4
 
5
5
  setup(
6
6
  name='PySSTV',
7
- version='0.5.6',
7
+ version='0.5.8',
8
8
  description='Python classes for generating Slow-scan Television transmissions',
9
9
  author=u'András Veres-Szentkirályi',
10
10
  author_email='vsza@vsza.hu',
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- pysstv = pysstv.__main__:main
@@ -1 +0,0 @@
1
- Pillow
@@ -1,3 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools"]
3
- build-backend = "setuptools.build_meta"
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