Commit Graph

35 Commits

Author SHA1 Message Date
Rob Watson 6ba19b3e01 Bug fix: prevent incorrect selectionChange callbacks
continuous-integration/drone/push Build is passing Details
When re-rendering the HudCanvas component, the selectionChange callback
should not be triggered with the passed-in properties. Doing so leads to
incorrect selection values being bubbled up when the selection is not
enclosed in the viewport.

The state management should probably be improved to avoid this dance
completely, possibly by hoisting all of this state up to the top-level.
2022-01-29 12:32:39 +01:00
Rob Watson 404c11909b Bug fix: update waveform after fetching audio from Youtube
continuous-integration/drone/push Build is passing Details
2022-01-25 22:47:26 +01:00
Rob Watson 48c84a7efa Bug fix: avoid NaN in helper 2022-01-25 20:06:15 +01:00
Rob Watson 5af8f0c319 HudCanvas: extract HudCanvasState
continuous-integration/drone/push Build is passing Details
2022-01-24 20:33:16 +01:00
Rob Watson 4f443af8fa HudCanvas: draw hover position
continuous-integration/drone/push Build is passing Details
2022-01-18 18:23:00 +01:00
Rob Watson f386e12f72 Add option to trigger "selection changed" callback in realtime 2022-01-18 18:23:00 +01:00
Rob Watson a33057651d Update frontend with Tailwind.
- Replace inline CSS with Tailwind classes
- Improve page layout and scaling
- Add icons to ControlBar
- Small refactor of play/pause logic
- Add basic (not by any means final) colours
2022-01-18 18:23:00 +01:00
Rob Watson f33fa149fc Remove most useCallback usages
It is unclear whether these are actually significantly improving
performance and they add non-trivial complexity to the codebase,
especially when under heavy frontend development. Removing most of them
for now until it can be shown they are actually worthwhile.
2022-01-14 12:24:59 +01:00
Rob Watson 04601bab2e frontend: Add Zoom buttons
continuous-integration/drone/push Build is failing Details
2022-01-07 19:51:53 +01:00
Rob Watson 2445ebc02f Rename gRPC endpoints and service methods.
- GetAudio > GetPeaks
- GetAudioSegment > GetPeaksForSegment
2021-12-17 17:30:53 +01:00
Rob Watson 34681821e4 Improve waveform selection behaviour
continuous-integration/drone/push Build is passing Details
2021-12-13 05:10:07 +01:00
Rob Watson 545ac72faa HudCanvas: handle select-nothing 2021-12-12 11:04:42 +01:00
Rob Watson b876fb915a Update frontend
- Add HudCanvas component to Waveform
- Allow waveform to be selectable
- Fix selection rendering on viewport change
- Add spacebar handler
2021-12-11 17:29:31 +01:00
Rob Watson e486aab770 Prefer React.memo to useMemo when memoizing components 2021-12-04 05:34:17 +01:00
Rob Watson 155e41136c frontend: Avoid re-rendering static components during playback 2021-12-02 20:13:06 +01:00
Rob Watson 0cc1fd8272 Frontend fixes 2021-12-02 15:55:14 +01:00
Rob Watson b3559bb94e Refactor Overview component 2021-11-25 19:02:37 +01:00
Rob Watson 542080e400 Implement GetAudioSegment, add panic recovery handler 2021-11-21 16:09:30 +01:00
Rob Watson c1ac075a88 Render WaveformCanvas via peaks 2021-11-21 16:09:30 +01:00
Rob Watson 5cbcfe22cf More progress 2021-11-21 16:09:30 +01:00
Rob Watson 43e2592de8 Refactor frontend 2021-10-16 21:23:04 +02:00
Rob Watson 6e75834662 Tidy up frontend directory tree 2021-09-30 16:16:51 +02:00
Rob Watson b08165d7f1 Remove HTML video element 2021-09-30 16:12:40 +02:00
Rob Watson 0cdc728587 TypeScript: interface > type 2021-09-28 19:51:08 +02:00
Rob Watson f237823b65 Make position marker viewport-aware 2021-09-27 21:19:29 +02:00
Rob Watson 8cade215af Improve overview selection behaviour 2021-09-27 19:47:42 +02:00
Rob Watson 53bd2681af Migrate HTTP handlers to Echo 2021-09-25 19:00:19 +02:00
Rob Watson b64ce1d424 Add video and thumbnail display 2021-09-23 07:42:07 +02:00
Rob Watson 193073015d Zoom to overview selection 2021-09-13 12:16:23 +02:00
Rob Watson 712fbd3142 Extract OverviewWaveform to its own component 2021-09-12 09:13:02 +02:00
Rob Watson 5a08bd62bf Add overview waveform 2021-09-11 18:42:37 +02:00
Rob Watson faf818e4ae Implement basic zoom in/out 2021-09-11 12:58:43 +02:00
Rob Watson 06e4b7f550 Reformat with prettier 2021-09-11 12:06:02 +02:00
Rob Watson 4e99f5ac0c Calculate peaks, draw basic waveform to canvas 2021-09-11 11:00:27 +02:00
Rob Watson 6e987d93fc Add Waveform component 2021-09-06 16:25:23 +02:00