Дошли руки, и наконец-то я запилил новую версию NetTTS, в которой поправил все известные мне баги, и добавил новых (наверное!)
В общем, для тех кто в танке — NetTTS это такая софтина для андройда, которая позволяет удаленно использовать TTS движок оного при помощи того, что есть под рукой. А именно телнета или нетката из скриптов.
В общем, вот небольшой ченджлог:
- Запилил авторизацию по authtag’у. если authtag стоит в каком либо непустом значение — первой строчкой должен идти авторизационный тег, иначе сообщение не будет отсинтезировано.
- Save&restart теперь действительно перезапускает сервер, а не только сохраняет настройки
- Убивание сервера не приводит более к тоннам ненависти в logcat на тему leaked service connection info
- Теперь можно переключать язык в рантайме, отправляя /setlang ru_RU или setlang en_US
- Если очередь команд забилась сотнями сообщений, то можно отправить команду /shutup, а не ждать, пока закончиться пустая говорильня.
- Имя пакаджа переименовано с org.necromant.nettts на org.ncrmnt.nettts во имя справедливости
Скачать можно на моей страничке на шитхабе, исходники там же.
ВНИМАНИЕ: Механизм авторизации надежен чуть меньше, чем вообще никак и может реально служить только для защиты от гиканутого младшего брата/сестры. И то ненедолго, если они дейтвительно гиканутые и знают как пользовать tcpdump. Впиливать сюда какую-то уберкрутую систему авторизации смысла чуть меньше чем никакого.
Ну и на последок, небольшая магия на баше, чтобы облегчить использование:
#!/bin/bash server=glesia port=8080 authtag="" #Don't edit below [ ! -z "$authtag" ] && authtaggy="${authtag}\n" say() { echo -e "${authtaggy}$*" | nc $server $port } #flushes the queue, synths anything following the command shutup() { echo -e "${authtaggy}/shutup $*" | nc $server $port } setlang() { echo -e "${authtaggy}/setlang $1" | nc $server $port } #Sample usage setlang "en_US" say "Hello, dude! Should I arm the nuke, and call bears with balalaikas and vodka?" say "You probably won't hear this phrase" shutup "Okay, being silent for now." setlang "ru_RU" say "Привет, Исден!" |