riot-web/res/css/views/rooms
Travis Ralston c2d37af1cb Move playback to its own set of classes
This all started with a bug where the clock wouldn't update appropriately, and ended with a whole refactoring to support later playback in the timeline.

Playback and recording instances are now independent, and this applies to the <Playback* /> components as well. Instead of those playback components taking a recording, they take a playback instance which has all the information the components need.

The clock was incredibly difficult to do because of the audio context's time tracking and the source's inability to say where it is at in the buffer/in time. This means we have to track when we started playing the clip so we can capture the audio context's current time, which may be a few seconds by the first time the user hits play. We also track stops so we know when to reset that flag.

Waveform calculations have also been moved into the base component, deduplicating the math a bit.
2021-04-27 22:23:57 -06:00
..
_AppsDrawer.scss
_Autocomplete.scss
_AuxPanel.scss
_BasicMessageComposer.scss
_E2EIcon.scss
_EditMessageComposer.scss
_EntityTile.scss
_EventTile.scss
_GroupLayout.scss
_IRCLayout.scss
_JumpToBottomButton.scss
_LinkPreviewWidget.scss
_MemberInfo.scss
_MemberList.scss
_MessageComposer.scss
_MessageComposerFormatBar.scss
_NewRoomIntro.scss
_NotificationBadge.scss
_PinnedEventTile.scss
_PinnedEventsPanel.scss
_PresenceLabel.scss
_ReplyPreview.scss
_RoomBreadcrumbs.scss
_RoomHeader.scss
_RoomList.scss
_RoomPreviewBar.scss
_RoomSublist.scss
_RoomTile.scss
_RoomUpgradeWarningBar.scss
_SearchBar.scss
_SendMessageComposer.scss
_Stickers.scss
_TopUnreadMessagesBar.scss
_VoiceRecordComposerTile.scss Move playback to its own set of classes 2021-04-27 22:23:57 -06:00
_WhoIsTypingTile.scss