Skip to content

Commit 27081e4

Browse files
committed
Ver 1.2.0: nuitka for windows & beautify GUI
1 parent deb9809 commit 27081e4

17 files changed

Lines changed: 229 additions & 47 deletions

assets/bg.png

2.85 MB
Loading
File renamed without changes.

build.py

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,45 @@
1111

1212
sep = ";" if platform.system() == "Windows" else ":"
1313

14-
args = [
15-
"pyinstaller",
16-
"fish/__main__.py",
17-
f"--{package_type}",
18-
"-n",
19-
"fish",
20-
"--additional-hooks=extra-hooks",
21-
"--noconfirm",
22-
"--add-data",
23-
f"fish/assets{sep}assets",
24-
"--add-data",
25-
f"fish/locales{sep}locales",
26-
"--noconsole",
27-
]
14+
# Use nuitka for faster gui
15+
if platform.system() == "Windows":
16+
args = [
17+
"python",
18+
"-m",
19+
"nuitka",
20+
# "--mingw64",
21+
"--standalone",
22+
f"--output-dir=dist",
23+
"--follow-import-to=fish",
24+
"main.py",
25+
f"--onefile", # default onefile is enough (not unzipping)
26+
"--output-filename=fish",
27+
"--include-data-dir=assets=assets",
28+
"--include-data-dir=locales=locales",
29+
"--windows-disable-console",
30+
"--enable-plugins=pkg-resources",
31+
"--enable-plugins=pyqt6",
32+
"--nofollow-import-to=numpy,mkl,click",
33+
"--include-qt-plugins=sensible,multimedia",
34+
"--show-memory",
35+
"--show-progress",
36+
# "--debug",
37+
]
38+
39+
else:
40+
args = [
41+
"pyinstaller",
42+
"main.py",
43+
f"--{package_type}",
44+
"-n",
45+
"fish",
46+
"--additional-hooks=extra-hooks",
47+
"--noconfirm",
48+
"--add-data",
49+
f"assets{sep}assets",
50+
"--add-data",
51+
f"locales{sep}locales",
52+
"--noconsole",
53+
]
2854

2955
sp.check_call(args)

fish/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# path into variable _MEIPASS'.
1313
application_path = Path(sys._MEIPASS)
1414
else:
15-
application_path = Path(__file__).parent
15+
application_path = Path(__file__).parent.parent
1616

1717

1818
@dataclass

fish/fap.py

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
from fish.modules.console import ConsoleWidget
2121
from fish.modules.globals import FAP, LINE_ALLOC, STOP_BUTTON_QSS
22+
from fish.modules.registry import widget_registry
2223
from fish.modules.task import TaskManagerMixin
2324
from fish.utils.i18n import _t
2425

@@ -33,6 +34,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
3334

3435
def setup_fap_to_wav_settings(self, layout: QVBoxLayout):
3536
row = QGroupBox(_t("FAPToWavWidget.title"))
37+
widget_registry.register(row, "fap_to_wav")
3638
row_layout = QGridLayout()
3739
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
3840

@@ -85,8 +87,8 @@ def call_to_wav(self):
8587
if not input_dir or not Path(input_dir).is_dir():
8688
QMessageBox.warning(
8789
self,
88-
_t("modules.task.input_dir.error_title"),
89-
_t("modules.task.input_dir.error_msg"),
90+
_t("task.input_dir.error_title"),
91+
_t("task.input_dir.error_msg"),
9092
)
9193
return
9294
if not output_dir or not Path(output_dir).is_dir():
@@ -132,6 +134,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
132134

133135
def setup_fap_resample_settings(self, layout: QVBoxLayout):
134136
row = QGroupBox(_t("FAPResampleWidget.title"))
137+
widget_registry.register(row, "fap_resample")
135138
row_layout = QGridLayout()
136139
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
137140

@@ -192,8 +195,8 @@ def call_resample(self):
192195
if not input_dir or not Path(input_dir).is_dir():
193196
QMessageBox.warning(
194197
self,
195-
_t("modules.task.input_dir.error_title"),
196-
_t("modules.task.input_dir.error_msg"),
198+
_t("task.input_dir.error_title"),
199+
_t("task.input_dir.error_msg"),
197200
)
198201
return
199202
if not output_dir or not Path(output_dir).is_dir():
@@ -243,6 +246,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
243246

244247
def setup_fap_loud_norm_settings(self, layout: QVBoxLayout):
245248
row = QGroupBox(_t("FAPLoudNormWidget.title"))
249+
widget_registry.register(row, "fap_loud_norm")
246250
row_layout = QGridLayout()
247251
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
248252

@@ -338,8 +342,8 @@ def call_loud_norm(self):
338342
if not input_dir or not Path(input_dir).is_dir():
339343
QMessageBox.warning(
340344
self,
341-
_t("modules.task.input_dir.error_title"),
342-
_t("modules.task.input_dir.error_msg"),
345+
_t("task.input_dir.error_title"),
346+
_t("task.input_dir.error_msg"),
343347
)
344348
return
345349
if not output_dir or not Path(output_dir).is_dir():
@@ -394,6 +398,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
394398

