John Preston
2a409e3734
Add files from clipboard to composed album.
...
Fixes #4243 .
2017-12-29 20:02:23 +03:00
John Preston
0171a4e874
Handle click on group thumb item in MediaView.
2017-12-29 17:58:53 +03:00
John Preston
2bcbb5a5be
Display group / userpic thumbnails in MediaView.
2017-12-29 16:44:36 +03:00
John Preston
5b4694a4eb
Move text options constant to a separate module.
...
Also start MediaView group thumbs code.
2017-12-28 16:06:06 +03:00
John Preston
2569df9e5a
Rename some Ui methods.
...
myEnsureResized -> Ui::SendPendingMoveResizeEvents.
myGrab -> Ui::GrabWidget.
myGrabImage -> Ui::GrabWidgetToImage.
2017-12-26 19:20:08 +03:00
John Preston
8e45b09083
Use different indentation for rpl operators.
...
It works better with Visual Studio IDE.
2017-12-26 19:20:07 +03:00
John Preston
3b3a705a67
First working code for sending albums.
2017-12-26 19:20:06 +03:00
John Preston
e023092744
Use RectPart(s) instead of ImageRoundCorner(s).
2017-12-18 21:54:11 +04:00
John Preston
574f4a73cb
Add some checks to video sound stream decoding.
2017-12-12 18:56:37 +04:00
John Preston
97c15865a5
Move some code around.
...
Move logs:SignalHandlers to core/crash_reports:CrashReports.
Move all pre-launch windows to core/crash_report_window module.
Move some global code to core/launcher:Launcher.
It should replace settings / platform_specific module in some way.
2017-12-12 16:47:32 +04:00
John Preston
8b69e6ab99
Rename some methods in DocumentData.
...
Also fix voice message mark as read when autoplaying after previous.
Also show play icon and don't show playlist for audio files that do
not have shared music files attributes but have audio file mime type.
2017-12-10 14:28:04 +04:00
John Preston
4ef3de5287
Always specify seek position in TimeMs.
...
This way it won't rely on the sample rate of the audio file.
Fixes #4139 .
2017-12-10 12:52:38 +04:00
John Preston
5a7d8bcffb
Add audio playlist using Info::Media::ListWidget.
2017-12-09 19:13:06 +04:00
John Preston
4e2c8bbc26
Use SharedMediaMergedViewer() for audio player.
...
That way audio files and voice/video messages will play in context
(one after another with ability to go to next or previous in player)
almost always, no matter at what part of message history we are.
2017-12-09 14:02:51 +04:00
John Preston
9bbcbd4bb3
Remove all legacy media overview code.
2017-12-08 22:34:26 +04:00
John Preston
e273695cc9
Fix planar audio playback (for example .flac).
...
Also add some more crash information logging.
Fixes #4120 .
2017-12-08 12:57:43 +04:00
John Preston
a495de7cf8
Ask OpenAL to use kDefaultFrequency (48 kHz).
2017-12-02 13:27:32 +04:00
John Preston
2161858088
Fail resampling audio with inconsistent frames.
2017-12-02 12:58:52 +04:00
John Preston
13ab055fe0
Add debug information about crash in ffmpeg.
2017-11-30 15:41:15 +04:00
John Preston
f1f955b7ac
Pass already-members when adding members to channel.
2017-11-19 18:41:52 +04:00
John Preston
aec496d520
Remove RTL Override symbols from filenames.
2017-11-16 07:59:09 +04:00
John Preston
54cc3e6315
Shared media multiple items selection.
2017-11-16 07:59:07 +04:00
John Preston
65cc4d3fbc
Support item repaint in Info media overview.
2017-11-16 07:59:06 +04:00
John Preston
d1687ab963
Improve info wrapping in section / layer.
...
Also move layerwidget to window/layer_widget.
Also replace ui/effects/widget_fade_wrap with ui/wrap/fade_wrap.
2017-11-16 07:59:05 +04:00
John Preston
ffc20e4492
Divide structs into several data/ modules.
2017-11-16 07:59:04 +04:00
John Preston
c302219f9e
Use rpl in some widgets and effects.
2017-11-16 07:59:02 +04:00
John Preston
1c8db1e2e9
Fix travis build for the latest ffmpeg code.
2017-11-13 13:55:11 +04:00
John Preston
48e2a5472e
Return not_null<History*> in App::history().
2017-09-03 15:45:43 +03:00
John Preston
25ffaaaa2d
Replace t_assert() with Assert().
...
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston
b3da99c302
Replace gsl::not_null<T*> with just not_null<T*>.
2017-08-30 19:15:41 +03:00
John Preston
f2801d4775
Fix possible crash in file download after error.
...
Regression was introduced in 2fa2fa41c5
.
In file download failed handler we suggest to try to load the file
once again to the same location. After some changes we started to
forget filename before failed handler. That resulted in large files
loading to memory instead of hard drive.
Add a precondition in FileLoader to prevent such bugs in the future.
2017-08-30 19:15:34 +03:00
John Preston
012d59ab42
Use nullptr instead of std::unique_ptr<Type>().
2017-08-30 19:15:25 +03:00
John Preston
e209737b1a
Display and follow unread mentions in history.
2017-08-30 19:15:13 +03:00
John Preston
ab35829358
Remove App::app(), App::uploader(), App::api().
...
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston
96a2af842f
Remove glitch with video messages floating player.
2017-08-01 21:14:44 +03:00
John Preston
0402b4f5f4
Add X / V vector icon to checkbox Toggle view.
...
Also use them in the admin rights / restrictions boxes.
2017-07-09 18:06:27 +03:00
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
John Preston
0edca8cfdb
Alpha version 0.10.25: crash fix in aligned image creation.
2017-01-05 15:39:00 +04:00
John Preston
9d66e88fc1
Alpha 0.10.24: fixed image alignment for ffmpeg, using ffmpeg 3.2.
2017-01-05 13:08:16 +04:00
John Preston
eec5b78054
Delete for everyone checkbox added. Various bugfixes.
2017-01-01 15:47:00 +04:00
John Preston
ef927c8465
Theme preview ready.
...
Also style::color is now copyable, constructed only inside a palette.
Also macOS setup new background ready.
2016-12-30 17:53:05 +04:00
John Preston
eb4d2a38b6
Closed beta 10020003: All colors moved to palette, some bug fixes.
2016-12-30 17:53:02 +04:00
John Preston
177078b0af
Closed beta 10020002: Use default color theme link in Settings.
2016-12-30 17:53:00 +04:00
John Preston
2436ad74bd
Boxes redesigned. Common groups moved to Shared Media.
...
Also transparent images sending fixed.
2016-12-30 17:52:56 +04:00
John Preston
4692fdeb5f
Closed beta 10019013: Groups in common now are opened in a section.
2016-12-30 17:52:50 +04:00
John Preston
47977009b8
Moved FloatAnimation->Animation, Animation->BasicAnimation.
2016-12-30 17:52:48 +04:00
John Preston
06ed7b8eaf
Some more ripple animations. Now only anim::value (float64).
...
Also each FloatAnimation now stops MTP responses.
Also slide animations done by FloatAnimation.
Closed beta 10019012.
2016-12-30 17:52:46 +04:00
John Preston
b0f14d1856
Closed beta 10019011: various style improvements.
2016-12-30 17:52:39 +04:00
John Preston
8958ae0377
Typing animations from android.
2016-12-30 17:52:36 +04:00
John Preston
3cff50009c
Closed beta 10019010: unified attach button, new intro, new stickers.
...
Now all files sending is confirmed before preparing for sending.
You can paste from clipboard and drag many files at once.
2016-12-30 17:52:32 +04:00
John Preston
6e0394dd42
Stickers box redesigned.
2016-12-30 17:52:28 +04:00