from textual.app import App, ComposeResult from textual.widgets import Footer, Tab, Tabs, Header from ui.widgets.sidebar import Sidebar from ui.widgets.timeline import Timeline from ui.widgets.project_settings import ProjectSettings from song_player import SongPlayer class AppUI(App): CSS_PATH = "../assets/style.tcss" theme = "tokyo-night" #ENABLE_COMMAND_PALETTE = False def __init__(self, project): super().__init__() self.zoom_level = 0.05 self.last_zoom_level = self.zoom_level self.project = project self.song_player = SongPlayer(self) def on_mount(self): self.song_player.play_song(self.app.project) def compose(self) -> ComposeResult: with Tabs(id="top-menu"): yield Tab("File") yield Tab("Edit") yield Tab("View") yield Tab("Help") yield Sidebar() yield Timeline() yield ProjectSettings() yield Footer()