72 Commits

Author SHA1 Message Date
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
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-16 08:58:07 +01:00
Rob Watson
aa4d235c0c frontend: reduce redraw rate to 20ms
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-13 20:05:09 +01:00
Rob Watson
aabd0f3252 HudCanvas: add useCallbacks
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-13 07:59:48 +01:00
Rob Watson
b0ccf17527 poc: legacy HTTP download for audio clips
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-10 21:35:31 +01:00
Rob Watson
04601bab2e frontend: Add Zoom buttons
Some checks failed
continuous-integration/drone/push Build is failing
2022-01-07 19:51:53 +01:00
959f5f0a2d Update README to include testing information
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-01-01 17:30:48 -06:00
335efb23e1 Remove redundant function declaration from App.tsx
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-01 17:26:10 -06:00
22dd92f339 Extract millisFromDuration helper and add tests
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-01 17:23:58 -06:00
37552a150e Add frontend build step to CI
All checks were successful
continuous-integration/drone/push Build is passing
2021-12-30 08:14:41 +00:00
Rob Watson
2b1a668c9d Add GetAudioSegment flow
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
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
Rob Watson
911de4438b Add basic logging support 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