commit 9de653aaf41471317c645abab1c325fde60302d3
parent 16bbefbc94c038dfbc51efed5f9d891f9c34a7e2
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Fri, 7 Apr 2023 16:02:12 -0700
fix sound somehow
Diffstat:
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/src/main.rs b/src/main.rs
@@ -531,8 +531,19 @@ impl LeChatPHPClient {
let tx = self.tx.clone();
let members_tag = self.config.members_tag.clone();
thread::spawn(move || loop {
- get_msgs(&client, &base_url, &page_php, &session, &username, &tx, &users, &is_muted, &sig,
- &messages_updated_tx, &members_tag, &datetime_fmt, &messages).unwrap();
+ let (_stream, stream_handle) = OutputStream::try_default().unwrap();
+ let source = Decoder::new_mp3(Cursor::new(SOUND1)).unwrap();
+ let mut should_notify = false;
+
+ get_msgs(&client, &base_url, &page_php, &session, &username, &tx, &users, &sig,
+ &messages_updated_tx, &members_tag, &datetime_fmt, &messages, &mut should_notify).unwrap();
+
+ let muted = { *is_muted.lock().unwrap() };
+ if should_notify && !muted {
+ if let Err(err) = stream_handle.play_raw(source.convert_samples()) {
+ log::error!("{}", err);
+ }
+ }
let timeout = after(Duration::from_secs(refresh_rate));
select! {
@@ -1375,21 +1386,17 @@ fn get_msgs(
username: &str,
tx: &crossbeam_channel::Sender<PostType>,
users: &Arc<Mutex<Users>>,
- is_muted: &Arc<Mutex<bool>>,
sig: &Arc<Mutex<Sig>>,
messages_updated_tx: &crossbeam_channel::Sender<bool>,
members_tag:&str,
datetime_fmt: &str,
- messages: &Arc<Mutex<Vec<Message>>>) -> anyhow::Result<()>
+ messages: &Arc<Mutex<Vec<Message>>>,
+ should_notify: &mut bool) -> anyhow::Result<()>
{
- let (_stream, stream_handle) = OutputStream::try_default().unwrap();
- let source = Decoder::new_mp3(Cursor::new(SOUND1)).unwrap();
-
let url = format!("{}/{}?action=view&session={}&lang={}", base_url, page_php, session, LANG);
let resp_text = client.get(url).send()?.text()?;
let resp_text = resp_text.replace("<br>", "\n");
let doc = Document::from(resp_text.as_str());
- let mut should_notify = false;
{
let new_messages = match extract_messages(&doc) {
Ok(messages) => messages,
@@ -1400,7 +1407,7 @@ fn get_msgs(
}
};
let messages = messages.lock().unwrap();
- if process_new_messages(&new_messages, &messages, datetime_fmt, members_tag, username, &mut should_notify, tx, sig).is_err() {
+ if process_new_messages(&new_messages, &messages, datetime_fmt, members_tag, username, should_notify, tx, sig).is_err() {
return Ok(());
}
@@ -1412,12 +1419,6 @@ fn get_msgs(
// Otherwise, the screen would not redraw until a keyboard event occurs.
messages_updated_tx.send(true).unwrap();
}
- let muted = { *is_muted.lock().unwrap() };
- if should_notify && !muted {
- if let Err(err) = stream_handle.play_raw(source.convert_samples()) {
- log::error!("{}", err);
- }
- }
{
let mut users = users.lock().unwrap();
ban_imposters(&tx, &username, &users);