Compare commits
2 Commits
411401e2cd
...
9b1bf9c252
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b1bf9c252 | ||
|
|
15740565d1 |
@ -73,9 +73,9 @@ func (au *Audio) ProcessInput(conn *ircevent.Connection, channel string) error {
|
||||
}
|
||||
|
||||
empty := make([]float32, len(out))
|
||||
if !au.Deafened {
|
||||
select {
|
||||
case str := <-au.OutBuffer:
|
||||
select {
|
||||
case str := <-au.OutBuffer:
|
||||
if !au.Deafened {
|
||||
raw, err := base64.StdEncoding.DecodeString(str)
|
||||
if err != nil {
|
||||
break
|
||||
@ -83,9 +83,9 @@ func (au *Audio) ProcessInput(conn *ircevent.Connection, channel string) error {
|
||||
if _, err = dec.DecodeFloat32(raw, out); err != nil {
|
||||
break
|
||||
}
|
||||
default:
|
||||
copy(out, empty)
|
||||
}
|
||||
default:
|
||||
copy(out, empty)
|
||||
}
|
||||
})
|
||||
if err != nil {
|
||||
@ -125,6 +125,7 @@ func (au *Audio) ProcessInput(conn *ircevent.Connection, channel string) error {
|
||||
}
|
||||
|
||||
str := base64.StdEncoding.EncodeToString(data[:n])
|
||||
conn.Send("PING", "SPEAKING")
|
||||
conn.Privmsg(channel, str)
|
||||
}
|
||||
|
||||
|
||||
10
main.go
10
main.go
@ -101,6 +101,14 @@ func (m *model) setDeafen(is bool) {
|
||||
}
|
||||
|
||||
func (m model) Init() tea.Cmd {
|
||||
m.conn.AddCallback("PONG", func(e ircmsg.Message) {
|
||||
if e.Params[1] == "SPEAKING" {
|
||||
u := m.users[m.nick]
|
||||
u.lastSpoke = time.Now()
|
||||
m.users[m.nick] = u
|
||||
}
|
||||
})
|
||||
|
||||
m.conn.AddCallback("PRIVMSG", func(e ircmsg.Message) {
|
||||
target, message := e.Params[0], e.Params[1]
|
||||
if target != m.channel {
|
||||
@ -215,7 +223,7 @@ func (m model) View() (s string) {
|
||||
status = deafened
|
||||
} else if user.isMuted {
|
||||
status = muted
|
||||
} else if user.lastSpoke.Add(time.Second * 2).After(time.Now()) {
|
||||
} else if user.lastSpoke.Add(time.Millisecond * 100).After(time.Now()) {
|
||||
status = speaking
|
||||
nickStyled = nick
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user