using Gtk 4.0; using Adw 1; template $AudreyUiWindow: Adw.ApplicationWindow { title: _("audrey"); default-width: 800; default-height: 600; Adw.ToolbarView { name: "main"; [top] Adw.HeaderBar { [start] Button { icon-name: "media-playlist-shuffle"; sensitive: bind template.can_click_shuffle_all; clicked => $shuffle_all() swapped; } title-widget: Adw.ViewSwitcher { stack: stack; policy: wide; }; [end] Button { icon-name: "applications-system"; clicked => $show_setup_dialog() swapped; } } content: Adw.ViewStack stack { vexpand: true; Adw.ViewStackPage { icon-name: "folder-music-symbolic"; title: _("Browse"); child: ScrolledWindow { child: Box { orientation: vertical; $AudreyUiAlbumCarousel carousel1 { title: _("Explore from your library"); type: random; } $AudreyUiAlbumCarousel carousel2 { title: _("Newly added releases"); type: newest; } $AudreyUiAlbumCarousel carousel3 { title: _("Recently played"); type: recent; } $AudreyUiAlbumCarousel carousel4 { title: _("Most played"); type: frequent; } }; }; } Adw.ViewStackPage { icon-name: "media-playback-start"; title: _("Play queue"); name: "play-queue"; child: $AudreyUiPlayQueue play_queue { model: bind template.playlist_model; playlist-pos: bind template.playlist-pos; // playbin: bind template.playbin; playing-cover-art: bind template.playing-cover-art; }; } }; [bottom] $AudreyUiPlaybar playbar { song: bind template.song; playing-cover-art: bind template.playing-cover-art; show-cover-art: bind $show_playbar_cover_art(stack.visible-child-name) as ; volume: bind template.volume bidirectional; mute: bind template.mute bidirectional; pause: bind template.pause bidirectional; position: bind template.time-pos; duration: bind template.duration; idle-active: bind template.idle-active; playlist-count: bind template.playlist-count; } } }