Commit Graph

66 Commits

Author SHA1 Message Date
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 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 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
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 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 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 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
Rob Watson 99659adb9e Basic error handling when reading peaks 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 97a55632ef Fix panic when reading blocks not divisible by 4 2021-11-21 16:09:30 +01:00
Rob Watson 5cbcfe22cf More progress 2021-11-21 16:09:30 +01:00
Rob Watson 7c5b22a407 Introduce PG store 2021-11-21 16:09:28 +01:00
Rob Watson 281d5ce8a2 Start to refactor and wire in frontend 2021-10-29 14:52:31 +02:00
Rob Watson 0dc8175fb0 poc: grpc-web 2021-10-22 21:30:09 +02:00
Rob Watson 43e2592de8 Refactor frontend 2021-10-16 21:23:04 +02:00
Rob Watson 084cabaca9 poc: Add SeekBar 2021-09-30 21:09:09 +02:00