not1mm 24.4.15__tar.gz → 24.4.17__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 (152) hide show
  1. {not1mm-24.4.15 → not1mm-24.4.17}/PKG-INFO +3 -2
  2. {not1mm-24.4.15 → not1mm-24.4.17}/README.md +2 -1
  3. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/settings.ui +1 -1
  4. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/fsutils.py +5 -11
  5. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/settings.py +11 -2
  6. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/version.py +1 -1
  7. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm.egg-info/PKG-INFO +3 -2
  8. {not1mm-24.4.15 → not1mm-24.4.17}/pyproject.toml +1 -1
  9. {not1mm-24.4.15 → not1mm-24.4.17}/LICENSE +0 -0
  10. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/__init__.py +0 -0
  11. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/__main__.py +0 -0
  12. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/bandmap.py +0 -0
  13. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/checkwindow.py +0 -0
  14. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  15. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/MASTER.SCP +0 -0
  16. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/about.ui +0 -0
  17. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  18. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/bandmap.ui +0 -0
  19. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/check.png +0 -0
  20. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/checkwindow.ui +0 -0
  21. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/configuration.ui +0 -0
  22. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/contests.sql +0 -0
  23. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/cty.json +0 -0
  24. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/cwmacros.txt +0 -0
  25. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/donors.html +0 -0
  26. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/editcontact.ui +0 -0
  27. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/editmacro.ui +0 -0
  28. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/greendot.png +0 -0
  29. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/k6gte-not1mm.desktop +0 -0
  30. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/k6gte.not1mm-128.png +0 -0
  31. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/k6gte.not1mm-32.png +0 -0
  32. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/k6gte.not1mm-64.png +0 -0
  33. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/logwindow.ui +0 -0
  34. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/logwindowx.ui +0 -0
  35. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/main.ui +0 -0
  36. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/new_contest.ui +0 -0
  37. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/not1mm.html +0 -0
  38. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/opon.ui +0 -0
  39. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/0.wav +0 -0
  40. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/1.wav +0 -0
  41. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/2.wav +0 -0
  42. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/3.wav +0 -0
  43. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/4.wav +0 -0
  44. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/5.wav +0 -0
  45. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/6.wav +0 -0
  46. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/7.wav +0 -0
  47. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/73.wav +0 -0
  48. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/8.wav +0 -0
  49. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/9.wav +0 -0
  50. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/a.wav +0 -0
  51. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/again.wav +0 -0
  52. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/b.wav +0 -0
  53. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/c.wav +0 -0
  54. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/contest.wav +0 -0
  55. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/cq.wav +0 -0
  56. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/d.wav +0 -0
  57. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/e.wav +0 -0
  58. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/f.wav +0 -0
  59. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/g.wav +0 -0
  60. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/h.wav +0 -0
  61. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/i.wav +0 -0
  62. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/j.wav +0 -0
  63. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/k.wav +0 -0
  64. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/k6gte.wav +0 -0
  65. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/l.wav +0 -0
  66. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/m.wav +0 -0
  67. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/mynumber.wav +0 -0
  68. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/n.wav +0 -0
  69. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/nil.wav +0 -0
  70. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/o.wav +0 -0
  71. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/p.wav +0 -0
  72. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/q.wav +0 -0
  73. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/r.wav +0 -0
  74. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/roger.wav +0 -0
  75. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/s.wav +0 -0
  76. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/space.wav +0 -0
  77. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/t.wav +0 -0
  78. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/thankyou.wav +0 -0
  79. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  80. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/u.wav +0 -0
  81. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/v.wav +0 -0
  82. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/w.wav +0 -0
  83. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/x.wav +0 -0
  84. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/y.wav +0 -0
  85. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/yourcall.wav +0 -0
  86. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/phonetics/z.wav +0 -0
  87. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/pickcontest.ui +0 -0
  88. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/radio_green.png +0 -0
  89. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/radio_grey.png +0 -0
  90. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/radio_red.png +0 -0
  91. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/reddot.png +0 -0
  92. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/ssbmacros.txt +0 -0
  93. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/data/vfo.ui +0 -0
  94. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/__init__.py +0 -0
  95. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/about.py +0 -0
  96. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/cat_interface.py +0 -0
  97. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/cwinterface.py +0 -0
  98. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/database.py +0 -0
  99. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/edit_contact.py +0 -0
  100. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/edit_macro.py +0 -0
  101. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/edit_opon.py +0 -0
  102. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/edit_station.py +0 -0
  103. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/ft8_watcher.py +0 -0
  104. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/ham_utility.py +0 -0
  105. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/lookup.py +0 -0
  106. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/multicast.py +0 -0
  107. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/n1mm.py +0 -0
  108. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/new_contest.py +0 -0
  109. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/plugin_common.py +0 -0
  110. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/select_contest.py +0 -0
  111. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/super_check_partial.py +0 -0
  112. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/lib/versiontest.py +0 -0
  113. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/logwindow.py +0 -0
  114. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/10_10_fall_cw.py +0 -0
  115. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/10_10_spring_cw.py +0 -0
  116. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/10_10_summer_phone.py +0 -0
  117. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/10_10_winter_phone.py +0 -0
  118. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/__init__.py +0 -0
  119. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_10m.py +0 -0
  120. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_dx_cw.py +0 -0
  121. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  122. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_field_day.py +0 -0
  123. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  124. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_ss_cw.py +0 -0
  125. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_ss_phone.py +0 -0
  126. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  127. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  128. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  129. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/canada_day.py +0 -0
  130. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cq_160_cw.py +0 -0
  131. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cq_160_ssb.py +0 -0
  132. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cq_wpx_cw.py +0 -0
  133. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  134. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cq_ww_cw.py +0 -0
  135. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cq_ww_ssb.py +0 -0
  136. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/cwt.py +0 -0
  137. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/general_logging.py +0 -0
  138. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/iaru_hf.py +0 -0
  139. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/jidx_cw.py +0 -0
  140. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/jidx_ph.py +0 -0
  141. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/naqp_cw.py +0 -0
  142. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/naqp_ssb.py +0 -0
  143. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/phone_weekly_test.py +0 -0
  144. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/stew_perry_topband.py +0 -0
  145. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/plugins/winter_field_day.py +0 -0
  146. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm/vfo.py +0 -0
  147. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm.egg-info/SOURCES.txt +0 -0
  148. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm.egg-info/dependency_links.txt +0 -0
  149. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm.egg-info/entry_points.txt +0 -0
  150. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm.egg-info/requires.txt +0 -0
  151. {not1mm-24.4.15 → not1mm-24.4.17}/not1mm.egg-info/top_level.txt +0 -0
  152. {not1mm-24.4.15 → not1mm-24.4.17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.4.15
3
+ Version: 24.4.17
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -177,6 +177,7 @@ I wish to thank those who've contributed to the project.
177
177
 
178
178
  ## Recent Changes
179
179
 
180
+ - [24-4-17] Trap OSError if no sound device. Stop fsutils/appdata from creating useless .not1mm and .username folder structures on Linux platforms.
180
181
  - [24-4-15] checkwindow.py Tighter results. Changed the call selection to use a single click.
181
182
  - [24-4-9-4] Check for portaudio instead of crash boom. Removed empty dockwidget. Tested on Plasma 6.
182
183
  - [24-4-9-3] Ugh. It's not a real day unless you forget to test.
@@ -225,7 +226,7 @@ pip install -U not1mm
225
226
  ```bash
226
227
  sudo apt update
227
228
  sudo apt upgrade
228
- sudo apt install -y libportaudio2 pipx
229
+ sudo apt install -y libportaudio2 pipx libxcb-cursor0
229
230
  pipx install not1mm
230
231
  pipx ensurepath
231
232
  ```
@@ -145,6 +145,7 @@ I wish to thank those who've contributed to the project.
145
145
 
146
146
  ## Recent Changes
147
147
 
148
+ - [24-4-17] Trap OSError if no sound device. Stop fsutils/appdata from creating useless .not1mm and .username folder structures on Linux platforms.
148
149
  - [24-4-15] checkwindow.py Tighter results. Changed the call selection to use a single click.
149
150
  - [24-4-9-4] Check for portaudio instead of crash boom. Removed empty dockwidget. Tested on Plasma 6.
150
151
  - [24-4-9-3] Ugh. It's not a real day unless you forget to test.
@@ -193,7 +194,7 @@ pip install -U not1mm
193
194
  ```bash
194
195
  sudo apt update
195
196
  sudo apt upgrade
196
- sudo apt install -y libportaudio2 pipx
197
+ sudo apt install -y libportaudio2 pipx libxcb-cursor0
197
198
  pipx install not1mm
198
199
  pipx ensurepath
199
200
  ```
@@ -1201,7 +1201,7 @@
1201
1201
  <string>club name</string>
1202
1202
  </property>
1203
1203
  <property name="placeholderText">
1204
- <string>Americal Radio Relay League</string>
1204
+ <string>American Radio Relay League</string>
1205
1205
  </property>
1206
1206
  </widget>
1207
1207
  </item>
@@ -11,27 +11,21 @@ import platform
11
11
  import sys
12
12
  import subprocess
13
13
  from pathlib import Path
14
-
15
14
  from appdata import AppDataPaths
16
15
 
17
16
  WORKING_PATH = Path(os.path.dirname(os.path.abspath(__file__)))
18
-
19
17
  MODULE_PATH = WORKING_PATH
20
-
21
-
22
18
  APP_DATA_PATH = MODULE_PATH / "data"
23
- _app_paths = AppDataPaths(name="not1mm")
24
- _app_paths.setup()
25
-
26
19
  DATA_PATH = os.environ.get("XDG_DATA_HOME", str(Path.home() / ".local" / "share"))
27
20
  DATA_PATH += "/not1mm"
28
21
  USER_DATA_PATH = Path(DATA_PATH)
29
- LOG_FILE = USER_DATA_PATH / "application.log"
30
22
  _CONFIG_PATH = os.environ.get("XDG_CONFIG_HOME", str(Path.home() / ".config"))
31
23
  _CONFIG_PATH += "/not1mm"
32
24
  CONFIG_PATH = Path(_CONFIG_PATH)
33
25
  CONFIG_FILE = CONFIG_PATH / "not1mm.json"
26
+ LOG_FILE = USER_DATA_PATH / "not1mm_debug.log"
34
27
 
28
+ # Create directories if they do not exist on Linux systems
35
29
  if platform.system() not in ["Windows", "Darwin"]:
36
30
  try:
37
31
  os.mkdir(CONFIG_PATH)
@@ -42,15 +36,16 @@ if platform.system() not in ["Windows", "Darwin"]:
42
36
  except FileExistsError:
43
37
  ...
44
38
 
39
+ # Define and create directories if they do not exist on Windows or Mac systems
45
40
  if platform.system() in ["Windows", "Darwin"]:
41
+ _app_paths = AppDataPaths(name="not1mm")
42
+ _app_paths.setup()
46
43
  LOG_FILE = _app_paths.get_log_file_path(name="appplication.log")
47
44
  _DATA_PATH = Path(_app_paths.app_data_path)
48
45
  USER_DATA_PATH = _DATA_PATH
49
46
  CONFIG_PATH = USER_DATA_PATH
50
47
  CONFIG_FILE = CONFIG_PATH / "not1mm.json"
51
48
 
52
- DARK_STYLESHEET = ""
53
-
54
49
 
55
50
  def openFileWithOS(file):
56
51
  """Open a file with the default program for that OS."""
@@ -60,4 +55,3 @@ def openFileWithOS(file):
60
55
  subprocess.Popen(["open", file])
61
56
  else:
62
57
  subprocess.Popen(["xdg-open", file])
63
- # os.system(f"xdg-open {fsutils.USER_DATA_PATH / macro_file}")
@@ -2,7 +2,13 @@
2
2
 
3
3
  import logging
4
4
  from PyQt6 import QtWidgets, uic
5
- import sounddevice as sd
5
+
6
+ try:
7
+ import sounddevice as sd
8
+ except OSError as exception:
9
+ print(exception)
10
+ print("portaudio is not installed")
11
+ sd = None
6
12
 
7
13
 
8
14
  class Settings(QtWidgets.QDialog):
@@ -15,7 +21,10 @@ class Settings(QtWidgets.QDialog):
15
21
  uic.loadUi(app_data_path / "configuration.ui", self)
16
22
  self.buttonBox.accepted.connect(self.save_changes)
17
23
  self.preference = pref
18
- self.devices = sd.query_devices()
24
+ if sd:
25
+ self.devices = sd.query_devices()
26
+ else:
27
+ self.devices = []
19
28
  self.setup()
20
29
 
21
30
  def setup(self):
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.4.15"
3
+ __version__ = "24.4.17"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.4.15
3
+ Version: 24.4.17
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -177,6 +177,7 @@ I wish to thank those who've contributed to the project.
177
177
 
178
178
  ## Recent Changes
179
179
 
180
+ - [24-4-17] Trap OSError if no sound device. Stop fsutils/appdata from creating useless .not1mm and .username folder structures on Linux platforms.
180
181
  - [24-4-15] checkwindow.py Tighter results. Changed the call selection to use a single click.
181
182
  - [24-4-9-4] Check for portaudio instead of crash boom. Removed empty dockwidget. Tested on Plasma 6.
182
183
  - [24-4-9-3] Ugh. It's not a real day unless you forget to test.
@@ -225,7 +226,7 @@ pip install -U not1mm
225
226
  ```bash
226
227
  sudo apt update
227
228
  sudo apt upgrade
228
- sudo apt install -y libportaudio2 pipx
229
+ sudo apt install -y libportaudio2 pipx libxcb-cursor0
229
230
  pipx install not1mm
230
231
  pipx ensurepath
231
232
  ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "24.4.15"
7
+ version = "24.4.17"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
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