133 Commits

Author SHA1 Message Date
John Preston 66b38ccb5f Pause animations only if video message isn't paused. 2026-04-17 12:31:58 +07:00
23rd 883a61e5a0 Split voice and audio playback speeds. 2026-04-03 09:23:42 +03:00
John Preston 5b3d9cf3ba Track song listenings. 2026-03-25 13:08:49 +07:00
John Preston 6564a42f21 Fix saved music shuffled playing.
Fixes https://bugs.telegram.org/c/60020
2026-03-10 15:50:53 +04:00
23rd eca8dfb0ec Renamed rpl::start_with_ with rpl::on_. 2025-12-10 21:28:33 +03:00
John Preston 6211b7733d Support saved music playlist. 2025-08-31 20:53:11 +04:00
John Preston dfc1ec3ccf Support shared media / pins for sublists. 2025-06-04 10:00:23 +04:00
John Preston 6a415cf232 Support on-hover autoplay and position save. 2025-02-12 17:24:24 +04:00
John Preston d6ac883efa Implement adaptive quality selection. 2024-10-31 18:04:17 +04:00
John Preston 6287d306c2 Add better discard confirmations. 2024-10-24 13:26:46 +04:00
John Preston 6cfa053328 Add recorded round video preview. 2024-10-24 13:26:45 +04:00
23rd 85286684e3 Added initial support for voice messages with TTL. 2023-12-31 19:42:23 +04:00
John Preston 1eff68813d Reuse new speed change control for video. 2023-03-15 13:36:40 +04:00
John Preston 9c74c04738 Implement audio speed using libavfilter. 2023-03-08 16:10:36 +04:00
John Preston ec3957fcf3 Active round video moving to active window. 2023-01-19 11:42:00 +04:00
John Preston 0f234188e1 Fix crash in SystemMediaControls init. 2023-01-19 09:57:33 +04:00
John Preston cdfdccbb66 Detach SystemMediaControls from Window::Controller. 2023-01-19 09:46:20 +04:00
John Preston 7023b013ce Initial support of separate windows for accounts. 2023-01-19 09:45:28 +04:00
John Preston ad3f8e72a0 Remove namespace App. 2022-11-30 17:28:09 +04:00
John Preston 644ec1f599 Remove base::Observable / base::Variable. 2022-11-11 11:43:24 +04:00
John Preston 58b8eb8e96 Implement per-topic shared media. 2022-11-01 19:25:37 +04:00
23rd f469cab7b0 Added disable-autoplay-next option. 2022-03-05 12:40:49 +03:00
John Preston 0192edbe84 Handle documentLoadProgress instead of itemRepaintRequest. 2022-03-01 17:32:39 +03:00
John Preston dde4868540 Add phrases to lang.string. 2022-02-27 20:26:52 +03:00
John Preston f918c6bb83 Pass QWindow to PowerSaveBlocker. 2022-02-04 09:43:56 +03:00
John Preston 9c01295521 Create PowerSaveBlocker-s on calls / video / audio. 2022-02-02 12:05:33 +03:00
John Preston 5e7e7eaa83 FullMsgId rely on PeerId instead of ChannelId. 2021-12-22 10:11:57 +00:00
John Preston ca61b80fe5 Update audio player icons. 2021-11-26 18:00:21 +04:00
John Preston 38367dc1c7 Allow repeat all in shuffle mode. 2021-11-26 18:00:21 +04:00
John Preston 433169626b Fix restarting shuffled playlist. 2021-11-26 18:00:21 +04:00
John Preston 5cd339332c Implement shuffled playlist. 2021-11-26 18:00:20 +04:00
John Preston 7d89952541 Edit noforwards in group / channel type. 2021-11-26 18:00:20 +04:00
John Preston 0309eb023e Cycle through repeat modes by repeat toggle button. 2021-11-26 18:00:20 +04:00
John Preston ecb4d1d9ba Support repeat all in the audio player. 2021-11-26 18:00:20 +04:00
John Preston 68378cf8e5 Support reversed order in the playlist. 2021-11-26 18:00:20 +04:00
John Preston 74cfaff100 Migrate Media::Player::Instance to rpl. 2021-11-26 18:00:20 +04:00
John Preston 92e2b91f81 Add repeat / order controls to the audio player. 2021-11-26 18:00:20 +04:00
John Preston c534f3f22e Some internal HistoryItem refactoring.
Replace most IsServerMsgId / id <=> 0 with isRegular().
Track isLocal / isHistoryEntry in flags.
Remove toHistoryMessage.
2021-11-07 12:50:13 +04:00
John Preston 19ce1edc16 Use base::SafeRound instead of std::round.
Previous assertion violations because of NaN from std::round were
in video streaming, see commits 27d58ba07b, 8f5830d520.

Now the crashes happened in the ConvertScale() call from a background
thread when preparing an image from clipboard for sending to a chat.
2021-09-27 12:13:57 +04:00
23rd bcbab7ad8e Added ability to change playback speed for long audio files. 2021-09-01 01:23:20 +03:00
23rd b635a9d4a5 Changed voice playback speed setting to storage value of speed. 2021-09-01 01:23:20 +03:00
Ilya Fedin 79cc797aff Fix -Wunused-variable warnings 2021-07-13 21:43:34 +03:00
23rd 4753a57091 Added ability to validate playlists in section of scheduled messages. 2021-07-01 23:53:45 +03:00
23rd 3fd772ce17 Moved file click handlers to separated file. 2021-06-18 07:30:54 +03:00
23rd 8356bac6d7 Added new event of seeking to media player. 2021-06-10 23:00:55 +03:00
Ilya Fedin 86be105c25 Media Play key is expected to behave like Toggle Media Play/Pause
Looks like Qt maps "Media Play" to the common play/pause button on keyboards:
https://github.com/qt/qtbase/blob/5.15/src/platformsupport/input/xkbcommon/qxkbcommon.cpp#L293
https://github.com/qt/qtbase/blob/5.15/src/plugins/platforms/windows/qwindowskeymapper.cpp#L392
https://github.com/qt/qtbase/blob/5.15/src/plugins/platforms/android/androidjniinput.cpp#L519
https://github.com/qt/qtbase/blob/5.15/src/plugins/platforms/android/androidjniinput.cpp#L607

While "Toggle Media Play/Pause" is some special case:
https://github.com/qt/qtbase/blob/5.15/src/plugins/platforms/windows/qwindowskeymapper.cpp#L488
https://github.com/qt/qtbase/blob/5.15/src/plugins/platforms/ios/quiview.mm#L584

It is worth to behave on "Media Play" like on "Toggle Media Play/Pause".
2020-12-08 21:20:26 +03:00
John Preston 41591ff2e9 Add group calls top bar. 2020-12-01 09:45:21 +03:00
John Preston 3d54a263b8 Stop playing documents when items are deleted. 2020-10-23 15:22:38 +03:00
John Preston 734d834a20 Replace mapbox variant with std::variant. 2020-09-29 19:03:19 +03:00
23rd ed4b90717a Added new rpl events to Media::Player::Instance for stop/start.
Removed unused playerWidgetToggled event.
2020-07-15 22:10:06 +04:00