Merge branch 'dev'

This commit is contained in:
2024-06-29 13:45:44 +02:00

View File

@@ -209,6 +209,10 @@ impl Mixer {
.borrow_mut() .borrow_mut()
.get_sink_input_info(sink_index, move |r| { .get_sink_input_info(sink_index, move |r| {
if let ListResult::Item(sink_input) = r { if let ListResult::Item(sink_input) = r {
if sink_input.channel_map.len() == 1 {
return;
}
*operation_result.lock().unwrap() = Some(SinkInputMixerData { *operation_result.lock().unwrap() = Some(SinkInputMixerData {
name: get_sink_input_name(sink_input).unwrap(), name: get_sink_input_name(sink_input).unwrap(),
volume: sink_input.volume.avg().0, volume: sink_input.volume.avg().0,
@@ -234,12 +238,9 @@ impl Mixer {
Some(current_index) => { Some(current_index) => {
drop(selected_index_lock); drop(selected_index_lock);
let removed_sink_input_index = self if let Some(removed_sink_input_index) =
.sink_inputs self.sink_inputs.keys().position(|k| *k == sink_index)
.keys() {
.position(|k| *k == sink_index)
.unwrap();
let current_key = let current_key =
*self.sink_inputs.keys().nth(current_index).unwrap(); *self.sink_inputs.keys().nth(current_index).unwrap();
@@ -251,6 +252,7 @@ impl Mixer {
} }
} }
} }
}
None => (), None => (),
} }
@@ -303,6 +305,12 @@ impl Mixer {
pub fn select_next(&mut self) { pub fn select_next(&mut self) {
let mut index_lock = self.selected_index.lock().unwrap(); let mut index_lock = self.selected_index.lock().unwrap();
let sink_input_len = self.sink_inputs.len();
if sink_input_len == 0 {
*index_lock = None;
return;
}
match *index_lock { match *index_lock {
Some(current_index) => { Some(current_index) => {
let new_index: usize = let new_index: usize =
@@ -328,6 +336,12 @@ impl Mixer {
pub fn select_previous(&mut self) { pub fn select_previous(&mut self) {
let mut index_lock = self.selected_index.lock().unwrap(); let mut index_lock = self.selected_index.lock().unwrap();
let sink_input_len = self.sink_inputs.len();
if sink_input_len == 0 {
*index_lock = None;
return;
}
match *index_lock { match *index_lock {
Some(current_index) => { Some(current_index) => {
let new_index: usize = match current_index.overflowing_sub(1) { let new_index: usize = match current_index.overflowing_sub(1) {
@@ -475,10 +489,14 @@ impl Mixer {
return; return;
}; };
let sink_inputs_length = self.sink_inputs.len();
let current_sink = &self.sink_inputs.get(&sink_index).unwrap(); let current_sink = &self.sink_inputs.get(&sink_index).unwrap();
let current_sink_volume_percent = current_sink.get_volume_percent(); let current_sink_volume_percent = current_sink.get_volume_percent();
let _ = send_notification_with_progress( let _ = send_notification_with_progress(
&format!("{}: {}%", &current_sink.name, current_sink_volume_percent), &format!(
"({}/{}) {}: {}%",
index + 1, sink_inputs_length, &current_sink.name, current_sink_volume_percent
),
current_sink_volume_percent, current_sink_volume_percent,
); );
} }