John Preston
ef64d9c188
Show round videos in Info layer.
2018-11-05 17:18:54 +04:00
John Preston
466444e17d
Extract float player controller.
2018-11-05 15:16:09 +04:00
John Preston
b420f5b41b
Fix crash in round video playback.
2018-11-05 14:00:53 +04:00
John Preston
5192049194
Resume audio when call ends.
2018-11-04 15:51:39 +04:00
John Preston
da358615e0
Generate high quality video thumbnail when loaded.
2018-11-04 15:51:38 +04:00
John Preston
bf31722931
Show collage/slideshow as an album in MediaView.
2018-11-04 15:51:38 +04:00
John Preston
595134cab5
Move image-related modules to ui/image/.
2018-11-04 15:51:37 +04:00
John Preston
113f665295
Move Image and derived to ui/image.
2018-11-04 15:51:36 +04:00
John Preston
2812d2911f
Remove media_volume icon, use volume slider.
2018-10-15 11:06:27 +03:00
John Preston
2e5a0e056c
Move to std::optional.
2018-09-21 19:28:46 +03:00
John Preston
1ffbec0215
Finish animations disabling.
...
Replace some infinite animations with static layouts.
2018-09-20 21:26:10 +03:00
John Preston
0c8709ca5f
Replace App::self() with Auth().user().
...
Always have self Auth().user() when AuthSession exists.
2018-09-19 19:22:13 +03:00
John Preston
069232ec1b
Allow changing limits for cache in Settings.
2018-09-01 18:56:08 +03:00
John Preston
9147c12687
Add basic implementation of Storage::Cache DB.
2018-09-01 18:56:08 +03:00
John Preston
839885910c
Pass FileOrigin in all file downloads.
2018-08-20 17:26:28 +03:00
John Preston
fddc3d6ad9
Workaround MSVC 15.8 regressions.
2018-08-17 14:01:16 +03:00
John Preston
777bf7d8d9
Fix video seeking.
...
Regression was introduced in d0e854e9d8
.
Each time you hide() a widget its mousePress state is reset and
mouseMoveEvent() / mouseReleaseEvent() handlers are never called.
So you can't toggle (hide + show) widgets that are mouse-pressed.
Fixes #4802 .
2018-06-06 11:58:07 +03:00
John Preston
a42fb1f7b7
Fix microphone sandbox access request.
...
Fixes #4783 .
2018-06-04 18:39:20 +03:00
John Preston
dd81f5d59f
Replace base::lambda with shorter term.
...
base::lambda -> Fn (type alias for std::function).
base::lambda_once -> FnMut (type alias for base::unique_function).
base::lambda_guarded -> crl::guard.
base::lambda_call_type_t -> crl::deduced_call_type.
2018-06-04 18:38:27 +03:00
John Preston
d0e854e9d8
Allow showing boxes in passport panel.
2018-06-03 23:16:35 +03:00
John Preston
1392e05ab1
Move all gsl::byte helpers to base/bytes module.
2018-06-03 23:16:34 +03:00
John Preston
5e7642b42a
Support markdown and replaces in media captions.
2018-05-24 16:03:21 +03:00
John Preston
87d6081408
Version 1.2.16: Fix build in Xcode 9.3.
2018-04-07 12:47:08 +04:00
John Preston
eb00641dfa
Mark autoplayed voice/video messages as read.
2018-03-10 00:55:58 +03:00
John Preston
8bacc74d8b
Request dialog list entries when needed.
...
Also save the original server-side int32 date in HistoryItems.
2018-02-08 12:20:54 +03:00
John Preston
a47981054f
Feed info profile placeholder.
2018-02-08 12:20:51 +03:00
John Preston
89941a8e83
Fix layout update notifications in Info::Media.
2018-02-08 12:20:50 +03:00
John Preston
861ab85ca1
Fix voice/video messages in chats/feed.
2018-02-08 12:20:50 +03:00
John Preston
91f369a0b3
Handle view resize/repaint requests for mainView.
2018-02-08 12:20:49 +03:00
John Preston
04c8c95634
Use notify* instead of mark* in Data::Session.
2018-02-08 12:20:49 +03:00
John Preston
8a56ede187
Move all (item/view/media) maps to Data::Session.
2018-02-08 12:20:49 +03:00
John Preston
7425e80f05
Use HistoryMedia as view, add Data::Media.
2018-02-08 12:20:48 +03:00
John Preston
97a9089ebf
Move draw / getState code to HistoryView::Message.
...
Item dimensions broken for now.
Also remove history.h from pch.
2018-02-08 12:20:48 +03:00
John Preston
bee474f6e9
Remove history_item and layout from pch.
...
Also move some code to separate modules.
Also create history item views by Window::Controller.
2018-02-08 12:20:47 +03:00
John Preston
794e31505b
First version of feed section view.
2018-02-08 12:20:46 +03:00
John Preston
6a9556d42c
Move non-settings session data to Data::Session.
...
Rename AuthSessionData to AuthSessionSettings, move data away.
2018-02-08 12:20:46 +03:00
John Preston
ea7441ae77
Use single LEGAL file with license and copyright.
2018-01-03 13:23:14 +03:00
John Preston
e89350d4b7
Reuse resample code from FFMpegLoader for video.
...
AbstractAudioFFMpegLoader used in FFMpegLoader and ChildFFMpegLoader.
2018-01-02 20:22:13 +03:00
John Preston
95399bef2b
Improve swresample library usage.
...
It looks like different AVFrame-s can have different audio encoding
parameters, so now we setup/re-setup swr context using parameters
from current audio frame. Hopefully it will fix some audio crashes.
2018-01-02 19:18:53 +03:00
John Preston
af552fb4c0
Replace base/task_queue with crl.
2017-12-31 00:28:38 +03:00
John Preston
ea51f976f2
Alpha version 1.2.5: Workaround GCC 7.2 ICE.
2017-12-29 21:47:49 +03:00
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