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;
|
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;
|
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);
|
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()
|
void AOBlipPlayer::blip_tick()
|
||||||
@ -38,6 +38,8 @@ void AOBlipPlayer::blip_tick()
|
|||||||
|
|
||||||
void AOBlipPlayer::set_volume(int p_value)
|
void AOBlipPlayer::set_volume(int p_value)
|
||||||
{
|
{
|
||||||
|
m_volume = p_value;
|
||||||
|
|
||||||
float volume = p_value / 100.0f;
|
float volume = p_value / 100.0f;
|
||||||
|
|
||||||
for (int n_stream = 0 ; n_stream < 5 ; ++n_stream)
|
for (int n_stream = 0 ; n_stream < 5 ; ++n_stream)
|
||||||
|
@ -11,7 +11,7 @@ class AOBlipPlayer
|
|||||||
public:
|
public:
|
||||||
AOBlipPlayer(QWidget *parent, AOApplication *p_ao_app);
|
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 blip_tick();
|
||||||
void set_volume(int p_volume);
|
void set_volume(int p_volume);
|
||||||
|
|
||||||
@ -21,6 +21,7 @@ private:
|
|||||||
QWidget *m_parent;
|
QWidget *m_parent;
|
||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
|
|
||||||
|
int m_volume;
|
||||||
HSTREAM m_stream_list[5];
|
HSTREAM m_stream_list[5];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -25,3 +25,8 @@ void AOEvidenceButton::set_image(QString p_image)
|
|||||||
this->setStyleSheet("");
|
this->setStyleSheet("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AOEvidenceButton::on_clicked()
|
||||||
|
{
|
||||||
|
evidence_clicked(m_id);
|
||||||
|
}
|
||||||
|
@ -20,6 +20,12 @@ private:
|
|||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
|
|
||||||
int m_id;
|
int m_id;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void evidence_clicked(int p_id);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_clicked();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AOEVIDENCEBUTTON_H
|
#endif // AOEVIDENCEBUTTON_H
|
||||||
|
@ -15,7 +15,7 @@ AOMusicPlayer::~AOMusicPlayer()
|
|||||||
BASS_ChannelStop(m_stream);
|
BASS_ChannelStop(m_stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AOMusicPlayer::play(QString p_song, int p_volume)
|
void AOMusicPlayer::play(QString p_song)
|
||||||
{
|
{
|
||||||
BASS_ChannelStop(m_stream);
|
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);
|
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);
|
BASS_ChannelPlay(m_stream, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AOMusicPlayer::set_volume(int p_value)
|
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);
|
BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume);
|
||||||
|
|
||||||
|
@ -12,13 +12,14 @@ public:
|
|||||||
AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app);
|
AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app);
|
||||||
~AOMusicPlayer();
|
~AOMusicPlayer();
|
||||||
|
|
||||||
void play(QString p_song, int p_volume);
|
void play(QString p_song);
|
||||||
void set_volume(int p_value);
|
void set_volume(int p_value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget *m_parent;
|
QWidget *m_parent;
|
||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
|
|
||||||
|
int m_volume = 0;
|
||||||
HSTREAM m_stream;
|
HSTREAM m_stream;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app)
|
|||||||
ao_app = 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);
|
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);
|
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);
|
BASS_ChannelPlay(m_stream, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AOSfxPlayer::set_volume(int p_value)
|
void AOSfxPlayer::set_volume(int p_value)
|
||||||
{
|
{
|
||||||
|
m_volume = p_value;
|
||||||
|
|
||||||
float volume = p_value / 100.0f;
|
float volume = p_value / 100.0f;
|
||||||
|
|
||||||
BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume);
|
BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume);
|
||||||
|
@ -11,13 +11,14 @@ class AOSfxPlayer
|
|||||||
public:
|
public:
|
||||||
AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app);
|
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);
|
void set_volume(int p_volume);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget *m_parent;
|
QWidget *m_parent;
|
||||||
AOApplication *ao_app;
|
AOApplication *ao_app;
|
||||||
|
|
||||||
|
int m_volume = 0;
|
||||||
HSTREAM m_stream;
|
HSTREAM m_stream;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -599,6 +599,10 @@ void Courtroom::done_received()
|
|||||||
{
|
{
|
||||||
m_cid = -1;
|
m_cid = -1;
|
||||||
|
|
||||||
|
music_player->set_volume(0);
|
||||||
|
sfx_player->set_volume(0);
|
||||||
|
blip_player->set_volume(0);
|
||||||
|
|
||||||
set_char_select_page();
|
set_char_select_page();
|
||||||
|
|
||||||
set_mute_list();
|
set_mute_list();
|
||||||
@ -971,20 +975,20 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
ui_vp_objection->play("holdit");
|
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;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
ui_vp_objection->play("objection");
|
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;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
ui_vp_objection->play("takethat");
|
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;
|
break;
|
||||||
//case 4 is AO2 only
|
//case 4 is AO2 only
|
||||||
case 4:
|
case 4:
|
||||||
ui_vp_objection->play("custom", m_chatmessage[CHAR_NAME]);
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
qDebug() << "W: Logic error in objection switch statement!";
|
qDebug() << "W: Logic error in objection switch statement!";
|
||||||
@ -1102,7 +1106,7 @@ void Courtroom::handle_chatmessage_3()
|
|||||||
{
|
{
|
||||||
realization_timer->start(60);
|
realization_timer->start(60);
|
||||||
ui_vp_realization->show();
|
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]);
|
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
|
//means text is currently ticking
|
||||||
text_state = 1;
|
text_state = 1;
|
||||||
@ -1246,7 +1250,7 @@ void Courtroom::play_sfx()
|
|||||||
if (sfx_name == "1")
|
if (sfx_name == "1")
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sfx_player->play(sfx_name + ".wav", ui_sfx_slider->value());
|
sfx_player->play(sfx_name + ".wav");
|
||||||
|
|
||||||
//T0D0: add audio implementation
|
//T0D0: add audio implementation
|
||||||
//QString sfx_name = m_chatmessage[SFX_NAME];
|
//QString sfx_name = m_chatmessage[SFX_NAME];
|
||||||
@ -1399,7 +1403,7 @@ void Courtroom::handle_song(QStringList *p_contents)
|
|||||||
if (f_contents.size() < 2)
|
if (f_contents.size() < 2)
|
||||||
return;
|
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();
|
int n_char = f_contents.at(1).toInt();
|
||||||
|
|
||||||
@ -1412,7 +1416,7 @@ void Courtroom::handle_wtce(QString p_wtce)
|
|||||||
//witness testimony
|
//witness testimony
|
||||||
if (p_wtce == "testimony1")
|
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");
|
ui_vp_wtce->play("witnesstestimony");
|
||||||
testimony_in_progress = true;
|
testimony_in_progress = true;
|
||||||
show_testimony();
|
show_testimony();
|
||||||
@ -1420,7 +1424,7 @@ void Courtroom::handle_wtce(QString p_wtce)
|
|||||||
//cross examination
|
//cross examination
|
||||||
else if (p_wtce == "testimony2")
|
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");
|
ui_vp_wtce->play("crossexamination");
|
||||||
testimony_in_progress = false;
|
testimony_in_progress = false;
|
||||||
}
|
}
|
||||||
@ -1447,7 +1451,7 @@ void Courtroom::mod_called(QString p_ip)
|
|||||||
{
|
{
|
||||||
ui_server_chatlog->appendPlainText(p_ip);
|
ui_server_chatlog->appendPlainText(p_ip);
|
||||||
if (ui_guard->isChecked())
|
if (ui_guard->isChecked())
|
||||||
modcall_player->play("sfx-gallery.wav", 50);
|
modcall_player->play("sfx-gallery.wav");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Courtroom::on_ooc_return_pressed()
|
void Courtroom::on_ooc_return_pressed()
|
||||||
|
@ -326,6 +326,7 @@ private slots:
|
|||||||
void on_music_list_double_clicked(QModelIndex p_model);
|
void on_music_list_double_clicked(QModelIndex p_model);
|
||||||
|
|
||||||
void on_emote_clicked(int p_id);
|
void on_emote_clicked(int p_id);
|
||||||
|
void on_evidence_clicked(int p_id);
|
||||||
|
|
||||||
void on_emote_left_clicked();
|
void on_emote_left_clicked();
|
||||||
void on_emote_right_clicked();
|
void on_emote_right_clicked();
|
||||||
|
@ -37,7 +37,7 @@ void Courtroom::construct_emotes()
|
|||||||
++x_mod_count;
|
++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 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;
|
++y_mod_count;
|
||||||
x_mod_count = 0;
|
x_mod_count = 0;
|
||||||
|
@ -34,7 +34,7 @@ void Courtroom::construct_evidence()
|
|||||||
|
|
||||||
f_evidence->set_id(n);
|
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;
|
++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