mirror of
https://github.com/Xetibo/ReSet.git
synced 2025-04-17 18:18:34 +02:00
commit
2e8c7eda33
|
@ -392,6 +392,8 @@ pub fn start_audio_listener(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let mut conn = start_dbus_audio_listener(conn);
|
||||||
|
|
||||||
if sink_box.is_some() {
|
if sink_box.is_some() {
|
||||||
conn = start_output_box_listener(conn, sink_box.unwrap());
|
conn = start_output_box_listener(conn, sink_box.unwrap());
|
||||||
}
|
}
|
||||||
|
@ -405,6 +407,7 @@ pub fn start_audio_listener(
|
||||||
let _ = conn.process(Duration::from_millis(1000));
|
let _ = conn.process(Duration::from_millis(1000));
|
||||||
if !listeners.pulse_listener.load(Ordering::SeqCst) {
|
if !listeners.pulse_listener.load(Ordering::SeqCst) {
|
||||||
println!("stopping audio listener");
|
println!("stopping audio listener");
|
||||||
|
stop_dbus_audio_listener(conn);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// thread::sleep(Duration::from_millis(1000));
|
// thread::sleep(Duration::from_millis(1000));
|
||||||
|
@ -412,3 +415,22 @@ pub fn start_audio_listener(
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn start_dbus_audio_listener(conn: Connection) -> Connection {
|
||||||
|
let proxy = conn.with_proxy(
|
||||||
|
"org.xetibo.ReSet",
|
||||||
|
"/org/xetibo/ReSet",
|
||||||
|
Duration::from_millis(1000),
|
||||||
|
);
|
||||||
|
let _: Result<(), Error> = proxy.method_call("org.xetibo.ReSet", "StartAudioListener", ());
|
||||||
|
conn
|
||||||
|
}
|
||||||
|
|
||||||
|
fn stop_dbus_audio_listener(conn: Connection) {
|
||||||
|
let proxy = conn.with_proxy(
|
||||||
|
"org.xetibo.ReSet",
|
||||||
|
"/org/xetibo/ReSet",
|
||||||
|
Duration::from_millis(1000),
|
||||||
|
);
|
||||||
|
let _: Result<(), Error> = proxy.method_call("org.xetibo.ReSet", "StopAudioListener", ());
|
||||||
|
}
|
||||||
|
|
|
@ -67,15 +67,15 @@ pub const HANDLE_AUDIO_CLICK: fn(Arc<Listeners>, FlowBox) =
|
||||||
listeners.stop_network_listener();
|
listeners.stop_network_listener();
|
||||||
listeners.stop_bluetooth_listener();
|
listeners.stop_bluetooth_listener();
|
||||||
let audioOutput = Arc::new(SinkBox::new());
|
let audioOutput = Arc::new(SinkBox::new());
|
||||||
populate_sinks(audioOutput.clone());
|
|
||||||
let audioFrame = wrapInFrame(SettingBox::new(&*audioOutput));
|
|
||||||
let audioInput = Arc::new(SourceBox::new());
|
let audioInput = Arc::new(SourceBox::new());
|
||||||
populate_sources(audioInput.clone());
|
|
||||||
start_audio_listener(
|
start_audio_listener(
|
||||||
listeners.clone(),
|
listeners.clone(),
|
||||||
Some(audioOutput.clone()),
|
Some(audioOutput.clone()),
|
||||||
Some(audioInput.clone()),
|
Some(audioInput.clone()),
|
||||||
);
|
);
|
||||||
|
populate_sinks(audioOutput.clone());
|
||||||
|
let audioFrame = wrapInFrame(SettingBox::new(&*audioOutput));
|
||||||
|
populate_sources(audioInput.clone());
|
||||||
let sourceFrame = wrapInFrame(SettingBox::new(&*audioInput));
|
let sourceFrame = wrapInFrame(SettingBox::new(&*audioInput));
|
||||||
resetMain.remove_all();
|
resetMain.remove_all();
|
||||||
resetMain.insert(&audioFrame, -1);
|
resetMain.insert(&audioFrame, -1);
|
||||||
|
@ -88,8 +88,8 @@ pub const HANDLE_VOLUME_CLICK: fn(Arc<Listeners>, FlowBox) =
|
||||||
listeners.stop_network_listener();
|
listeners.stop_network_listener();
|
||||||
listeners.stop_bluetooth_listener();
|
listeners.stop_bluetooth_listener();
|
||||||
let audioOutput = Arc::new(SinkBox::new());
|
let audioOutput = Arc::new(SinkBox::new());
|
||||||
populate_sinks(audioOutput.clone());
|
|
||||||
start_audio_listener(listeners.clone(), Some(audioOutput.clone()), None);
|
start_audio_listener(listeners.clone(), Some(audioOutput.clone()), None);
|
||||||
|
populate_sinks(audioOutput.clone());
|
||||||
let audioFrame = wrapInFrame(SettingBox::new(&*audioOutput));
|
let audioFrame = wrapInFrame(SettingBox::new(&*audioOutput));
|
||||||
resetMain.remove_all();
|
resetMain.remove_all();
|
||||||
resetMain.insert(&audioFrame, -1);
|
resetMain.insert(&audioFrame, -1);
|
||||||
|
@ -101,8 +101,8 @@ pub const HANDLE_MICROPHONE_CLICK: fn(Arc<Listeners>, FlowBox) =
|
||||||
listeners.stop_network_listener();
|
listeners.stop_network_listener();
|
||||||
listeners.stop_bluetooth_listener();
|
listeners.stop_bluetooth_listener();
|
||||||
let audioInput = Arc::new(SourceBox::new());
|
let audioInput = Arc::new(SourceBox::new());
|
||||||
populate_sources(audioInput.clone());
|
|
||||||
start_audio_listener(listeners.clone(), None, Some(audioInput.clone()));
|
start_audio_listener(listeners.clone(), None, Some(audioInput.clone()));
|
||||||
|
populate_sources(audioInput.clone());
|
||||||
let sourceFrame = wrapInFrame(SettingBox::new(&*audioInput));
|
let sourceFrame = wrapInFrame(SettingBox::new(&*audioInput));
|
||||||
resetMain.remove_all();
|
resetMain.remove_all();
|
||||||
resetMain.insert(&sourceFrame, -1);
|
resetMain.insert(&sourceFrame, -1);
|
||||||
|
|
Loading…
Reference in a new issue