feat: add adjustable playback duration for A/B samples
This commit is contained in:
1 parent
f3a166ef70
commit
3a3c2936ff
1 file changed
+14
-4
+14
-4
@@ -249,10 +249,21 @@ class SyncWindow(QtWidgets.QMainWindow):
|
|||||||
self.vol_label = QtWidgets.QLabel("70%")
|
self.vol_label = QtWidgets.QLabel("70%")
|
||||||
ctr2.addWidget(self.vol_label)
|
ctr2.addWidget(self.vol_label)
|
||||||
|
|
||||||
self.btn_play_a = QtWidgets.QPushButton("Play A (2s)")
|
self.btn_play_a = QtWidgets.QPushButton("Play A")
|
||||||
self.btn_play_b = QtWidgets.QPushButton("Play B+lag (2s)")
|
self.btn_play_b = QtWidgets.QPushButton("Play B+lag")
|
||||||
self.btn_play_mix = QtWidgets.QPushButton("Play Mix")
|
self.btn_play_mix = QtWidgets.QPushButton("Play Mix")
|
||||||
self.btn_stop = QtWidgets.QPushButton("Stop")
|
self.btn_stop = QtWidgets.QPushButton("Stop")
|
||||||
|
|
||||||
|
ctr2.addWidget(QtWidgets.QLabel("Duration:"))
|
||||||
|
self.play_dur = QtWidgets.QDoubleSpinBox()
|
||||||
|
self.play_dur.setRange(0.1, 30.0)
|
||||||
|
self.play_dur.setDecimals(1)
|
||||||
|
self.play_dur.setSingleStep(0.5)
|
||||||
|
self.play_dur.setValue(2.0)
|
||||||
|
self.play_dur.setSuffix("s")
|
||||||
|
self.play_dur.setMaximumWidth(80)
|
||||||
|
ctr2.addWidget(self.play_dur)
|
||||||
|
|
||||||
for b in [self.btn_play_a, self.btn_play_b, self.btn_play_mix, self.btn_stop]:
|
for b in [self.btn_play_a, self.btn_play_b, self.btn_play_mix, self.btn_stop]:
|
||||||
ctr2.addWidget(b)
|
ctr2.addWidget(b)
|
||||||
if not HAS_SD:
|
if not HAS_SD:
|
||||||
@@ -398,9 +409,8 @@ class SyncWindow(QtWidgets.QMainWindow):
|
|||||||
return
|
return
|
||||||
vol = self.vol.value()/100.0
|
vol = self.vol.value()/100.0
|
||||||
sr = self.sr
|
sr = self.sr
|
||||||
# play 2 seconds from 10s mark to hear sync
|
dur_samp = int(self.play_dur.value() * sr)
|
||||||
start_samp = int(10 * sr)
|
start_samp = int(10 * sr)
|
||||||
dur_samp = int(2 * sr)
|
|
||||||
if start_samp + dur_samp > len(self.a_orig):
|
if start_samp + dur_samp > len(self.a_orig):
|
||||||
start_samp = 0
|
start_samp = 0
|
||||||
a_seg = self.a_orig[start_samp:start_samp+dur_samp] * vol
|
a_seg = self.a_orig[start_samp:start_samp+dur_samp] * vol
|
||||||
|
|||||||
Reference in new issue
Block a user