diff --git a/TODO.org b/TODO.org index 0d83198..87049cb 100644 --- a/TODO.org +++ b/TODO.org @@ -23,6 +23,8 @@ If I can find out how to use my secrets in ci that would free up more tests, but Someday we should make the saving and loading to be aware of the fonts on the system and find a way to embed them into the save file. * TODO [#B] Video downloading system +We need to create a way for users to download youtube or other videos by URL. + * TODO [#B] Songs should have a place to store the audio file and then play it during editing so you can ensure the order of verses * TODO [#B] Songs should have a way of storing a lyric video or other videos so they can be helpful for the editor @@ -181,4 +183,3 @@ This proved easier by just creating the =Slide= first and inserting it into the CLOSED: [2026-04-15 Wed 15:59] I think this got fixed in a recent update - diff --git a/flake.lock b/flake.lock index e7c26ba..da63098 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "crane": { "locked": { - "lastModified": 1775839657, - "narHash": "sha256-SPm9ck7jh3Un9nwPuMGbRU04UroFmOHjLP56T10MOeM=", + "lastModified": 1778106249, + "narHash": "sha256-cM/AuKy5tMhwOOQIbha8ZRRMHVfNf7cv2aljIw+qoCg=", "owner": "ipetkov", "repo": "crane", - "rev": "7cf72d978629469c4bd4206b95c402514c1f6000", + "rev": "6d015ea29630b7ad2402841386da2cb617a470a7", "type": "github" }, "original": { @@ -21,11 +21,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1770794449, - "narHash": "sha256-1nFkhcZx9+Sdw5OXwJqp5TxvGncqRqLeK781v0XV3WI=", + "lastModified": 1778493576, + "narHash": "sha256-/vvNyF8C2tNTkxtffGUQbcTJvf72cRw3qo8cyBh33pM=", "owner": "nix-community", "repo": "fenix", - "rev": "b19d93fdf9761e6101f8cb5765d638bacebd9a1b", + "rev": "5bf88a04d8678c7334f2f5072975f3b2cb0fe1ba", "type": "github" }, "original": { @@ -80,11 +80,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1769799857, - "narHash": "sha256-88IFXZ7Sa1vxbz5pty0Io5qEaMQMMUPMonLa3Ls/ss4=", + "lastModified": 1778151388, + "narHash": "sha256-lldMJPUeouEjO8/7aLuwhcsIw29vVihm2ZALzjiqfec=", "owner": "nix-community", "repo": "naersk", - "rev": "9d4ed44d8b8cecdceb1d6fd76e74123d90ae6339", + "rev": "efdddff9ff4d8e7d0056d57ec67dac50f75ab8f6", "type": "github" }, "original": { @@ -95,11 +95,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1770562336, - "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { @@ -127,11 +127,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1770562336, - "narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6c71932130818840fc8fe9509cf50be8c64634f", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { @@ -170,11 +170,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1770702974, - "narHash": "sha256-CbvWu72rpGHK5QynoXwuOnVzxX7njF2LYgk8wRSiAQ0=", + "lastModified": 1778424672, + "narHash": "sha256-v/CZ9tJT+ulSe3ZmjuG3lWABwOvITbT7EqF/2NAl3Hs=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "07a594815f7c1d6e7e39f21ddeeedb75b21795f4", + "rev": "e266f5cab8f6525d0bc2ddccc0006418c534b5e6", "type": "github" }, "original": { @@ -206,11 +206,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1770779462, - "narHash": "sha256-ykcXTKtV+dOaKlOidAj6dpewBHjni9/oy/6VKcqfzfY=", + "lastModified": 1778469574, + "narHash": "sha256-NTZzJ7xJvMXOonYqut3WLUhryeZj5QuuL0ANcqS7d30=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "8a53b3ade61914cdb10387db991b90a3a6f3c441", + "rev": "4852a8aa041c94af55e136cde5b8b6d42c3563e8", "type": "github" }, "original": { diff --git a/src/ui/song_editor.rs b/src/ui/song_editor.rs index 786ee7e..4b3943a 100755 --- a/src/ui/song_editor.rs +++ b/src/ui/song_editor.rs @@ -1883,6 +1883,8 @@ impl SongEditor { .icon_size(space_xl) .on_press(Message::SearchSong(self.search_input.clone())); + let new_button = button::standard("New Song").leading_icon(icon::from_name("list-add-symbolic")).on_press(Message::None); + let search_results = if self.state == (State::Importing { loading_songs: true, @@ -2006,7 +2008,7 @@ impl SongEditor { ) }; - let search_row = row![search_bar, submit_button] + let search_row = row![search_bar, submit_button, new_button] .spacing(space_s) .align_y(Vertical::Center); diff --git a/src/ui/video_editor.rs b/src/ui/video_editor.rs index 9778397..494e770 100644 --- a/src/ui/video_editor.rs +++ b/src/ui/video_editor.rs @@ -6,6 +6,7 @@ use cosmic::dialog::file_chooser::open::Dialog; use cosmic::iced::Length; use cosmic::iced::alignment::Vertical; use cosmic::iced::widget::{column, row}; +use cosmic::prelude::*; use cosmic::widget::space::{self, horizontal}; use cosmic::widget::{Space, button, container, icon, slider, text, text_input}; use cosmic::{Element, Task, theme}; @@ -151,12 +152,18 @@ impl VideoEditor { }, ); - let video_player = self.video.as_ref().map_or_else( - || Element::from(Space::new()), - |video| { - Element::from(VideoPlayer::new(video).on_new_frame(Message::NewFrame)) - }, - ); + let video_player = self + .video + .as_ref() + .map_or_else( + || Space::new().apply(container), + |video| { + VideoPlayer::new(video) + .on_new_frame(Message::NewFrame) + .apply(container) + }, + ) + .center(Length::Fill); let video_section = column![video_player, video_elements] .spacing(cosmic::theme::spacing().space_s);