Skip to content

Commit 654b473

Browse files
authored
idiotproof for ffmpeg
1 parent 8a30d73 commit 654b473

1 file changed

Lines changed: 18 additions & 13 deletions

File tree

stemplayerplayer.py

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ def open_config():
6464
KEY_BASS = keyboard.key_to_scan_codes(SPP_CONFIG["KEY_BASS"])[0]
6565
KEY_DRUMS = keyboard.key_to_scan_codes(SPP_CONFIG["KEY_DRUMS"])[0]
6666

67-
6867

6968
def slider(value):
7069
i = instrumentals_Scale.get()
@@ -109,18 +108,24 @@ def open_new():
109108
note_objects = [a1Note, a2Note, a3Note, a4Note]
110109

111110
def merge_stems():
112-
merging = True
113-
open_new()
114-
merging = False
115-
text = stem_list[0]
116-
soundformat = text.partition("1.")[2]
117-
stem1 = AudioSegment.from_file(stem_list[0])
118-
stem2 = AudioSegment.from_file(stem_list[1])
119-
stem3 = AudioSegment.from_file(stem_list[2])
120-
stem4 = AudioSegment.from_file(stem_list[3])
121-
overlay = stem1.overlay(stem2.overlay(stem3.overlay(stem4)))
122-
123-
file_handle = overlay.export(text.partition("1.")[0] + "." + soundformat, format=soundformat)
111+
global stem_list
112+
from shutil import which
113+
print(which('ffmpeg'))
114+
if which('ffmpeg') is not None:
115+
merging = True
116+
open_new()
117+
merging = False
118+
if stem_list:
119+
text = stem_list[0]
120+
soundformat = text.partition("1.")[2]
121+
stem1 = AudioSegment.from_file(stem_list[0])
122+
stem2 = AudioSegment.from_file(stem_list[1])
123+
stem3 = AudioSegment.from_file(stem_list[2])
124+
stem4 = AudioSegment.from_file(stem_list[3])
125+
overlay = stem1.overlay(stem2.overlay(stem3.overlay(stem4)))
126+
file_handle = overlay.export(text.partition("1.")[0] + "." + soundformat, format=soundformat)
127+
else:
128+
tk.messagebox.showerror(title="ffmpeg not found", message="ffmpeg not found on your system. Please install ffmpeg and make sure it is added to your PATH.")
124129

125130
def toggle_keybinds():
126131
print(onoff.get())

0 commit comments

Comments
 (0)