Add blip rate of 0 which only plays a single blip sound per message (#659)
* Add blip rate of 0 which only plays a single blip sound per message * don't have copy-pasted code I GUESS
This commit is contained in:
parent
fa6eef8eba
commit
df1c8ccd83
@ -751,10 +751,10 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app)
|
|||||||
ui_audio_layout->setWidget(row, QFormLayout::LabelRole, ui_bliprate_lbl);
|
ui_audio_layout->setWidget(row, QFormLayout::LabelRole, ui_bliprate_lbl);
|
||||||
|
|
||||||
ui_bliprate_spinbox = new QSpinBox(ui_audio_widget);
|
ui_bliprate_spinbox = new QSpinBox(ui_audio_widget);
|
||||||
ui_bliprate_spinbox->setMinimum(1);
|
ui_bliprate_spinbox->setMinimum(0);
|
||||||
ui_bliprate_spinbox->setToolTip(
|
ui_bliprate_spinbox->setToolTip(
|
||||||
tr("Play a blip sound \"once per every X symbols\", where "
|
tr("Play a blip sound \"once per every X symbols\", where "
|
||||||
"X is the blip rate."));
|
"X is the blip rate. 0 plays a blip sound only once."));
|
||||||
|
|
||||||
ui_audio_layout->setWidget(row, QFormLayout::FieldRole, ui_bliprate_spinbox);
|
ui_audio_layout->setWidget(row, QFormLayout::FieldRole, ui_bliprate_spinbox);
|
||||||
|
|
||||||
|
@ -3614,7 +3614,7 @@ void Courtroom::chat_tick()
|
|||||||
// ! ! ! !
|
// ! ! ! !
|
||||||
// where ! is the blip sound
|
// where ! is the blip sound
|
||||||
int b_rate = blip_rate;
|
int b_rate = blip_rate;
|
||||||
// Earrape prevention without using timers, this method is more consistent.
|
// Overwhelming blip spam prevention, this method is more consistent than timers
|
||||||
if (msg_delay != 0 && msg_delay <= 25) {
|
if (msg_delay != 0 && msg_delay <= 25) {
|
||||||
// The default blip speed is 40ms, and if current msg_delay is 25ms,
|
// The default blip speed is 40ms, and if current msg_delay is 25ms,
|
||||||
// the formula will result in the blip rate of:
|
// the formula will result in the blip rate of:
|
||||||
@ -3625,7 +3625,7 @@ void Courtroom::chat_tick()
|
|||||||
qMax(b_rate, qRound(static_cast<float>(text_crawl) /
|
qMax(b_rate, qRound(static_cast<float>(text_crawl) /
|
||||||
msg_delay));
|
msg_delay));
|
||||||
}
|
}
|
||||||
if (blip_ticker % b_rate == 0) {
|
if ((blip_rate <= 0 && blip_ticker < 1) || (b_rate > 0 && blip_ticker % b_rate == 0)) {
|
||||||
// ignoring white space unless blank_blip is enabled.
|
// ignoring white space unless blank_blip is enabled.
|
||||||
if (!formatting_char && (f_character != ' ' || blank_blip)) {
|
if (!formatting_char && (f_character != ' ' || blank_blip)) {
|
||||||
blip_player->blip_tick();
|
blip_player->blip_tick();
|
||||||
|
@ -10,8 +10,8 @@ int AOApplication::read_blip_rate()
|
|||||||
{
|
{
|
||||||
int result = configini->value("blip_rate", 2).toInt();
|
int result = configini->value("blip_rate", 2).toInt();
|
||||||
|
|
||||||
if (result < 1)
|
if (result < 0)
|
||||||
return 1;
|
return 0;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user