refactored sound
This commit is contained in:
parent
267fe47c5f
commit
7c20ad7292
@ -10,7 +10,7 @@ AOBlipPlayer::AOBlipPlayer(QWidget *parent, AOApplication *p_ao_app)
|
||||
ao_app = p_ao_app;
|
||||
}
|
||||
|
||||
void AOBlipPlayer::set_blips(QString p_sfx, int p_volume)
|
||||
void AOBlipPlayer::set_blips(QString p_sfx)
|
||||
{
|
||||
QString f_path = ao_app->get_sounds_path() + p_sfx;
|
||||
|
||||
@ -21,7 +21,7 @@ void AOBlipPlayer::set_blips(QString p_sfx, int p_volume)
|
||||
m_stream_list[n_stream] = BASS_StreamCreateFile(FALSE, f_path.toStdString().c_str(), 0, 0, 0);
|
||||
}
|
||||
|
||||
set_volume(p_volume);
|
||||
set_volume(m_volume);
|
||||
}
|
||||
|
||||
void AOBlipPlayer::blip_tick()
|
||||
@ -38,6 +38,8 @@ void AOBlipPlayer::blip_tick()
|
||||
|
||||
void AOBlipPlayer::set_volume(int p_value)
|
||||
{
|
||||
m_volume = p_value;
|
||||
|
||||
float volume = p_value / 100.0f;
|
||||
|
||||
for (int n_stream = 0 ; n_stream < 5 ; ++n_stream)
|
||||
|
@ -11,7 +11,7 @@ class AOBlipPlayer
|
||||
public:
|
||||
AOBlipPlayer(QWidget *parent, AOApplication *p_ao_app);
|
||||
|
||||
void set_blips(QString p_sfx, int p_volume);
|
||||
void set_blips(QString p_sfx);
|
||||
void blip_tick();
|
||||
void set_volume(int p_volume);
|
||||
|
||||
@ -21,6 +21,7 @@ private:
|
||||
QWidget *m_parent;
|
||||
AOApplication *ao_app;
|
||||
|
||||
int m_volume;
|
||||
HSTREAM m_stream_list[5];
|
||||
};
|
||||
|
||||
|
@ -25,3 +25,8 @@ void AOEvidenceButton::set_image(QString p_image)
|
||||
this->setStyleSheet("");
|
||||
}
|
||||
}
|
||||
|
||||
void AOEvidenceButton::on_clicked()
|
||||
{
|
||||
evidence_clicked(m_id);
|
||||
}
|
||||
|
@ -20,6 +20,12 @@ private:
|
||||
AOApplication *ao_app;
|
||||
|
||||
int m_id;
|
||||
|
||||
signals:
|
||||
void evidence_clicked(int p_id);
|
||||
|
||||
private slots:
|
||||
void on_clicked();
|
||||
};
|
||||
|
||||
#endif // AOEVIDENCEBUTTON_H
|
||||
|
@ -15,7 +15,7 @@ AOMusicPlayer::~AOMusicPlayer()
|
||||
BASS_ChannelStop(m_stream);
|
||||
}
|
||||
|
||||
void AOMusicPlayer::play(QString p_song, int p_volume)
|
||||
void AOMusicPlayer::play(QString p_song)
|
||||
{
|
||||
BASS_ChannelStop(m_stream);
|
||||
|
||||
@ -23,14 +23,16 @@ void AOMusicPlayer::play(QString p_song, int p_volume)
|
||||
|
||||
m_stream = BASS_StreamCreateFile(FALSE, f_path.toStdString().c_str(), 0, 0, BASS_STREAM_AUTOFREE);
|
||||
|
||||
this->set_volume(p_volume);
|
||||
this->set_volume(m_volume);
|
||||
|
||||
BASS_ChannelPlay(m_stream, false);
|
||||
}
|
||||
|
||||
void AOMusicPlayer::set_volume(int p_value)
|
||||
{
|
||||
float volume = p_value / 100.0f;
|
||||
m_volume = p_value;
|
||||
|
||||
float volume = m_volume / 100.0f;
|
||||
|
||||
BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume);
|
||||
|
||||
|
@ -12,13 +12,14 @@ public:
|
||||
AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app);
|
||||
~AOMusicPlayer();
|
||||
|
||||
void play(QString p_song, int p_volume);
|
||||
void play(QString p_song);
|
||||
void set_volume(int p_value);
|
||||
|
||||
private:
|
||||
QWidget *m_parent;
|
||||
AOApplication *ao_app;
|
||||
|
||||
int m_volume = 0;
|
||||
HSTREAM m_stream;
|
||||
};
|
||||
|
||||
|
@ -10,7 +10,7 @@ AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app)
|
||||
ao_app = p_ao_app;
|
||||
}
|
||||
|
||||
void AOSfxPlayer::play(QString p_sfx, int p_volume, QString p_char)
|
||||
void AOSfxPlayer::play(QString p_sfx, QString p_char)
|
||||
{
|
||||
BASS_ChannelStop(m_stream);
|
||||
|
||||
@ -23,13 +23,15 @@ void AOSfxPlayer::play(QString p_sfx, int p_volume, QString p_char)
|
||||
|
||||
m_stream = BASS_StreamCreateFile(FALSE, f_path.toStdString().c_str(), 0, 0, BASS_STREAM_AUTOFREE);
|
||||
|
||||
set_volume(p_volume);
|
||||
set_volume(m_volume);
|
||||
|
||||
BASS_ChannelPlay(m_stream, false);
|
||||
}
|
||||
|
||||
void AOSfxPlayer::set_volume(int p_value)
|
||||
{
|
||||
m_volume = p_value;
|
||||
|
||||
float volume = p_value / 100.0f;
|
||||
|
||||
BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume);
|
||||
|
@ -11,13 +11,14 @@ class AOSfxPlayer
|
||||
public:
|
||||
AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app);
|
||||
|
||||
void play(QString p_sfx, int p_volume, QString p_char = "");
|
||||
void play(QString p_sfx, QString p_char = "");
|
||||
void set_volume(int p_volume);
|
||||
|
||||
private:
|
||||
QWidget *m_parent;
|
||||
AOApplication *ao_app;
|
||||
|
||||
int m_volume = 0;
|
||||
HSTREAM m_stream;
|
||||
};
|
||||
|
||||
|
@ -599,6 +599,10 @@ void Courtroom::done_received()
|
||||
{
|
||||
m_cid = -1;
|
||||
|
||||
music_player->set_volume(0);
|
||||
sfx_player->set_volume(0);
|
||||
blip_player->set_volume(0);
|
||||
|
||||
set_char_select_page();
|
||||
|
||||
set_mute_list();
|
||||
@ -971,20 +975,20 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
|
||||
{
|
||||
case 1:
|
||||
ui_vp_objection->play("holdit");
|
||||
sfx_player->play("holdit.wav", ui_sfx_slider->value(), m_chatmessage[CHAR_NAME]);
|
||||
sfx_player->play("holdit.wav", m_chatmessage[CHAR_NAME]);
|
||||
break;
|
||||
case 2:
|
||||
ui_vp_objection->play("objection");
|
||||
sfx_player->play("objection.wav", ui_sfx_slider->value(), m_chatmessage[CHAR_NAME]);
|
||||
sfx_player->play("objection.wav", m_chatmessage[CHAR_NAME]);
|
||||
break;
|
||||
case 3:
|
||||
ui_vp_objection->play("takethat");
|
||||
sfx_player->play("takethat.wav", ui_sfx_slider->value(), m_chatmessage[CHAR_NAME]);
|
||||
sfx_player->play("takethat.wav", m_chatmessage[CHAR_NAME]);
|
||||
break;
|
||||
//case 4 is AO2 only
|
||||
case 4:
|
||||
ui_vp_objection->play("custom", m_chatmessage[CHAR_NAME]);
|
||||
sfx_player->play("custom.wav", ui_sfx_slider->value(), m_chatmessage[CHAR_NAME]);
|
||||
sfx_player->play("custom.wav", m_chatmessage[CHAR_NAME]);
|
||||
break;
|
||||
default:
|
||||
qDebug() << "W: Logic error in objection switch statement!";
|
||||
@ -1102,7 +1106,7 @@ void Courtroom::handle_chatmessage_3()
|
||||
{
|
||||
realization_timer->start(60);
|
||||
ui_vp_realization->show();
|
||||
sfx_player->play("sfx-realization.wav", ui_sfx_slider->value());
|
||||
sfx_player->play("sfx-realization.wav");
|
||||
}
|
||||
|
||||
}
|
||||
@ -1179,7 +1183,7 @@ void Courtroom::start_chat_ticking()
|
||||
|
||||
QString f_gender = ao_app->get_gender(m_chatmessage[CHAR_NAME]);
|
||||
|
||||
blip_player->set_blips("sfx-blip" + f_gender + ".wav", ui_blip_slider->value());
|
||||
blip_player->set_blips("sfx-blip" + f_gender + ".wav");
|
||||
|
||||
//means text is currently ticking
|
||||
text_state = 1;
|
||||
@ -1246,7 +1250,7 @@ void Courtroom::play_sfx()
|
||||
if (sfx_name == "1")
|
||||
return;
|
||||
|
||||
sfx_player->play(sfx_name + ".wav", ui_sfx_slider->value());
|
||||
sfx_player->play(sfx_name + ".wav");
|
||||
|
||||
//T0D0: add audio implementation
|
||||
//QString sfx_name = m_chatmessage[SFX_NAME];
|
||||
@ -1399,7 +1403,7 @@ void Courtroom::handle_song(QStringList *p_contents)
|
||||
if (f_contents.size() < 2)
|
||||
return;
|
||||
|
||||
music_player->play(f_contents.at(0), ui_music_slider->value());
|
||||
music_player->play(f_contents.at(0));
|
||||
|
||||
int n_char = f_contents.at(1).toInt();
|
||||
|
||||
@ -1412,7 +1416,7 @@ void Courtroom::handle_wtce(QString p_wtce)
|
||||
//witness testimony
|
||||
if (p_wtce == "testimony1")
|
||||
{
|
||||
sfx_player->play("sfx-testimony2.wav", ui_sfx_slider->value());
|
||||
sfx_player->play("sfx-testimony2.wav");
|
||||
ui_vp_wtce->play("witnesstestimony");
|
||||
testimony_in_progress = true;
|
||||
show_testimony();
|
||||
@ -1420,7 +1424,7 @@ void Courtroom::handle_wtce(QString p_wtce)
|
||||
//cross examination
|
||||
else if (p_wtce == "testimony2")
|
||||
{
|
||||
sfx_player->play("sfx-testimony.wav", ui_sfx_slider->value());
|
||||
sfx_player->play("sfx-testimony.wav");
|
||||
ui_vp_wtce->play("crossexamination");
|
||||
testimony_in_progress = false;
|
||||
}
|
||||
@ -1447,7 +1451,7 @@ void Courtroom::mod_called(QString p_ip)
|
||||
{
|
||||
ui_server_chatlog->appendPlainText(p_ip);
|
||||
if (ui_guard->isChecked())
|
||||
modcall_player->play("sfx-gallery.wav", 50);
|
||||
modcall_player->play("sfx-gallery.wav");
|
||||
}
|
||||
|
||||
void Courtroom::on_ooc_return_pressed()
|
||||
|
@ -326,6 +326,7 @@ private slots:
|
||||
void on_music_list_double_clicked(QModelIndex p_model);
|
||||
|
||||
void on_emote_clicked(int p_id);
|
||||
void on_evidence_clicked(int p_id);
|
||||
|
||||
void on_emote_left_clicked();
|
||||
void on_emote_right_clicked();
|
||||
|
@ -37,7 +37,7 @@ void Courtroom::construct_emotes()
|
||||
++x_mod_count;
|
||||
|
||||
//if emote number is divisible by columns with rest columns -1 then the next emote button should start on a new line
|
||||
if ((n % emote_columns) == (emote_columns - 1) && (n != 0))
|
||||
if (x_mod_count == emote_columns)
|
||||
{
|
||||
++y_mod_count;
|
||||
x_mod_count = 0;
|
||||
|
@ -34,7 +34,7 @@ void Courtroom::construct_evidence()
|
||||
|
||||
f_evidence->set_id(n);
|
||||
|
||||
//connect(f_evidence, SIGNAL(evidence_clicked(int)), this, SLOT(on_evidence_clicked(int)));
|
||||
connect(f_evidence, SIGNAL(evidence_clicked(int)), this, SLOT(on_evidence_clicked(int)));
|
||||
|
||||
++x_mod_count;
|
||||
|
||||
@ -45,3 +45,10 @@ void Courtroom::construct_evidence()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Courtroom::on_evidence_clicked(int p_id)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user