Skip to content

Commit a75094d

Browse files
authored
hopefully fix faulty merge stem logic permanently
1 parent 2f5ca60 commit a75094d

1 file changed

Lines changed: 19 additions & 9 deletions

File tree

stemplayerplayer.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import subprocess
55
import keyboard
66
import pygame as pg
7-
import time
87
import json
98
import glob
109
import tkinter as tk
10+
import tkinter.messagebox
1111
from tkinter import *
1212
from PIL import ImageTk, Image
1313
from tkinter import filedialog
@@ -105,13 +105,13 @@ def open_new():
105105
return
106106
elif glob.glob(folder_path + "/*.flac"):
107107
print("Using FLAC...")
108-
stem_list = glob.glob(folder_path + "/*.flac")
108+
stem_list = glob.glob(folder_path + '/*[0-9].flac')
109109
elif glob.glob(folder_path + "/*.wav"):
110110
print("Using WAV...")
111-
stem_list = glob.glob(folder_path + "/*.wav")
111+
stem_list = glob.glob(folder_path + '/*[0-9].wav')
112112
elif glob.glob(folder_path + "/*.mp3"):
113113
print("Using MP3...")
114-
stem_list = glob.glob(folder_path + "/*.mp3")
114+
stem_list = glob.glob(folder_path + '/*[0-9].mp3')
115115

116116
a1Note = pg.mixer.Sound(stem_list[0])
117117
a2Note = pg.mixer.Sound(stem_list[1])
@@ -126,6 +126,8 @@ def open_new():
126126

127127
def merge_stems():
128128
global stem_list
129+
stem_list = []
130+
global merging
129131
from shutil import which
130132
print(which('ffmpeg'))
131133
if which('ffmpeg') is not None:
@@ -135,12 +137,19 @@ def merge_stems():
135137
if stem_list:
136138
text = stem_list[0]
137139
soundformat = text.partition("1.")[2]
138-
stem1 = AudioSegment.from_file(stem_list[0])
139-
stem2 = AudioSegment.from_file(stem_list[1])
140-
stem3 = AudioSegment.from_file(stem_list[2])
141-
stem4 = AudioSegment.from_file(stem_list[3])
140+
print(stem_list[0])
141+
#print (text.partition("1.")[0] + "." + soundformat)
142+
print(stem_list[0])
143+
if os.path.exists(os.path.normpath(text.partition("1.")[0] + "." + soundformat)):
144+
os.remove(os.path.normpath(text.partition("1.")[0] + "." + soundformat))
145+
stem1 = AudioSegment.from_file(os.path.normpath(stem_list[0]))
146+
stem2 = AudioSegment.from_file(os.path.normpath(stem_list[1]))
147+
stem3 = AudioSegment.from_file(os.path.normpath(stem_list[2]))
148+
stem4 = AudioSegment.from_file(os.path.normpath(stem_list[3]))
142149
overlay = stem1.overlay(stem2.overlay(stem3.overlay(stem4)))
143150
file_handle = overlay.export(text.partition("1.")[0] + "." + soundformat, format=soundformat)
151+
file_handle.flush()
152+
file_handle.close()
144153
else:
145154
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.")
146155

@@ -290,7 +299,7 @@ def close_window():
290299
#startbridge = Button(frame2, text="Bridge on/off", font=("Times New Roman", 12, "bold"), command=lambda: start_bridge())
291300
#startbridge.grid(row=4, column=2, pady=2)
292301

293-
302+
'''
294303
startbridge = tk.Checkbutton(root,
295304
text='Bridge Enabled',
296305
command=lambda: start_bridge(startstop_bridge.get()),
@@ -299,6 +308,7 @@ def close_window():
299308
onvalue=1,
300309
offvalue=0)
301310
startbridge.pack()
311+
'''
302312

303313

304314
onoff = tk.IntVar() #Keybinds toggle box

0 commit comments

Comments
 (0)