Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
290225b7f1 | ||
|
|
1a0b9143be | ||
|
|
ac55a08796 | ||
|
|
3653f286f8 | ||
|
|
5a9dcac684 | ||
|
|
86bd0d851d | ||
|
|
55aae5a55f | ||
|
|
d559f5244f | ||
|
|
df2c5cb0ad | ||
|
|
53cab7e43c | ||
|
|
5062abdfc7 | ||
|
|
d80b73a052 | ||
|
|
5d70ac0002 | ||
|
|
c2d2cda761 | ||
|
|
6eb6cdbd49 | ||
|
|
70ca9d645a | ||
|
|
5fff9525e0 | ||
|
|
fd31ede89e | ||
|
|
3b9437fc9c | ||
|
|
78b00ac62a | ||
|
|
42212e3d10 | ||
|
|
b2742b3631 | ||
|
|
cc3e3f87fc | ||
|
|
3ce34e20bb | ||
|
|
495861c261 |
37
README.md
37
README.md
@@ -2,34 +2,7 @@
|
|||||||
|
|
||||||
# Clients
|
# Clients
|
||||||
|
|
||||||
## Distribute `rusty-pipe`
|
Send link to `http://localhost:17072`
|
||||||
|
|
||||||
```bash
|
|
||||||
# https://www.reddit.com/r/rust/comments/5k8uab/crosscompiling_from_ubuntu_to_windows_with_rustup/
|
|
||||||
(
|
|
||||||
echo '[target.x86_64-pc-windows-gnu]'
|
|
||||||
echo 'linker = "x86_64-w64-mingw32-gcc"'
|
|
||||||
echo 'ar = "x86_64-w64-mingw32-gcc-ar"'
|
|
||||||
) >> $HOME/.cargo/config
|
|
||||||
sudo apt install mingw-w64
|
|
||||||
rustup target add x86_64-pc-windows-gnu
|
|
||||||
echo windows
|
|
||||||
cargo build --release --target x86_64-pc-windows-gnu
|
|
||||||
rm target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe
|
|
||||||
read -p ".crt? " CERT
|
|
||||||
osslsigncode sign \
|
|
||||||
-certs ${CERT%.crt}.crt -key ${CERT%.crt}.key \
|
|
||||||
-n Rusty-Pipe -i https://whois.home.blapointe.com \
|
|
||||||
-in target/x86_64-pc-windows-gnu/release/rusty-pipe.exe -out target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe
|
|
||||||
echo local
|
|
||||||
cargo install --path ./
|
|
||||||
```
|
|
||||||
|
|
||||||
Each client needs 1 executable and 1 config file
|
|
||||||
|
|
||||||
The server cannot be a client because sending, listening, and typing keyboard is bad. Maybe a VM on the client as a server would work tho.
|
|
||||||
|
|
||||||
See `./config.d/rusty-pipe.d`
|
|
||||||
|
|
||||||
# Server
|
# Server
|
||||||
|
|
||||||
@@ -40,11 +13,3 @@ See `./config.d/rusty-pipe.d`
|
|||||||
## Game Playing
|
## Game Playing
|
||||||
|
|
||||||
Foreground
|
Foreground
|
||||||
|
|
||||||
#### Discord
|
|
||||||
|
|
||||||
Yep
|
|
||||||
|
|
||||||
#### Dolphin
|
|
||||||
|
|
||||||
Yep
|
|
||||||
|
|||||||
3
config.d/mayhem-party.d/elect.sh
Normal file
3
config.d/mayhem-party.d/elect.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
curl -sS http://mp.home.blapointe.com:17071/gm/rpc/elect
|
||||||
@@ -1,11 +1,14 @@
|
|||||||
export DEBUG=true
|
export DEBUG=true
|
||||||
export MAIN_INTERVAL_DURATION=5ms
|
export MAIN_INTERVAL_DURATION=5ms
|
||||||
|
|
||||||
export RAW_UDP=17070
|
|
||||||
|
|
||||||
export PARSE_V01=true
|
export PARSE_V01=true
|
||||||
export V01_CONFIG=./config.d/mayhem-party.d/v01.yaml
|
cp ./config.d/mayhem-party.d/v01{"",-live}.yaml
|
||||||
|
export V01_CONFIG=./config.d/mayhem-party.d/v01-live.yaml
|
||||||
|
|
||||||
export WRAP_REFRESH_ON_SIGUSR1=true
|
export WRAP_REFRESH_ON_SIGUSR1=true
|
||||||
|
|
||||||
export OUTPUT_KEYBOARD=false
|
export OUTPUT_KEYBOARD=${OUTPUT_KEYBOARD:-false}
|
||||||
|
|
||||||
|
#export RAW_UDP=17070
|
||||||
|
export RAW_WS_PROXY_URL=http://localhost$(cat config.d/mayhem-party.d/v01-live.yaml | grep -A 10 feedback | grep addr: | awk '{print $NF}')
|
||||||
|
export RAW_WS=17072
|
||||||
|
|||||||
7
config.d/mayhem-party.d/fill.sh
Normal file
7
config.d/mayhem-party.d/fill.sh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
curl \
|
||||||
|
-X POST \
|
||||||
|
-i -sS \
|
||||||
|
http://mp.home.blapointe.com:17071/gm/rpc/fillNonPlayerAliases \
|
||||||
|
-d "[$(cat ./hotwords.txt | tr '\n' ' ')]"
|
||||||
18
config.d/mayhem-party.d/hotwords.txt
Normal file
18
config.d/mayhem-party.d/hotwords.txt
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
mario
|
||||||
|
luigi
|
||||||
|
peach
|
||||||
|
daisy
|
||||||
|
wario
|
||||||
|
waluigi
|
||||||
|
bowser
|
||||||
|
junior
|
||||||
|
koopa
|
||||||
|
shyguy
|
||||||
|
boo
|
||||||
|
toad
|
||||||
|
toadette
|
||||||
|
coin
|
||||||
|
star
|
||||||
|
minigame
|
||||||
|
win
|
||||||
|
lose
|
||||||
7
config.d/mayhem-party.d/init.sh
Normal file
7
config.d/mayhem-party.d/init.sh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
bash ./shuffle.sh
|
||||||
|
bash ./fill.sh
|
||||||
|
bash ./players.sh
|
||||||
2
config.d/mayhem-party.d/players.sh
Normal file
2
config.d/mayhem-party.d/players.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
curl -sS -i http://mp.home.blapointe.com:17071/
|
||||||
3
config.d/mayhem-party.d/shuffle.sh
Normal file
3
config.d/mayhem-party.d/shuffle.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
curl -sS -i http://mp.home.blapointe.com:17071/gm/rpc/shuffle
|
||||||
|
bash ./players.sh
|
||||||
56
config.d/mayhem-party.d/v01-live.yaml
Normal file
56
config.d/mayhem-party.d/v01-live.yaml
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
feedback:
|
||||||
|
addr: :17071
|
||||||
|
ttsurl: http://localhost:15002
|
||||||
|
users: {}
|
||||||
|
players:
|
||||||
|
- transformation:
|
||||||
|
"1": "1" # a
|
||||||
|
"2": "2" # b
|
||||||
|
"3": "3" # x
|
||||||
|
"4": "4" # y
|
||||||
|
"5": "5" # start
|
||||||
|
w: "6" # stickUp
|
||||||
|
a: "7" # stickLeft
|
||||||
|
s: "8" # stickDown
|
||||||
|
d: "9" # stickRight
|
||||||
|
e: "0" # r
|
||||||
|
q: "-" # l
|
||||||
|
- transformation:
|
||||||
|
"1": "q" # a
|
||||||
|
"2": "w" # b
|
||||||
|
"3": "e" # x
|
||||||
|
"4": "r" # y
|
||||||
|
"5": " " # "t" # start
|
||||||
|
w: "y" # stickUp
|
||||||
|
a: "u" # stickLeft
|
||||||
|
s: "i" # stickDown
|
||||||
|
d: "o" # stickRight
|
||||||
|
e: "p" # r
|
||||||
|
q: "=" # l
|
||||||
|
- transformation:
|
||||||
|
"1": "a" # a
|
||||||
|
"2": "s" # b
|
||||||
|
"3": "d" # x
|
||||||
|
"4": "f" # y
|
||||||
|
"5": " " # "g" # start
|
||||||
|
w: "h" # stickUp
|
||||||
|
a: "j" # stickLeft
|
||||||
|
s: "k" # stickDown
|
||||||
|
d: "l" # stickRight
|
||||||
|
e: ";" # r
|
||||||
|
q: "g" # l
|
||||||
|
- transformation:
|
||||||
|
"1": "z" # a
|
||||||
|
"2": "x" # b
|
||||||
|
"3": "c" # x
|
||||||
|
"4": "v" # y
|
||||||
|
"5": " " # "b" # start
|
||||||
|
w: "n" # stickUp
|
||||||
|
a: "m" # stickLeft
|
||||||
|
s: "," # stickDown
|
||||||
|
d: "." # stickRight
|
||||||
|
e: "/" # r
|
||||||
|
q: "b" # l
|
||||||
|
quiet: false
|
||||||
|
broadcast:
|
||||||
|
message: "#early access"
|
||||||
@@ -1,41 +1,56 @@
|
|||||||
feedback:
|
feedback:
|
||||||
addr: :17071
|
addr: :17071
|
||||||
ttsurl: http://localhost:15002
|
ttsurl: http://localhost:15002
|
||||||
users:
|
users: {}
|
||||||
bel:
|
|
||||||
meta:
|
|
||||||
lasttsms: 1680371007738
|
|
||||||
lastlag: 0
|
|
||||||
state:
|
|
||||||
player: 1
|
|
||||||
message: ""
|
|
||||||
gm:
|
|
||||||
alias: ""
|
|
||||||
lastalias: ""
|
|
||||||
vote: ""
|
|
||||||
zach:
|
|
||||||
meta:
|
|
||||||
lasttsms: 1679978514018
|
|
||||||
lastlag: 0
|
|
||||||
state:
|
|
||||||
player: 0
|
|
||||||
message: ""
|
|
||||||
gm:
|
|
||||||
alias: ""
|
|
||||||
lastalias: ""
|
|
||||||
vote: ""
|
|
||||||
players:
|
players:
|
||||||
- transformation:
|
- transformation:
|
||||||
"1": "5"
|
"1": "1" # a
|
||||||
"2": "6"
|
"2": "2" # b
|
||||||
"3": "7"
|
"3": "3" # x
|
||||||
"4": "8"
|
"4": "4" # y
|
||||||
a: f
|
"5": "5" # start
|
||||||
d: h
|
w: "6" # stickUp
|
||||||
e: "y"
|
a: "7" # stickLeft
|
||||||
q: r
|
s: "8" # stickDown
|
||||||
s: g
|
d: "9" # stickRight
|
||||||
w: t
|
e: "0" # r
|
||||||
|
q: "-" # l
|
||||||
|
- transformation:
|
||||||
|
"1": "q" # a
|
||||||
|
"2": "w" # b
|
||||||
|
"3": "e" # x
|
||||||
|
"4": "r" # y
|
||||||
|
"5": " " # "t" # start
|
||||||
|
w: "y" # stickUp
|
||||||
|
a: "u" # stickLeft
|
||||||
|
s: "i" # stickDown
|
||||||
|
d: "o" # stickRight
|
||||||
|
e: "p" # r
|
||||||
|
q: "=" # l
|
||||||
|
- transformation:
|
||||||
|
"1": "a" # a
|
||||||
|
"2": "s" # b
|
||||||
|
"3": "d" # x
|
||||||
|
"4": "f" # y
|
||||||
|
"5": " " # "g" # start
|
||||||
|
w: "h" # stickUp
|
||||||
|
a: "j" # stickLeft
|
||||||
|
s: "k" # stickDown
|
||||||
|
d: "l" # stickRight
|
||||||
|
e: ";" # r
|
||||||
|
q: "g" # l
|
||||||
|
- transformation:
|
||||||
|
"1": "z" # a
|
||||||
|
"2": "x" # b
|
||||||
|
"3": "c" # x
|
||||||
|
"4": "v" # y
|
||||||
|
"5": " " # "b" # start
|
||||||
|
w: "n" # stickUp
|
||||||
|
a: "m" # stickLeft
|
||||||
|
s: "," # stickDown
|
||||||
|
d: "." # stickRight
|
||||||
|
e: "/" # r
|
||||||
|
q: "b" # l
|
||||||
quiet: false
|
quiet: false
|
||||||
broadcast:
|
broadcast:
|
||||||
message: ""
|
message: "#early access"
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
16
config.d/rusty-pipe.d/package-and-distribute.sh
Normal file
16
config.d/rusty-pipe.d/package-and-distribute.sh
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
echo source ./package.sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd ${based%/*}
|
||||||
|
tar_f=${based##*/}.tar
|
||||||
|
rm -f "$tar_f"
|
||||||
|
tar -cf "$tar_f" ${based##*/}
|
||||||
|
cleanup() { rm "$tar_f"; }
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
scp_scratch.sh "$tar_f" squeaky2x3@192.168.0.86:/volume1/video/FTP/
|
||||||
|
ssh_scratch.sh ls /volume1/video/FTP/"$tar_f"
|
||||||
|
|
||||||
20
config.d/rusty-pipe.d/package.sh
Normal file
20
config.d/rusty-pipe.d/package.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
test -f ./rusty-pipe-signed.exe || exit 1
|
||||||
|
|
||||||
|
based=$(mktemp -d)
|
||||||
|
for f in ./*.yaml; do
|
||||||
|
d="$based/${f%.yaml}.d"
|
||||||
|
mkdir -p "$d"
|
||||||
|
cp "$f" "$d"/rusty-pipe.yaml
|
||||||
|
cp "$(realpath ./rusty-pipe-signed.exe)" "$d"/rusty-pipe-windows.exe
|
||||||
|
cp "$(realpath ./rusty-pipe-notwindows.bin)" "$d"/rusty-pipe-notwindows.bin
|
||||||
|
done
|
||||||
|
pushd "$based"
|
||||||
|
for d in ./*/; do
|
||||||
|
zip -r -7 ${d%/}.zip $d
|
||||||
|
rm -rf "$d"
|
||||||
|
done
|
||||||
|
popd
|
||||||
|
echo "$based"
|
||||||
|
du -sh "$based"/*
|
||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
1
config.d/rusty-pipe.d/rusty-pipe-notwindows.bin
Symbolic link
1
config.d/rusty-pipe.d/rusty-pipe-notwindows.bin
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../../rusty-pipe.d/target/release/rusty-pipe
|
||||||
1
config.d/rusty-pipe.d/rusty-pipe-signed.exe
Symbolic link
1
config.d/rusty-pipe.d/rusty-pipe-signed.exe
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../../rusty-pipe.d/target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe
|
||||||
@@ -22,6 +22,7 @@ streams:
|
|||||||
b: '2'
|
b: '2'
|
||||||
x: '3'
|
x: '3'
|
||||||
y: '4'
|
y: '4'
|
||||||
|
start: '5'
|
||||||
output:
|
output:
|
||||||
debug: false
|
debug: false
|
||||||
engine:
|
engine:
|
||||||
Submodule git.d/mayhem-party.d updated: e864f2a9f5...9418cecdf5
Submodule git.d/rusty-pipe.d updated: 37566c4413...31bdb6d92e
Submodule git.d/stt.d updated: 63fe8e7e9e...814a8ae2f3
63
server.sh
63
server.sh
@@ -36,11 +36,22 @@ log() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_discord() {
|
_discord() {
|
||||||
read -p "pls start discord"
|
(
|
||||||
|
export HOME="$PWD/mnt.d/discord.d"
|
||||||
|
if ! snap list discord; then
|
||||||
|
sudo snap install discord
|
||||||
|
fi
|
||||||
|
(
|
||||||
|
snap run discord
|
||||||
|
) &> /tmp/mayhem-party.discord.log &
|
||||||
|
disown
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
_dolphin() {
|
_dolphin() {
|
||||||
|
echo
|
||||||
read -p "pls start dolphin"
|
read -p "pls start dolphin"
|
||||||
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
_mayhem_party() {
|
_mayhem_party() {
|
||||||
@@ -81,31 +92,39 @@ _stt() {
|
|||||||
| awk "{print \$NF}" \
|
| awk "{print \$NF}" \
|
||||||
| head -n 1
|
| head -n 1
|
||||||
)
|
)
|
||||||
(
|
if ! test -f /etc/asound.conf || ! grep "$device" /etc/asound.conf; then
|
||||||
echo "pcm.pulse_monitor {"
|
(
|
||||||
echo " type pulse"
|
echo "pcm.pulse_monitor {"
|
||||||
echo " device $device"
|
echo " type pulse"
|
||||||
echo "}"
|
echo " device $device"
|
||||||
echo "ctl.pulse_monitor {"
|
echo "}"
|
||||||
echo " type pulse"
|
echo "ctl.pulse_monitor {"
|
||||||
echo " device $device"
|
echo " type pulse"
|
||||||
echo "}"
|
echo " device $device"
|
||||||
) | sudo tee /etc/asound.conf
|
echo "}"
|
||||||
|
) | sudo tee /etc/asound.conf
|
||||||
for i in $(pactl list short modules | grep secret | cut -f1); do
|
|
||||||
pactl unload-module $i
|
|
||||||
done
|
|
||||||
name='my_secret_sink'
|
|
||||||
if ! pactl list | grep -q $name; then
|
|
||||||
pactl load-module module-null-sink sink_name=$name channels=1
|
|
||||||
pactl load-module module-remap-source master=$name.monitor source_name=shared-$name source_properties="device.description=shared-$name" #channels=1
|
|
||||||
mic_name="$(pactl list | grep -A 100 Name:.$name.monitor | grep device.description.=. | head -n 1 | sed 's/.* = //' | tr -d '"') Monitor"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
read -p "pavucontrol to change input to $mic_name, ok? "
|
if [ -n "$PACTL_RESET" ]; then
|
||||||
|
for i in $(pactl list short modules | grep secret | cut -f1); do
|
||||||
|
pactl unload-module $i
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
name='my_secret_sink'
|
||||||
|
for i in 1 2; do
|
||||||
|
if ! pactl list | grep -q $name$i; then
|
||||||
|
pactl load-module module-null-sink sink_name=$name$i channels=1
|
||||||
|
pactl load-module module-remap-source master=$name$i.monitor source_name=shared-$name$i source_properties="device.description=shared-$name$i"
|
||||||
|
mic_name="$(pactl list | grep -A 100 Name:.$name$i.monitor | grep device.description.=. | head -n 1 | sed 's/.* = //' | tr -d '"') Monitor"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo
|
||||||
|
read -p "pavucontrol to change input to $name, ok? "
|
||||||
|
echo
|
||||||
log launching stt
|
log launching stt
|
||||||
(
|
(
|
||||||
export HOTWORDS=../../config.d/mayhem-party.d/v01.yaml@.users[].state.gm.alias
|
export HOTWORDS=../../config.d/mayhem-party.d/v01-live.yaml@.users[].state.gm.alias
|
||||||
export MIC_TIMEOUT=2
|
export MIC_TIMEOUT=2
|
||||||
export URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}}
|
export URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}}
|
||||||
export HEADERS=say="Eye herd {{hotword}}"
|
export HEADERS=say="Eye herd {{hotword}}"
|
||||||
|
|||||||
48
todo.yaml
48
todo.yaml
@@ -1,21 +1,9 @@
|
|||||||
todo:
|
todo:
|
||||||
- trigger a vote
|
- instructions how to spin up with pulseaudio GUI
|
||||||
- trigger an election
|
- rpc fill aliases UI
|
||||||
- trigger a shuffle for init
|
- rpc elect UI
|
||||||
- assign aliases
|
- display election results
|
||||||
- display vote progress
|
|
||||||
- trigger dolphin pause via query param mapping to a button that is a pause hotkey
|
- trigger dolphin pause via query param mapping to a button that is a pause hotkey
|
||||||
- todo: rotation triggers
|
|
||||||
subtasks:
|
|
||||||
- ui for election start, election votes, election end stuff
|
|
||||||
- todo: stdin
|
|
||||||
subtasks:
|
|
||||||
- minigame end
|
|
||||||
- todo: voice recognition of hotwords to vote who dun it
|
|
||||||
subtasks:
|
|
||||||
- random word from cur wikipedia page
|
|
||||||
- only spectators have hotwords and must get a player to speak it
|
|
||||||
- tribunal to vote who said it
|
|
||||||
scheduled: []
|
scheduled: []
|
||||||
done:
|
done:
|
||||||
- todo: sticky keyboard input mode for enable/disable explicitly
|
- todo: sticky keyboard input mode for enable/disable explicitly
|
||||||
@@ -175,3 +163,31 @@ done:
|
|||||||
ts: Fri Mar 31 22:45:58 MDT 2023
|
ts: Fri Mar 31 22:45:58 MDT 2023
|
||||||
- todo: audio pipes; can i send discord output to a pipe for stt?
|
- todo: audio pipes; can i send discord output to a pipe for stt?
|
||||||
ts: Sat Apr 1 11:20:27 MDT 2023
|
ts: Sat Apr 1 11:20:27 MDT 2023
|
||||||
|
- todo: public gui script
|
||||||
|
ts: Sun Apr 2 11:50:42 MDT 2023
|
||||||
|
- todo: trigger a vote
|
||||||
|
ts: Sun Apr 2 11:50:42 MDT 2023
|
||||||
|
- todo: display vote progress
|
||||||
|
ts: Sun Apr 2 11:50:42 MDT 2023
|
||||||
|
- todo: audio dolhpin+tts, video dolphin to OBS to discord share
|
||||||
|
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||||
|
- todo: server gui script
|
||||||
|
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||||
|
- todo: trigger an election
|
||||||
|
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||||
|
- todo: trigger a shuffle for init
|
||||||
|
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||||
|
- todo: assign aliases
|
||||||
|
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||||
|
- todo: rotation triggers
|
||||||
|
subtasks:
|
||||||
|
- ui for election start, election votes, election end stuff
|
||||||
|
- todo: stdin
|
||||||
|
subtasks:
|
||||||
|
- minigame end
|
||||||
|
- todo: voice recognition of hotwords to vote who dun it
|
||||||
|
subtasks:
|
||||||
|
- random word from cur wikipedia page
|
||||||
|
- only spectators have hotwords and must get a player to speak it
|
||||||
|
- tribunal to vote who said it
|
||||||
|
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||||
|
|||||||
Reference in New Issue
Block a user