karaoke-gen 0.58.0__py3-none-any.whl → 0.59.0__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.
Potentially problematic release.
This version of karaoke-gen might be problematic. Click here for more details.
- karaoke_gen/karaoke_finalise/karaoke_finalise.py +15 -4
- karaoke_gen/lyrics_processor.py +2 -1
- {karaoke_gen-0.58.0.dist-info → karaoke_gen-0.59.0.dist-info}/METADATA +2 -2
- {karaoke_gen-0.58.0.dist-info → karaoke_gen-0.59.0.dist-info}/RECORD +7 -7
- {karaoke_gen-0.58.0.dist-info → karaoke_gen-0.59.0.dist-info}/LICENSE +0 -0
- {karaoke_gen-0.58.0.dist-info → karaoke_gen-0.59.0.dist-info}/WHEEL +0 -0
- {karaoke_gen-0.58.0.dist-info → karaoke_gen-0.59.0.dist-info}/entry_points.txt +0 -0
|
@@ -46,6 +46,7 @@ class KaraokeFinalise:
|
|
|
46
46
|
non_interactive=False,
|
|
47
47
|
user_youtube_credentials=None, # Add support for pre-stored credentials
|
|
48
48
|
server_side_mode=False, # New parameter for server-side deployment
|
|
49
|
+
selected_instrumental_file=None, # Add support for pre-selected instrumental file
|
|
49
50
|
):
|
|
50
51
|
self.log_level = log_level
|
|
51
52
|
self.log_formatter = log_formatter
|
|
@@ -103,6 +104,7 @@ class KaraokeFinalise:
|
|
|
103
104
|
self.non_interactive = non_interactive
|
|
104
105
|
self.user_youtube_credentials = user_youtube_credentials
|
|
105
106
|
self.server_side_mode = server_side_mode
|
|
107
|
+
self.selected_instrumental_file = selected_instrumental_file
|
|
106
108
|
|
|
107
109
|
self.suffixes = {
|
|
108
110
|
"title_mov": " (Title).mov",
|
|
@@ -151,7 +153,8 @@ class KaraokeFinalise:
|
|
|
151
153
|
self.ffmpeg_base_command += " -y"
|
|
152
154
|
|
|
153
155
|
# Detect and configure hardware acceleration
|
|
154
|
-
|
|
156
|
+
# TODO: Re-enable this once we figure out why the resulting MP4s are 10x larger than when encoded with x264...
|
|
157
|
+
self.nvenc_available = False # self.detect_nvenc_support()
|
|
155
158
|
self.configure_hardware_acceleration()
|
|
156
159
|
|
|
157
160
|
def check_input_files_exist(self, base_name, with_vocals_file, instrumental_audio_file):
|
|
@@ -1064,7 +1067,7 @@ class KaraokeFinalise:
|
|
|
1064
1067
|
os.remove(file_path)
|
|
1065
1068
|
self.logger.info(f"Deleted .DS_Store file: {file_path}")
|
|
1066
1069
|
|
|
1067
|
-
rclone_cmd = f"rclone copy -v {shlex.quote(self.public_share_dir)} {shlex.quote(self.rclone_destination)}"
|
|
1070
|
+
rclone_cmd = f"rclone copy -v --ignore-existing {shlex.quote(self.public_share_dir)} {shlex.quote(self.rclone_destination)}"
|
|
1068
1071
|
self.execute_command(rclone_cmd, "Copying to cloud destination")
|
|
1069
1072
|
|
|
1070
1073
|
def post_discord_notification(self):
|
|
@@ -1189,7 +1192,7 @@ class KaraokeFinalise:
|
|
|
1189
1192
|
current_dir = os.getcwd()
|
|
1190
1193
|
|
|
1191
1194
|
# Use rclone copy to upload the entire current directory to the remote destination
|
|
1192
|
-
rclone_upload_cmd = f"rclone copy -v {shlex.quote(current_dir)} {shlex.quote(remote_dest)}"
|
|
1195
|
+
rclone_upload_cmd = f"rclone copy -v --ignore-existing {shlex.quote(current_dir)} {shlex.quote(remote_dest)}"
|
|
1193
1196
|
|
|
1194
1197
|
if self.dry_run:
|
|
1195
1198
|
self.logger.info(f"DRY RUN: Would upload current directory to: {remote_dest}")
|
|
@@ -1625,7 +1628,15 @@ class KaraokeFinalise:
|
|
|
1625
1628
|
with_vocals_file = self.find_with_vocals_file()
|
|
1626
1629
|
base_name, artist, title = self.get_names_from_withvocals(with_vocals_file)
|
|
1627
1630
|
|
|
1628
|
-
|
|
1631
|
+
# Use the selected instrumental file if provided, otherwise search for one
|
|
1632
|
+
if self.selected_instrumental_file:
|
|
1633
|
+
if not os.path.isfile(self.selected_instrumental_file):
|
|
1634
|
+
raise Exception(f"Selected instrumental file not found: {self.selected_instrumental_file}")
|
|
1635
|
+
instrumental_audio_file = self.selected_instrumental_file
|
|
1636
|
+
self.logger.info(f"Using pre-selected instrumental file: {instrumental_audio_file}")
|
|
1637
|
+
else:
|
|
1638
|
+
self.logger.info("No instrumental file pre-selected, searching for instrumental files...")
|
|
1639
|
+
instrumental_audio_file = self.choose_instrumental_audio_file(base_name)
|
|
1629
1640
|
|
|
1630
1641
|
input_files = self.check_input_files_exist(base_name, with_vocals_file, instrumental_audio_file)
|
|
1631
1642
|
output_files = self.prepare_output_filenames(base_name)
|
karaoke_gen/lyrics_processor.py
CHANGED
|
@@ -274,7 +274,8 @@ class LyricsProcessor:
|
|
|
274
274
|
|
|
275
275
|
# Save correction data to JSON file for review interface
|
|
276
276
|
# Use the expected filename format: "{artist} - {title} (Lyrics Corrections).json"
|
|
277
|
-
|
|
277
|
+
# Use sanitized names to be consistent with all other files created by lyrics_transcriber
|
|
278
|
+
corrections_filename = f"{sanitized_artist} - {sanitized_title} (Lyrics Corrections).json"
|
|
278
279
|
corrections_filepath = os.path.join(lyrics_dir, corrections_filename)
|
|
279
280
|
|
|
280
281
|
# Use the CorrectionResult's to_dict() method to serialize
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: karaoke-gen
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.59.0
|
|
4
4
|
Summary: Generate karaoke videos with synchronized lyrics. Handles the entire process from downloading audio and lyrics to creating the final video with title screens.
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Andrew Beveridge
|
|
@@ -25,7 +25,7 @@ Requires-Dist: google-auth-httplib2
|
|
|
25
25
|
Requires-Dist: google-auth-oauthlib
|
|
26
26
|
Requires-Dist: kbputils (>=0.0.16,<0.0.17)
|
|
27
27
|
Requires-Dist: lyrics-converter (>=0.2.1)
|
|
28
|
-
Requires-Dist: lyrics-transcriber (>=0.
|
|
28
|
+
Requires-Dist: lyrics-transcriber (>=0.69)
|
|
29
29
|
Requires-Dist: lyricsgenius (>=3)
|
|
30
30
|
Requires-Dist: matplotlib (>=3)
|
|
31
31
|
Requires-Dist: modal (>=1.0.5,<2.0.0)
|
|
@@ -3,9 +3,9 @@ karaoke_gen/audio_processor.py,sha256=gqQo8dsG_4SEO5kwyT76DiU4jCNyiGpi6TT1R3imdG
|
|
|
3
3
|
karaoke_gen/config.py,sha256=I3h-940ZXvbrCNq_xcWHPMIB76cl-VNQYcK7-qgB-YI,6833
|
|
4
4
|
karaoke_gen/file_handler.py,sha256=c86-rGF7Fusl0uEIZFnreT7PJfK7lmUaEgauU8BBzjY,10024
|
|
5
5
|
karaoke_gen/karaoke_finalise/__init__.py,sha256=HqZ7TIhgt_tYZ-nb_NNCaejWAcF_aK-7wJY5TaW_keM,46
|
|
6
|
-
karaoke_gen/karaoke_finalise/karaoke_finalise.py,sha256=
|
|
6
|
+
karaoke_gen/karaoke_finalise/karaoke_finalise.py,sha256=KNuekKG5p4QF5D_RuTmwgcFU_S4KLu2jhSw12Endr7g,84901
|
|
7
7
|
karaoke_gen/karaoke_gen.py,sha256=NEyb-AWLdqJL4nXg21o_YbutZVVbKt08TTPAYgSBDao,38052
|
|
8
|
-
karaoke_gen/lyrics_processor.py,sha256=
|
|
8
|
+
karaoke_gen/lyrics_processor.py,sha256=eUyu0d1OZyWwmpyNCBTKrV1grNzbZ91pFIXnz7le04k,14203
|
|
9
9
|
karaoke_gen/metadata.py,sha256=TprFzWj-iJ7ghrXlHFMPzzqzuHzWeNvs3zGaND-z9Ds,6503
|
|
10
10
|
karaoke_gen/resources/AvenirNext-Bold.ttf,sha256=YxgKz2OP46lwLPCpIZhVa8COi_9KRDSXw4n8dIHHQSs,327048
|
|
11
11
|
karaoke_gen/resources/Montserrat-Bold.ttf,sha256=mLFIaBDC7M-qF9RhCoPBJ5TAeY716etBrqA4eUKSoYc,198120
|
|
@@ -16,8 +16,8 @@ karaoke_gen/utils/__init__.py,sha256=FpOHyeBRB06f3zMoLBUJHTDZACrabg-DoyBTxNKYyNY
|
|
|
16
16
|
karaoke_gen/utils/bulk_cli.py,sha256=uqAHnlidY-f_RhsQIHqZDnrznWRKhqpEDX2uiR1CUQs,18841
|
|
17
17
|
karaoke_gen/utils/gen_cli.py,sha256=sAZ-sau_3dI2hNBOZfiZqJjRf_cJFtuvZLy1V6URcxM,35688
|
|
18
18
|
karaoke_gen/video_generator.py,sha256=B7BQBrjkyvk3L3sctnPXnvr1rzkw0NYx5UCAl0ZiVx0,18464
|
|
19
|
-
karaoke_gen-0.
|
|
20
|
-
karaoke_gen-0.
|
|
21
|
-
karaoke_gen-0.
|
|
22
|
-
karaoke_gen-0.
|
|
23
|
-
karaoke_gen-0.
|
|
19
|
+
karaoke_gen-0.59.0.dist-info/LICENSE,sha256=81R_4XwMZDODHD7JcZeUR8IiCU8AD7Ajl6bmwR9tYDk,1074
|
|
20
|
+
karaoke_gen-0.59.0.dist-info/METADATA,sha256=4q7kqx7-Cy6KhJfS8vi16yi0ulGeh2IeUfPCidj7B6E,5604
|
|
21
|
+
karaoke_gen-0.59.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
22
|
+
karaoke_gen-0.59.0.dist-info/entry_points.txt,sha256=IZY3O8i7m-qkmPuqgpAcxiS2fotNc6hC-CDWvNmoUEY,107
|
|
23
|
+
karaoke_gen-0.59.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|