frontengine-dev 0.0.15__py3-none-any.whl → 0.0.16__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.
@@ -11,7 +11,7 @@ from frontengine.utils.multi_language.language_wrapper import language_wrapper
11
11
 
12
12
  class SoundEffectWidget(QWidget):
13
13
 
14
- def __init__(self, sound_path: str, volume: int = 100):
14
+ def __init__(self, sound_path: str, volume: float = 1):
15
15
  super().__init__()
16
16
  self.setWindowFlag(
17
17
  Qt.WindowType.WindowTransparentForInput |
@@ -19,6 +19,7 @@ class SoundEffectWidget(QWidget):
19
19
  Qt.WindowType.WindowStaysOnTopHint |
20
20
  Qt.WindowType.Tool
21
21
  )
22
+ print(volume)
22
23
  self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)
23
24
  self.sound_player = QSoundEffect()
24
25
  self.sound_path = Path(sound_path)
@@ -11,7 +11,7 @@ from frontengine.utils.multi_language.language_wrapper import language_wrapper
11
11
 
12
12
  class SoundPlayer(QWidget):
13
13
 
14
- def __init__(self, sound_path: str, volume: int = 100):
14
+ def __init__(self, sound_path: str, volume: float = 1):
15
15
  super().__init__()
16
16
  self.setWindowFlag(
17
17
  Qt.WindowType.WindowTransparentForInput |
@@ -13,7 +13,7 @@ from frontengine.utils.multi_language.language_wrapper import language_wrapper
13
13
  class VideoWidget(QVideoWidget):
14
14
 
15
15
  def __init__(self, video_path: str, opacity: float = 0.2,
16
- play_rate: float = 1, volume: int = 100
16
+ play_rate: float = 1, volume: float = 1
17
17
  ):
18
18
  super().__init__()
19
19
  self.setWindowFlag(
@@ -21,6 +21,7 @@ class GIFSettingUI(QWidget):
21
21
  # Init variable
22
22
  self.gif_widget_list = list()
23
23
  self.show_all_screen = True
24
+ self.ready_to_play = False
24
25
  # Opacity setting
25
26
  self.opacity_slider = QSlider()
26
27
  self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
@@ -91,10 +92,10 @@ class GIFSettingUI(QWidget):
91
92
  return gif_widget
92
93
 
93
94
  def start_play_gif(self):
94
- if self.gif_image_path is None:
95
+ if self.gif_image_path is None or self.ready_to_play is False:
95
96
  message_box = QMessageBox(self)
96
97
  message_box.setText(
97
- language_wrapper.language_word_dict.get("gif_setting_message_box")
98
+ language_wrapper.language_word_dict.get("not_prepare")
98
99
  )
99
100
  message_box.show()
100
101
  else:
@@ -119,6 +120,7 @@ class GIFSettingUI(QWidget):
119
120
  self.ready_label.setText(
120
121
  language_wrapper.language_word_dict.get("Not Ready")
121
122
  )
123
+ self.ready_to_play = False
122
124
  if file_path.is_file() and file_path.exists():
123
125
  gif_dir_path = Path(str(Path.cwd()) + "/gif")
124
126
  if not gif_dir_path.exists() or not gif_dir_path.is_dir():
@@ -131,6 +133,7 @@ class GIFSettingUI(QWidget):
131
133
  self.ready_label.setText(
132
134
  language_wrapper.language_word_dict.get("Ready")
133
135
  )
136
+ self.ready_to_play = True
134
137
  else:
135
138
  message_box = QMessageBox(self)
136
139
  message_box.setText(
@@ -5,7 +5,7 @@ from pathlib import Path
5
5
  from PySide6.QtCore import Qt
6
6
  from PySide6.QtGui import QScreen
7
7
  from PySide6.QtWidgets import QWidget, QGridLayout, QSlider, QLabel, QPushButton, QFileDialog, QMessageBox, \
8
- QRadioButton, QCheckBox
8
+ QCheckBox
9
9
 
10
10
  from frontengine.show.image.paint_image import ImageWidget
11
11
  from frontengine.utils.multi_language.language_wrapper import language_wrapper
@@ -21,6 +21,7 @@ class ImageSettingUI(QWidget):
21
21
  # Init variable
22
22
  self.image_widget_list = list()
23
23
  self.show_all_screen = False
24
+ self.ready_to_play = False
24
25
  # Opacity setting
25
26
  self.opacity_slider = QSlider()
26
27
  self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
@@ -76,10 +77,10 @@ class ImageSettingUI(QWidget):
76
77
  return image_widget
77
78
 
78
79
  def start_play_image(self):
79
- if self.gif_image_path is None:
80
+ if self.gif_image_path is None or self.ready_to_play is False:
80
81
  message_box = QMessageBox(self)
81
82
  message_box.setText(
82
- language_wrapper.language_word_dict.get("image_setting_message_box")
83
+ language_wrapper.language_word_dict.get("not_prepare")
83
84
  )
84
85
  message_box.show()
85
86
  else:
@@ -104,6 +105,7 @@ class ImageSettingUI(QWidget):
104
105
  self.ready_label.setText(
105
106
  language_wrapper.language_word_dict.get("Not Ready")
106
107
  )
108
+ self.ready_to_play = False
107
109
  if file_path.is_file() and file_path.exists():
108
110
  image_path = Path(str(Path.cwd()) + "/image")
109
111
  if not image_path.exists() or not image_path.is_dir():
@@ -118,6 +120,7 @@ class ImageSettingUI(QWidget):
118
120
  self.ready_label.setText(
119
121
  language_wrapper.language_word_dict.get("Ready")
120
122
  )
123
+ self.ready_to_play = True
121
124
  else:
122
125
  message_box = QMessageBox(self)
123
126
  message_box.setText(
@@ -20,13 +20,14 @@ class SoundPlayerSettingUI(QWidget):
20
20
  # Init variable
21
21
  self.sound_widget_list = list()
22
22
  self.show_all_screen = False
23
+ self.ready_to_play = False
23
24
  # Volume setting
24
25
  self.volume_label = QLabel(
25
26
  language_wrapper.language_word_dict.get("Volume")
26
27
  )
27
28
  self.volume_slider = QSlider()
28
29
  self.volume_slider.setMinimum(1)
29
- self.volume_slider.setMaximum(200)
30
+ self.volume_slider.setMaximum(100)
30
31
  self.volume_slider.setTickInterval(1)
31
32
  self.volume_slider.setValue(100)
32
33
  self.volume_slider_value_label = QLabel(str(self.volume_slider.value()))
@@ -75,7 +76,7 @@ class SoundPlayerSettingUI(QWidget):
75
76
  self.setLayout(self.grid_layout)
76
77
 
77
78
  def start_play_wav(self):
78
- if self.wav_sound_path is None:
79
+ if self.wav_sound_path is None or self.ready_to_play is False:
79
80
  message_box = QMessageBox(self)
80
81
  message_box.setText(
81
82
  language_wrapper.language_word_dict.get("sound_player_setting_message_box_wav")
@@ -84,7 +85,7 @@ class SoundPlayerSettingUI(QWidget):
84
85
  else:
85
86
  sound_widget = SoundEffectWidget(
86
87
  sound_path=self.wav_sound_path,
87
- volume=self.volume_slider.value()
88
+ volume=float(self.volume_slider.value() / 100)
88
89
  )
89
90
  self.sound_widget_list.append(sound_widget)
90
91
  sound_widget.showFullScreen()
@@ -93,13 +94,13 @@ class SoundPlayerSettingUI(QWidget):
93
94
  if self.player_sound_path is None:
94
95
  message_box = QMessageBox(self)
95
96
  message_box.setText(
96
- language_wrapper.language_word_dict.get("sound_player_setting_message_box_sound")
97
+ language_wrapper.language_word_dict.get("not_prepare")
97
98
  )
98
99
  message_box.show()
99
100
  else:
100
101
  sound_player = SoundPlayer(
101
102
  sound_path=self.player_sound_path,
102
- volume=self.volume_slider.value()
103
+ volume=float(self.volume_slider.value() / 100)
103
104
  )
104
105
  self.sound_widget_list.append(sound_player)
105
106
  sound_player.showFullScreen()
@@ -114,6 +115,7 @@ class SoundPlayerSettingUI(QWidget):
114
115
  self.wav_ready_label.setText(
115
116
  language_wrapper.language_word_dict.get("Not Ready")
116
117
  )
118
+ self.ready_to_play = False
117
119
  if file_path.is_file() and file_path.exists():
118
120
  sound_path = Path(str(Path.cwd()) + "/sound")
119
121
  if not sound_path.exists() or not sound_path.is_dir():
@@ -126,6 +128,7 @@ class SoundPlayerSettingUI(QWidget):
126
128
  self.wav_ready_label.setText(
127
129
  language_wrapper.language_word_dict.get("Ready")
128
130
  )
131
+ self.ready_to_play = True
129
132
  else:
130
133
  message_box = QMessageBox(self)
131
134
  message_box.setText(
@@ -21,6 +21,7 @@ class VideoSettingUI(QWidget):
21
21
  # Init variable
22
22
  self.video_widget_list = list()
23
23
  self.show_all_screen = False
24
+ self.ready_to_play = False
24
25
  # Opacity setting
25
26
  self.opacity_slider = QSlider()
26
27
  self.opacity_slider.setOrientation(Qt.Orientation.Horizontal)
@@ -38,7 +39,7 @@ class VideoSettingUI(QWidget):
38
39
  language_wrapper.language_word_dict.get("Play rate")
39
40
  )
40
41
  self.play_rate_slider = QSlider()
41
- self.play_rate_slider.setMinimum(100)
42
+ self.play_rate_slider.setMinimum(1)
42
43
  self.play_rate_slider.setMaximum(200)
43
44
  self.play_rate_slider.setTickInterval(1)
44
45
  self.play_rate_slider.setValue(100)
@@ -50,8 +51,8 @@ class VideoSettingUI(QWidget):
50
51
  language_wrapper.language_word_dict.get("Volume")
51
52
  )
52
53
  self.volume_slider = QSlider()
53
- self.volume_slider.setMinimum(100)
54
- self.volume_slider.setMaximum(200)
54
+ self.volume_slider.setMinimum(1)
55
+ self.volume_slider.setMaximum(100)
55
56
  self.volume_slider.setTickInterval(1)
56
57
  self.volume_slider.setValue(100)
57
58
  self.volume_slider_value_label = QLabel(str(self.volume_slider.value()))
@@ -101,16 +102,16 @@ class VideoSettingUI(QWidget):
101
102
  video_path=self.video_path,
102
103
  opacity=float(self.opacity_slider.value()) / 100,
103
104
  play_rate=float(self.play_rate_slider.value()) / 100,
104
- volume=self.volume_slider.value()
105
+ volume=float(self.volume_slider.value() / 100)
105
106
  )
106
107
  self.video_widget_list.append(video_widget)
107
108
  return video_widget
108
109
 
109
110
  def start_play_gif(self):
110
- if self.video_path is None:
111
+ if self.video_path is None or self.ready_to_play is False:
111
112
  message_box = QMessageBox(self)
112
113
  message_box.setText(
113
- language_wrapper.language_word_dict.get("video_setting_message_box")
114
+ language_wrapper.language_word_dict.get("not_prepare")
114
115
  )
115
116
  message_box.show()
116
117
  else:
@@ -135,6 +136,7 @@ class VideoSettingUI(QWidget):
135
136
  self.ready_label.setText(
136
137
  language_wrapper.language_word_dict.get("Not Ready")
137
138
  )
139
+ self.ready_to_play = False
138
140
  if file_path.is_file() and file_path.exists():
139
141
  video_path = Path(str(Path.cwd()) + "/video")
140
142
  if not video_path.exists() or not video_path.is_dir():
@@ -147,6 +149,7 @@ class VideoSettingUI(QWidget):
147
149
  self.ready_label.setText(
148
150
  language_wrapper.language_word_dict.get("Ready")
149
151
  )
152
+ self.ready_to_play = True
150
153
  else:
151
154
  message_box = QMessageBox(self)
152
155
  message_box.setText(
@@ -162,4 +165,3 @@ class VideoSettingUI(QWidget):
162
165
 
163
166
  def volume_trick(self):
164
167
  self.volume_slider_value_label.setText(str(self.volume_slider.value()))
165
-
@@ -38,6 +38,7 @@ english_word_dict = {
38
38
  "Volume": "Volume",
39
39
  "Font size": "Font size",
40
40
  "Play rate": "Play rate",
41
+ "not_prepare": "Not prepare",
41
42
  # GIF setting ui
42
43
  "gif_setting_ui_choose_file": "Choose GIF or WEBP file",
43
44
  "gif_setting_ui_play": "Start Play GIF or WEBP",
@@ -38,6 +38,7 @@ traditional_chinese_word_dict = {
38
38
  "Volume": "音量",
39
39
  "Font size": "字體大小",
40
40
  "Play rate": "撥放速度",
41
+ "not_prepare": "尚未準備好",
41
42
  # GIF setting ui
42
43
  "gif_setting_ui_choose_file": "選擇 GIF 或 WEBP 檔案",
43
44
  "gif_setting_ui_play": "開始撥放 GIF 或 WEBP",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: frontengine-dev
3
- Version: 0.0.15
3
+ Version: 0.0.16
4
4
  Summary: FrontEngine is a tool allow you set Video or Image or GIF front of all window
5
5
  Author-email: JE-Chen <jechenmailman@gmail.com>
6
6
  License: MIT
@@ -5,12 +5,12 @@ frontengine/show/gif/paint_gif.py,sha256=yV6QdSimhRPH_awVZCN0RvkZRJkkuwj-Zql_0mf
5
5
  frontengine/show/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  frontengine/show/image/paint_image.py,sha256=7pxOC092c0YgFBnTpShY021QAntq9pRDQHA8Yf8Jtz4,1651
7
7
  frontengine/show/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- frontengine/show/sound_player/sound_effect.py,sha256=M9AEGyC8E_JNlq3NtO0PJ4xiTwAQNft_0oRX8Hy4UsE,1915
9
- frontengine/show/sound_player/sound_player.py,sha256=PN6PzNFR_w_LBEitnuR0R3OI3LUjm3CQgiu9TONbJmw,2088
8
+ frontengine/show/sound_player/sound_effect.py,sha256=VIBL05er0hUUkO7Kcrawa1LKtl77WNkZUHLy_UQNpwE,1938
9
+ frontengine/show/sound_player/sound_player.py,sha256=CF9yB5InrGnNo8v0sL0BU4HHP_mBE9pjEC-chCKyrMU,2088
10
10
  frontengine/show/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  frontengine/show/text/draw_text.py,sha256=abOQ3PHxnH3uQ1n22AVRHWE2okGo_lWvL5gAP0N-Y98,1440
12
12
  frontengine/show/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- frontengine/show/video/video_player.py,sha256=wWyyqZqGcjAdgyYkqlUthVZxRgN8k5tcrElOlqH6y8s,2543
13
+ frontengine/show/video/video_player.py,sha256=EJ8NE15SEoP0GgjquePQgSH8KYhYbZFKj6D__16zCNU,2543
14
14
  frontengine/show/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  frontengine/show/web/webview.py,sha256=MertmTv3_16UftEl9TPmAuvEMBd97b52v6QHrNL9rw4,1882
16
16
  frontengine/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -23,15 +23,15 @@ frontengine/ui/setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
23
23
  frontengine/ui/setting/control_center/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  frontengine/ui/setting/control_center/control_center_ui.py,sha256=W-sQsZi3EPDUT0M3awEokFyMt-X0-tF-NgEzCKBlNOM,6075
25
25
  frontengine/ui/setting/gif/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- frontengine/ui/setting/gif/gif_setting_ui.py,sha256=iW0QsP7tM-zdUiQ5pKgfXO501sMX-v7fbURJmbXQnXY,6303
26
+ frontengine/ui/setting/gif/gif_setting_ui.py,sha256=pXiYPbvjaIZh0eq41VVY_1EJPKKZsTmnoDlNT7A5hR4,6437
27
27
  frontengine/ui/setting/image/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- frontengine/ui/setting/image/image_setting_ui.py,sha256=SPRlC-56h-K-NmO2k5_y8sA69Tpyn2i6OROG2CveY_c,5526
28
+ frontengine/ui/setting/image/image_setting_ui.py,sha256=F4BMqNn1vgR_qDKbyfve0rgB6KT2s08A_CW6hMVPaME,5644
29
29
  frontengine/ui/setting/sound_player/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- frontengine/ui/setting/sound_player/sound_player_setting_ui.py,sha256=mL61iwFXVtdFZlVKloU5-4lCAVpcuOqw22RuQmzWe_8,7324
30
+ frontengine/ui/setting/sound_player/sound_player_setting_ui.py,sha256=hFraqQpvbcme4IobbbbjXdW5WTbgvtT-fTq6m8lCdmI,7469
31
31
  frontengine/ui/setting/text/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  frontengine/ui/setting/text/text_setting_ui.py,sha256=hF_J-9QSavpkn_vzKKSouPHqHLzQWdsUGeFqGMUFYxg,4288
33
33
  frontengine/ui/setting/video/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- frontengine/ui/setting/video/video_setting_ui.py,sha256=nE1DmoP8tofDN59Ie-3wsB8D4HjQ-ov-3SE3Ggfjd88,7329
34
+ frontengine/ui/setting/video/video_setting_ui.py,sha256=7b498jcC5P0Q8L8qh4T2uAhHlJCAbyR3jpoZAKNrANk,7468
35
35
  frontengine/ui/setting/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  frontengine/ui/setting/web/web_setting_ui.py,sha256=7SaMyZ56YcMAVN_VCr0-RBZyBVrVTkiQ52gtEYDoyE0,4222
37
37
  frontengine/user_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -62,13 +62,13 @@ frontengine/utils/json/json_file.py,sha256=sNJ6nNyoO_DV4KOJ8ZZz459Lo52nSxiL8maJi
62
62
  frontengine/utils/json_format/__init__.py,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
63
63
  frontengine/utils/json_format/json_process.py,sha256=xJt_4Hm_o3sNDoeGtRW9Q7fsRj3DLiTbW-W8IqB8vt8,1021
64
64
  frontengine/utils/multi_language/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- frontengine/utils/multi_language/english.py,sha256=6pnj7PNWz7jw5Y7VpD0QYsN6dqzfuGjTFViZ3NVKoTg,2867
65
+ frontengine/utils/multi_language/english.py,sha256=vdWqy13hCTmP-A_hCWnNvzdXOQxKI9e4IWXxH-zdmRo,2902
66
66
  frontengine/utils/multi_language/language_wrapper.py,sha256=KBqsG6ng5LSJkGqmu_YDxI8yAjXwgHM12DOzVgh_HXI,848
67
- frontengine/utils/multi_language/traditional_chinese.py,sha256=b8NMTbr31aQyun3qXTQiEX6NMiFFoUigv-Me2P-DucA,2959
67
+ frontengine/utils/multi_language/traditional_chinese.py,sha256=atN0sLQSkVBpcYVPtIk_4VimfgLLIopZN87BjYj-Q94,2998
68
68
  frontengine/utils/redirect_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  frontengine/utils/redirect_manager/redirect_manager_class.py,sha256=0HX7XyFhN8cFaZefKUsE1MrpQIcnLozrvNTMOsfV5zU,1991
70
- frontengine_dev-0.0.15.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
71
- frontengine_dev-0.0.15.dist-info/METADATA,sha256=FoYNCU0qkkSdT_RPkdCvv1L17WD7CvX-tV1CRpjnYRM,1895
72
- frontengine_dev-0.0.15.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
73
- frontengine_dev-0.0.15.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
74
- frontengine_dev-0.0.15.dist-info/RECORD,,
70
+ frontengine_dev-0.0.16.dist-info/LICENSE,sha256=b3VlPBXnrDylKGffOEOLWMgOX-yfd65XC7PA1_sox2o,1085
71
+ frontengine_dev-0.0.16.dist-info/METADATA,sha256=VrfcVjsbi6HDpclP0BBu4YWNEPNkwaLBvKtjpJr64FI,1895
72
+ frontengine_dev-0.0.16.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
73
+ frontengine_dev-0.0.16.dist-info/top_level.txt,sha256=btCybScN_ubeQ8phsSDBB0T-HyHjqt7b-WPy61uTox0,12
74
+ frontengine_dev-0.0.16.dist-info/RECORD,,