John Preston
da0d78135d
Some refactoring in working with text entities.
...
Also move this code to TextUtilities namespace.
2017-07-06 14:37:42 +03:00
John Preston
3b864d63b9
Fix crash in audio player destructor.
2017-06-30 09:21:44 +03:00
John Preston
cedf8a65e7
Better channel log entry layout inside messages.
...
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston
e39b95175b
Handle channel event log mouse events.
2017-06-30 09:21:42 +03:00
John Preston
110e7c8074
Finalize rename / move.
2017-06-29 11:39:38 +03:00
John Preston
66662e02a6
Fix crash in video player seeking.
...
Regression was introduced in 87ff770020
.
Seek handler may destroy controller so first the playback is updated.
2017-05-31 11:58:43 +03:00
John Preston
6148b78745
Read after AVERROR_INVALIDDATA in video sound.
...
Partially reverse c1c3e4af5b
that stopped on error in such cases.
2017-05-26 17:18:58 +03:00
John Preston
10e34aa996
Fix a crash in round videos with a message text.
2017-05-26 15:20:11 +03:00
John Preston
e0978f86d1
Alpha 1.1.3: Fix some render in macOS.
2017-05-24 17:36:58 +03:00
John Preston
25587d7e8e
Replace different side enums with RectPart.
...
Including Ui::Shadow::Side, App::RectPart and ImportantTooltip::Side.
2017-05-24 16:25:20 +03:00
John Preston
c91e29d15d
Improve floating player show / hide animations.
...
Also replace Window::Corner with a generic RectPart enumeration.
2017-05-24 16:25:20 +03:00
John Preston
ee6d80673a
Snap floating player to column and corner.
2017-05-24 16:25:17 +03:00
John Preston
8f290451b6
Handle mouse clicks in floating player widget.
2017-05-24 16:25:16 +03:00
John Preston
c58a48276f
Hide floating player if video message is visible.
2017-05-24 16:25:15 +03:00
John Preston
b7550f63c9
Add a floating player for round video messages.
2017-05-24 16:25:15 +03:00
John Preston
0bfff65306
Add an animated scroll to current media message.
2017-05-24 16:25:14 +03:00
John Preston
9332032839
Click on media player goes to voice/video message.
2017-05-24 16:25:12 +03:00
John Preston
7873cb4373
Using media player for voice / video messages.
...
Media::Player::Widget displays the current voice / video message
if it is played and the current song otherwise.
It is created when a voice / video message starts and is destroyed
when all the voice / video messages in the playlist are finished.
2017-05-24 16:25:12 +03:00
John Preston
611a3e2f8a
Handle voice playlist in Media::Player::Instance.
...
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston
b9119e5ef6
Play video messages as Type::Voice.
...
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +03:00
John Preston
5915f3f928
Display radial playback progress in round videos.
2017-05-24 16:25:07 +03:00
John Preston
87ff770020
Make Media::Clip::Playback independent of slider.
...
Now animation of the playback progress is processed inside the
Media::Clip::Playback and the sliders just hold plain float64 value.
2017-05-24 16:25:06 +03:00
John Preston
565b56fb5f
Pause all media if a call is created.
...
Pause video, voice messages, songs and stop video messages.
2017-05-12 20:44:18 +03:00
John Preston
23874a0a26
Animate call answer button with an outer ripple.
2017-05-09 23:46:39 +03:00
John Preston
96a0fcb28f
Closed beta 1000035001.
2017-05-09 23:46:32 +03:00
John Preston
2e816f2a67
Play notification sound using Media::Audio::Track.
2017-05-09 23:46:30 +03:00
John Preston
6f89d01452
Add new Media::Audio::Instance for audio tracks.
...
Move some audio-related code from Media::Player to Media::Audio.
2017-05-09 23:46:29 +03:00
John Preston
e8a3535c74
Support audio documents playback inside app.
...
Also add some more decoders in ffmpeg configuration (wav).
Also stop audio device restart on PKEY_AudioEndpoint changes.
Also deduce channel layout from channel count in ffmpeg loaders.
2017-04-30 14:34:23 +03:00
John Preston
7312114b75
Use full volume for video messages.
...
Set video volume to VideoVolume in MediaView and to 1 in HistoryGif.
2017-04-15 22:51:53 +03:00
John Preston
4e5c4a462b
Fix crash in videoplayer audio stream loader.
...
Regression was introduced in 835b1801bc
.
2017-04-15 20:32:14 +03:00
John Preston
835b1801bc
Remove Q_OBJECT dependency from ApiWrap.
...
Also remove it from SingleDelayedCall -> SingleQueuedInvocation.
2017-04-07 18:13:19 +03:00
John Preston
5666f14829
Allow audio and video files with duration < 1s.
2017-03-27 15:50:40 +03:00
John Preston
a1b53c660e
Show video thumbnail in SendFileBox.
...
Read media information (image / song / video) in SendFileBox in the
same way it is read in FileLoadTask::process() and reuse it in
FileLoadTask if it was loaded already for the box.
2017-03-10 17:14:10 +03:00
John Preston
9ed8cbe2d1
Send mp4 and quicktime files as videos.
2017-03-10 17:12:51 +03:00
John Preston
31009b19c6
Removed obsolete storage_file_type fields.
2017-03-04 14:28:21 +03:00
John Preston
08167a6a91
Removed #include "stdafx.h" from all files.
...
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).
So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00
John Preston
5f5770dd46
Support special seek whence for ffmpeg.
...
AVSEEK_SIZE is passed as a whence when ffmpeg needs just data size.
2017-03-01 10:31:36 +03:00
John Preston
c207743338
Made base::lambda a copyable value type.
...
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston
ffc557a0f9
Using standard library instead of std_ namespace.
...
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston
25583fa813
Replace T_WIDGET macro with a template base class.
2017-02-11 14:24:37 +03:00
John Preston
61b55706ae
Alpha 1.0.9: crash fix in video playback.
...
Media::Player::Instance started to notify about all sound
playback updates, even for video files (which do not have
DocumentData filled in), while Media::Player widgets were
relying on the existance of DocumentData in each update.
2017-02-11 11:00:21 +03:00
John Preston
e922e5be39
Alpha 1.0.8: seek in voice messages (by waveform).
2017-02-11 01:37:37 +03:00
John Preston
b842761ea3
Closed beta 1000006001: Built in theme and color palette editor.
2017-02-07 17:56:33 +03:00
John Preston
d1b9b8e3a3
Alpha 1.0.4: Click and drag to reorder pinned chats.
2017-01-30 18:27:13 +03:00
John Preston
b21f72fef0
Fixed build for old OS X.
2017-01-27 10:25:43 +03:00
John Preston
697fdd4294
Alpha 1.0.3: audio device opened only when some sound is played.
...
Also on Windows Vista and later audio device should switch after
the system default audio output device is changed.
2017-01-27 10:08:59 +03:00
John Preston
4964b8b488
Beta 1000002001: Recreate audio device when no output or device changes.
2017-01-25 08:45:09 +03:00
John Preston
6ae68b337d
Audio capture moved to a separate module.
2017-01-25 00:25:21 +03:00
John Preston
7fb1463c43
Version 1.0 stable: bump copyright date to 2017.
2017-01-11 23:02:13 +04:00
John Preston
c09dab2b3a
MediaView save message fixed. Sticker pan size updated correctly.
2017-01-09 18:00:56 +04:00