395399
def setup_fap_separate_settings(self, layout: QVBoxLayout):
396400
row = QGroupBox(_t("FAPSeparateWidget.title"))
401+
widget_registry.register(row, "fap_separate")
397402
row_layout = QGridLayout()
398403
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
399404

@@ -478,8 +483,8 @@ def call_separate(self):
478483
if not input_dir or not Path(input_dir).is_dir():
479484
QMessageBox.warning(
480485
self,
481-
_t("modules.task.input_dir.error_title"),
482-
_t("modules.task.input_dir.error_msg"),
486+
_t("task.input_dir.error_title"),
487+
_t("task.input_dir.error_msg"),
483488
)
484489
return
485490
if not output_dir or not Path(output_dir).is_dir():
@@ -533,6 +538,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
533538

534539
def setup_fap_slice_settings(self, layout: QVBoxLayout):
535540
row = QGroupBox(_t("FAPSliceAudioWidget.title"))
541+
widget_registry.register(row, "fap_slice")
536542
row_layout = QGridLayout()
537543
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
538544

@@ -640,8 +646,8 @@ def call_slice_audio(self):
640646
if not input_dir or not Path(input_dir).is_dir():
641647
QMessageBox.warning(
642648
self,
643-
_t("modules.task.input_dir.error_title"),
644-
_t("modules.task.input_dir.error_msg"),
649+
_t("task.input_dir.error_title"),
650+
_t("task.input_dir.error_msg"),
645651
)
646652
return
647653
if not output_dir or not Path(output_dir).is_dir():
@@ -710,6 +716,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
710716

711717
def setup_fap_transcribe_settings(self, layout: QVBoxLayout):
712718
row = QGroupBox(_t("FAPTranscribeWidget.title"))
719+
widget_registry.register(row, "fap_transcribe")
713720
row_layout = QGridLayout()
714721
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
715722

@@ -800,8 +807,8 @@ def call_transcribe(self):
800807
if not input_dir or not Path(input_dir).is_dir():
801808
QMessageBox.warning(
802809
self,
803-
_t("modules.task.input_dir.error_title"),
804-
_t("modules.task.input_dir.error_msg"),
810+
_t("task.input_dir.error_title"),
811+
_t("task.input_dir.error_msg"),
805812
)
806813
return
807814

@@ -857,6 +864,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
857864

858865
def setup_fap_length_settings(self, layout: QVBoxLayout):
859866
row = QGroupBox(_t("FAPLengthStatWidget.title"))
867+
widget_registry.register(row, "fap_length")
860868
row_layout = QGridLayout()
861869
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
862870

@@ -925,8 +933,8 @@ def call_fap_length(self):
925933
if not input_dir or not Path(input_dir).is_dir():
926934
QMessageBox.warning(
927935
self,
928-
_t("modules.task.input_dir.error_title"),
929-
_t("modules.task.input_dir.error_msg"),
936+
_t("task.input_dir.error_title"),
937+
_t("task.input_dir.error_msg"),
930938
)
931939
return
932940

@@ -976,6 +984,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
976984

977985
def setup_fap_frequency_settings(self, layout: QVBoxLayout):
978986
row = QGroupBox(_t("FAPFrequencyStatWidget.title"))
987+
widget_registry.register(row, "fap_frequency")
979988
row_layout = QGridLayout()
980989
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
981990

@@ -1021,8 +1030,8 @@ def call_fap_frequency(self):
10211030
if not input_dir or not Path(input_dir).is_dir():
10221031
QMessageBox.warning(
10231032
self,
1024-
_t("modules.task.input_dir.error_title"),
1025-
_t("modules.task.input_dir.error_msg"),
1033+
_t("task.input_dir.error_title"),
1034+
_t("task.input_dir.error_msg"),
10261035
)
10271036
return
10281037

@@ -1064,6 +1073,7 @@ def __init__(self, console_widget: ConsoleWidget, python: QLineEdit):
10641073

10651074
def setup_fap_merge_settings(self, layout: QVBoxLayout):
10661075
row = QGroupBox(_t("FAPMergeLabWidget.title"))
1076+
widget_registry.register(row, "fap_merge_lab")
10671077
row_layout = QGridLayout()
10681078
row_layout.setAlignment(Qt.AlignmentFlag.AlignLeft)
10691079

@@ -1118,8 +1128,8 @@ def call_merge_lab(self):
11181128
if not input_dir or not Path(input_dir).is_dir():
11191129
QMessageBox.warning(
11201130
self,
1121-
_t("modules.task.input_dir.error_title"),
1122-
_t("modules.task.input_dir.error_msg"),
1131+
_t("task.input_dir.error_title"),
1132+
_t("task.input_dir.error_msg"),
11231133
)
11241134
return
11251135

0 commit comments

Comments
 (0)