testing multiple tracks

This commit is contained in:
2026-01-14 13:04:38 +11:00
parent 506d3c8749
commit d757b839d7
5 changed files with 15 additions and 16 deletions

View File

@@ -7,12 +7,12 @@ if __name__ == "__main__":
print("Loading project...") print("Loading project...")
test_project = Project(channels=[ test_project = Project(channels=[
ProjectChannel(chunks=[ ProjectChannel(chunks=[
AudioChannelChunk(*librosa.load("120 bpm amen break.mp3"), position=0), AudioChannelChunk(*librosa.load("120 bpm amen break.mp3", mono=False), position=0, name="120 bpm amen break.mp3"),
AudioChannelChunk(*librosa.load("120 bpm amen break.mp3"), position=1), AudioChannelChunk(*librosa.load("120 bpm amen break.mp3", mono=False), position=1, name="120 bpm amen break.mp3"),
AudioChannelChunk(*librosa.load("120 bpm amen break.mp3"), position=2) AudioChannelChunk(*librosa.load("120 bpm amen break.mp3", mono=False), position=2, name="120 bpm amen break.mp3")
], name="drums"), ], name="drums"),
ProjectChannel(chunks=[ ProjectChannel(chunks=[
AudioChannelChunk(*librosa.load("piano chords - Bmin 120BPM.wav", mono=False), name="piano chords - Bmin 120BPM.wav")
], name="piano") ], name="piano")
])#.from_file("test_project.tdp") ])#.from_file("test_project.tdp")

Binary file not shown.

View File

@@ -9,8 +9,6 @@ from ui.widgets.project_settings import ProjectSettings
class AppUI(App): class AppUI(App):
CSS_PATH = "../assets/style.tcss" CSS_PATH = "../assets/style.tcss"
theme = "atom-one-dark"
def __init__(self, project): def __init__(self, project):
super().__init__() super().__init__()
self.zoom_level = 0.05 self.zoom_level = 0.05

View File

@@ -14,7 +14,7 @@ from ui.widgets.chunk_types.chunk import Chunk
class AudioChunk(Chunk): class AudioChunk(Chunk):
DEFAULT_CSS = """ DEFAULT_CSS = """
AudioChunk { AudioChunk {
border: tab $accent; border: tab $secondary;
PlotWidget { PlotWidget {
height: 1fr; height: 1fr;
@@ -91,7 +91,7 @@ class AudioChunk(Chunk):
x, x,
y, y,
1.0, 1.0,
bar_style=self.app.theme_variables["warning"], bar_style=self.app.theme_variables["secondary"],
hires_mode=HiResMode.BRAILLE hires_mode=HiResMode.BRAILLE
) )
@@ -115,8 +115,6 @@ class AudioChunk(Chunk):
yield PlotWidget(allow_pan_and_zoom=False, id=f"channel-{channel}") yield PlotWidget(allow_pan_and_zoom=False, id=f"channel-{channel}")
#yield Sparkline(data=samples)
else: else:
# just display the one channel # just display the one channel
@@ -126,5 +124,3 @@ class AudioChunk(Chunk):
samples.append(self.audio[sample])""" samples.append(self.audio[sample])"""
yield PlotWidget(allow_pan_and_zoom=False) yield PlotWidget(allow_pan_and_zoom=False)
#yield Sparkline(data=samples)

View File

@@ -81,6 +81,11 @@ class Timeline(Vertical):
if not isinstance(bar_line, PlayHead): if not isinstance(bar_line, PlayHead):
bar_line.offset = (self.bar_offset * bar_line.index, 0) bar_line.offset = (self.bar_offset * bar_line.index, 0)
if self.app.zoom_level >= 0.09 and bar_line.has_class("beat-line"):
bar_line.display = False
else:
bar_line.display = True
def compose(self) -> ComposeResult: def compose(self) -> ComposeResult:
@@ -113,4 +118,4 @@ class Timeline(Vertical):
#yield PlayHead() yield PlayHead()