mirror of
https://github.com/arabianq/pipewire-soundpad.git
synced 2026-04-28 06:21:23 +00:00
merge dev
* cargo fmt * deps: bump clap to 4.6.0 * deps: cargo update * Fix daemon autostart issue caused by sync pipewire retry loop (#43) (#44) At boot time, PipeWire takes some time to register the `pwsp-daemon` and `pwsp-virtual-mic` devices. Previously, the daemon's retry loop for `link_player_to_virtual_mic()` was synchronous and limited to 5 attempts (1.5 seconds total). This caused systemd autostarts to fail with a code 1 if the devices were not yet available. This change replaces the synchronous wait with an asynchronous `tokio::spawn` task. It will retry the link attempt up to 60 times with a 1-second delay without blocking the startup of the rest of the daemon. This prevents it from exiting abruptly during autostart. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> * deps: bump egui & eframe version to 0.34.1 * feat: replaced App::update with new App::logic and App::ui * deps: bump egui_material_icons to 0.6.0 * deps: bump egui_dnd to 0.15.0 * fix: use .codepoint for icons * refactor * refactor: replaced deprecated CentralPanel::show with CentralPanel::show_inside * refactor * change version to 1.6.3 * update rust toolchain in github actions * update freedesktop platform version to 25.08 for flaptak * update github actions for flatpak builds * add flatpak-builder installation inside actions * add flathub configuration to actions * add --user flag to flathub configuration * remove sudo from flatpak actions * Fix/dev flatpak actions 6082245116761610541 (#47) * remove sudo * remove steps --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
f01a0e656c
commit
b2b83f5c32
+18
-12
@@ -19,13 +19,13 @@ enum TrackAction {
|
||||
impl SoundpadGui {
|
||||
fn get_volume_icon(volume: f32) -> &'static str {
|
||||
if volume > 0.7 {
|
||||
ICON_VOLUME_UP
|
||||
ICON_VOLUME_UP.codepoint
|
||||
} else if volume <= 0.0 {
|
||||
ICON_VOLUME_OFF
|
||||
ICON_VOLUME_OFF.codepoint
|
||||
} else if volume < 0.3 {
|
||||
ICON_VOLUME_MUTE
|
||||
ICON_VOLUME_MUTE.codepoint
|
||||
} else {
|
||||
ICON_VOLUME_DOWN
|
||||
ICON_VOLUME_DOWN.codepoint
|
||||
}
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ impl SoundpadGui {
|
||||
let path = item.clone();
|
||||
ui.horizontal(|ui| {
|
||||
handle.ui(ui, |ui| {
|
||||
ui.label(ICON_DRAG_INDICATOR);
|
||||
ui.label(ICON_DRAG_INDICATOR.codepoint);
|
||||
});
|
||||
let name = path
|
||||
.file_name()
|
||||
@@ -345,7 +345,7 @@ impl SoundpadGui {
|
||||
// Context menu
|
||||
dir_button_response.context_menu(|ui| {
|
||||
if ui
|
||||
.button(format!("{} {}", ICON_OPEN_IN_NEW, "Show"))
|
||||
.button(format!("{} {}", ICON_OPEN_IN_NEW.codepoint, "Show"))
|
||||
.clicked()
|
||||
{
|
||||
self.open_dir(&path);
|
||||
@@ -354,7 +354,7 @@ impl SoundpadGui {
|
||||
if ui
|
||||
.button(format!(
|
||||
"{} {}",
|
||||
ICON_OPEN_IN_BROWSER, "Open in File Manager"
|
||||
ICON_OPEN_IN_BROWSER.codepoint, "Open in File Manager"
|
||||
))
|
||||
.clicked()
|
||||
{
|
||||
@@ -365,7 +365,10 @@ impl SoundpadGui {
|
||||
|
||||
ui.separator();
|
||||
|
||||
if ui.button(format!("{} {}", ICON_DELETE, "Remove")).clicked() {
|
||||
if ui
|
||||
.button(format!("{} {}", ICON_DELETE.codepoint, "Remove"))
|
||||
.clicked()
|
||||
{
|
||||
self.app_state.dirs_to_remove.insert(path.clone());
|
||||
}
|
||||
});
|
||||
@@ -452,20 +455,23 @@ impl SoundpadGui {
|
||||
// Context menu
|
||||
file_button_response.context_menu(|ui| {
|
||||
if ui
|
||||
.button(format!("{} {}", ICON_BOLT, "Play Solo"))
|
||||
.button(format!("{} {}", ICON_BOLT.codepoint, "Play Solo"))
|
||||
.clicked()
|
||||
{
|
||||
self.play_file(&entry_path, false);
|
||||
self.app_state.selected_file = Some(entry_path.clone());
|
||||
}
|
||||
|
||||
if ui.button(format!("{} {}", ICON_ADD, "Add New")).clicked() {
|
||||
if ui
|
||||
.button(format!("{} {}", ICON_ADD.codepoint, "Add New"))
|
||||
.clicked()
|
||||
{
|
||||
self.play_file(&entry_path, true);
|
||||
self.app_state.selected_file = Some(entry_path.clone());
|
||||
}
|
||||
|
||||
if ui
|
||||
.button(format!("{} {}", ICON_SWAP_HORIZ, "Replace Last"))
|
||||
.button(format!("{} {}", ICON_SWAP_HORIZ.codepoint, "Replace Last"))
|
||||
.clicked()
|
||||
&& let Some(last_track) = self.audio_player_state.tracks.last()
|
||||
{
|
||||
@@ -479,7 +485,7 @@ impl SoundpadGui {
|
||||
if ui
|
||||
.button(format!(
|
||||
"{} {}",
|
||||
ICON_OPEN_IN_BROWSER, "Show in File Manager"
|
||||
ICON_OPEN_IN_BROWSER.codepoint, "Show in File Manager"
|
||||
))
|
||||
.clicked()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user