Browse Source

feat(call): add call end sound

Fix #4905
reviewable/pr5056/r2
Anthony Bilinski 7 years ago
parent
commit
65896e4501
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
  1. BIN
      audio/ToxEndCall.pcm
  2. 1
      res.qrc
  3. 5
      src/audio/audio.h
  4. 1
      src/widget/form/chatform.cpp
  5. 1
      src/widget/form/chatform.h
  6. 7
      src/widget/widget.cpp
  7. 1
      src/widget/widget.h

BIN
audio/ToxEndCall.pcm

Binary file not shown.

1
res.qrc

@ -9,6 +9,7 @@
<file>audio/notification.pcm</file> <file>audio/notification.pcm</file>
<file>audio/ToxIncomingCall.pcm</file> <file>audio/ToxIncomingCall.pcm</file>
<file>audio/ToxOutgoingCall.pcm</file> <file>audio/ToxOutgoingCall.pcm</file>
<file>audio/ToxEndCall.pcm</file>
<file>img/add.svg</file> <file>img/add.svg</file>
<file>img/avatar_mask.svg</file> <file>img/avatar_mask.svg</file>
<file>img/contact.svg</file> <file>img/contact.svg</file>

5
src/audio/audio.h

@ -40,7 +40,8 @@ public:
NewMessage, NewMessage,
Test, Test,
IncomingCall, IncomingCall,
OutgoingCall OutgoingCall,
CallEnd
}; };
inline static QString getSound(Sound s) inline static QString getSound(Sound s)
@ -54,6 +55,8 @@ public:
return QStringLiteral(":/audio/ToxIncomingCall.pcm"); return QStringLiteral(":/audio/ToxIncomingCall.pcm");
case Sound::OutgoingCall: case Sound::OutgoingCall:
return QStringLiteral(":/audio/ToxOutgoingCall.pcm"); return QStringLiteral(":/audio/ToxOutgoingCall.pcm");
case Sound::CallEnd:
return QStringLiteral(":/audio/ToxEndCall.pcm");
} }
assert(false); assert(false);
return QString(); return QString();

1
src/widget/form/chatform.cpp

@ -402,6 +402,7 @@ void ChatForm::onAvEnd(uint32_t friendId, bool error)
} }
emit stopNotification(); emit stopNotification();
emit endCallNotification();
updateCallButtons(); updateCallButtons();
stopCounter(error); stopCounter(error);
hideNetcam(); hideNetcam();

1
src/widget/form/chatform.h

@ -60,6 +60,7 @@ signals:
void incomingNotification(uint32_t friendId); void incomingNotification(uint32_t friendId);
void outgoingNotification(); void outgoingNotification();
void stopNotification(); void stopNotification();
void endCallNotification();
void rejectCall(uint32_t friendId); void rejectCall(uint32_t friendId);
void acceptCall(uint32_t friendId); void acceptCall(uint32_t friendId);

7
src/widget/widget.cpp

@ -955,6 +955,12 @@ void Widget::outgoingNotification()
audio.playMono16Sound(Audio::getSound(Audio::Sound::OutgoingCall)); audio.playMono16Sound(Audio::getSound(Audio::Sound::OutgoingCall));
} }
void Widget::onCallEnd()
{
Audio& audio = Audio::getInstance();
audio.playMono16Sound(Audio::getSound(Audio::Sound::CallEnd));
}
/** /**
* @brief Widget::onStopNotification Stop the notification sound. * @brief Widget::onStopNotification Stop the notification sound.
*/ */
@ -997,6 +1003,7 @@ void Widget::addFriend(uint32_t friendId, const ToxPk& friendPk)
connect(friendForm, &ChatForm::incomingNotification, this, &Widget::incomingNotification); connect(friendForm, &ChatForm::incomingNotification, this, &Widget::incomingNotification);
connect(friendForm, &ChatForm::outgoingNotification, this, &Widget::outgoingNotification); connect(friendForm, &ChatForm::outgoingNotification, this, &Widget::outgoingNotification);
connect(friendForm, &ChatForm::stopNotification, this, &Widget::onStopNotification); connect(friendForm, &ChatForm::stopNotification, this, &Widget::onStopNotification);
connect(friendForm, &ChatForm::endCallNotification, this, &Widget::onCallEnd);
connect(friendForm, &ChatForm::rejectCall, this, &Widget::onRejectCall); connect(friendForm, &ChatForm::rejectCall, this, &Widget::onRejectCall);
connect(widget, &FriendWidget::newWindowOpened, this, &Widget::openNewDialog); connect(widget, &FriendWidget::newWindowOpened, this, &Widget::openNewDialog);

1
src/widget/widget.h

@ -218,6 +218,7 @@ private slots:
void groupInvitesClear(); void groupInvitesClear();
void onDialogShown(GenericChatroomWidget* widget); void onDialogShown(GenericChatroomWidget* widget);
void outgoingNotification(); void outgoingNotification();
void onCallEnd();
void incomingNotification(uint32_t friendId); void incomingNotification(uint32_t friendId);
void onRejectCall(uint32_t friendId); void onRejectCall(uint32_t friendId);
void onStopNotification(); void onStopNotification();

Loading…
Cancel
Save