Commit Graph

79 Commits

Author SHA1 Message Date
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 9ae4335b19 Disable buttons when zooming is not possible 2022-01-18 18:23:00 +01:00
Rob Watson a4e9ebca3b Update duration display on selection change 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 bb3366ac9a Rename method, fix useEffect dependencies 2022-01-18 18:23:00 +01:00
Rob Watson 41fe0ce2b1 Centre zoom in/out on selection if availble 2022-01-18 18:23:00 +01:00
Rob Watson aa80c9eb7e Bug fix: avoid space bar conflict with player interface 2022-01-18 18:23:00 +01:00
Rob Watson 9d90ed51e6 Bug fix: ensure playback ends at selection end 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 ec3ac8996d Add tailwindcss 2022-01-18 18:23:00 +01:00
Rob Watson d988a99f78 Update react-scripts -> 5.x 2022-01-18 18:23:00 +01:00
Rob Watson d136e00c59 Refactor zoom in/out, add test coverage
continuous-integration/drone/push Build is passing Details
2022-01-16 08:58:07 +01:00
Rob Watson aa4d235c0c frontend: reduce redraw rate to 20ms
continuous-integration/drone/push Build is passing Details
2022-01-15 10:14:04 +01:00
Rob Watson d8173cdace Add framesToDuration helper 2022-01-15 10:13:57 +01:00
Rob Watson ed964cb58f Add toHHMMSS helper 2022-01-15 10:13:52 +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 35b62f1e59 Fetch title, description and author from Youtube
continuous-integration/drone/push Build is passing Details
2022-01-13 20:05:09 +01:00
Rob Watson aabd0f3252 HudCanvas: add useCallbacks
continuous-integration/drone/push Build is passing Details
2022-01-13 07:59:48 +01:00
Rob Watson b0ccf17527 poc: legacy HTTP download for audio clips
continuous-integration/drone/push Build is passing Details
2022-01-10 21:35:31 +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
Michael Evans 959f5f0a2d Update README to include testing information
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-01-01 17:30:48 -06:00
Michael Evans 335efb23e1 Remove redundant function declaration from App.tsx
continuous-integration/drone/push Build is passing Details
2022-01-01 17:26:10 -06:00
Michael Evans 22dd92f339 Extract millisFromDuration helper and add tests
continuous-integration/drone/push Build is passing Details
2022-01-01 17:23:58 -06:00
Michael Evans 37552a150e Add frontend build step to CI
continuous-integration/drone/push Build is passing Details
2021-12-30 08:14:41 +00:00
Rob Watson 2b1a668c9d Add GetAudioSegment flow
continuous-integration/drone/push Build is passing Details
2021-12-29 16:41:43 +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 50e68f4792 Update frontend dependencies 2021-12-12 11:03:27 +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 65cc365717 Add debug view to App component 2021-12-11 17:25:30 +01:00
Rob Watson c849b8d2e6 Extract reusable HudCanvas component 2021-12-06 23:52:24 +01:00
Rob Watson 935c2add2a Add generated code to Git 2021-12-05 11:56:33 +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 642ce6e349 Re-enable audio playback 2021-11-29 18:44:31 +01:00
Rob Watson 1552fc19a1 Send presigned encoded audio URL to the frontend 2021-11-29 15:55:11 +01:00
Rob Watson e1a15a5e69 Add Dockerfile and staging deployment setup 2021-11-27 14:26:14 +01:00
Rob Watson bcb43e3517 Update frontend dependencies 2021-11-26 05:11:24 +01:00
Rob Watson b3559bb94e Refactor Overview component 2021-11-25 19:02:37 +01:00
Rob Watson 33e6814fce Handle mouseUp event outside of Overview component 2021-11-23 16:16:00 +01:00
Rob Watson 8a69a07cc7 Refactor frontend thumbnail handling 2021-11-22 19:20:40 +01:00
Rob Watson 2f7aae1d6e Add video thumbnail support 2021-11-21 20:43:40 +01:00
Rob Watson 2a0f2e22e0 Update Typescript target > es6 2021-11-21 17:12:21 +01:00
Rob Watson 4afec11074 Get video from Youtube, send progress via gRPC 2021-11-21 16:09:30 +01:00
Rob Watson b864835f40 Overview: render viewport on first render 2021-11-21 16:09:30 +01:00
Rob Watson 542080e400 Implement GetAudioSegment, add panic recovery handler 2021-11-21 16:09:30 +01:00