94 Commits

Author SHA1 Message Date
e434ad9a84 Remove fast-forward and rewind buttons 2022-05-18 18:16:51 +02:00
e40e794721 Improve SeekBar interface
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone Build was killed
2022-02-16 20:43:39 +01:00
7eb53417ac Update frontend dependencies 2022-02-10 20:00:49 +01:00
26b51b8c93 Combine Player and VideoPreview components.
This makes sense semantically and also simplifies the component
structure as it avoids leaking the Video reference outside of the
component (at least for now).
2022-02-10 20:00:45 +01:00
f2d7d1f5bb Bug fix: load waveform peaks after fetching audio from Youtube
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-07 20:17:23 +01:00
669afcf6d9 Add test coverage for positionchanged event
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-07 19:29:17 +01:00
29129afe90 Add test coverage for waveformselectionchanged event
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-07 07:55:47 +01:00
a0bb48fb69 Add basic test coverage for viewport handling
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-05 09:16:31 +01:00
a9ea462b41 Rename CanvasLogicalWidth to CanvasWidth
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-04 08:37:39 +01:00
3dcc1edc62 Replace Selection interface with CanvasRange
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-04 08:35:54 +01:00
b64f0b4daa Start to add test coverage to AppState
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-04 08:10:33 +01:00
9f76d2764f Refactor top-level state management => useReducer
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-03 19:56:05 +01:00
a855d589f3 Refactor HudCanvasState tests 2022-02-03 19:44:28 +01:00
6ba19b3e01 Bug fix: prevent incorrect selectionChange callbacks
All checks were successful
continuous-integration/drone/push Build is passing
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
404c11909b Bug fix: update waveform after fetching audio from Youtube
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-25 22:47:26 +01:00
48c84a7efa Bug fix: avoid NaN in helper 2022-01-25 20:06:15 +01:00
5af8f0c319 HudCanvas: extract HudCanvasState
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-24 20:33:16 +01:00
4f443af8fa HudCanvas: draw hover position
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-18 18:23:00 +01:00
9ae4335b19 Disable buttons when zooming is not possible 2022-01-18 18:23:00 +01:00
a4e9ebca3b Update duration display on selection change 2022-01-18 18:23:00 +01:00
f386e12f72 Add option to trigger "selection changed" callback in realtime 2022-01-18 18:23:00 +01:00
bb3366ac9a Rename method, fix useEffect dependencies 2022-01-18 18:23:00 +01:00
41fe0ce2b1 Centre zoom in/out on selection if availble 2022-01-18 18:23:00 +01:00
aa80c9eb7e Bug fix: avoid space bar conflict with player interface 2022-01-18 18:23:00 +01:00
9d90ed51e6 Bug fix: ensure playback ends at selection end 2022-01-18 18:23:00 +01:00
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
ec3ac8996d Add tailwindcss 2022-01-18 18:23:00 +01:00
d988a99f78 Update react-scripts -> 5.x 2022-01-18 18:23:00 +01:00
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
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
d8173cdace Add framesToDuration helper 2022-01-15 10:13:57 +01:00
ed964cb58f Add toHHMMSS helper 2022-01-15 10:13:52 +01:00
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
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
aabd0f3252 HudCanvas: add useCallbacks
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-13 07:59:48 +01:00
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
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
2b1a668c9d Add GetAudioSegment flow
All checks were successful
continuous-integration/drone/push Build is passing
2021-12-29 16:41:43 +01:00
2445ebc02f Rename gRPC endpoints and service methods.
- GetAudio > GetPeaks
- GetAudioSegment > GetPeaksForSegment
2021-12-17 17:30:53 +01:00
34681821e4 Improve waveform selection behaviour
All checks were successful
continuous-integration/drone/push Build is passing
2021-12-13 05:10:07 +01:00
545ac72faa HudCanvas: handle select-nothing 2021-12-12 11:04:42 +01:00
50e68f4792 Update frontend dependencies 2021-12-12 11:03:27 +01:00
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
65cc365717 Add debug view to App component 2021-12-11 17:25:30 +01:00
c849b8d2e6 Extract reusable HudCanvas component 2021-12-06 23:52:24 +01:00
935c2add2a Add generated code to Git 2021-12-05 11:56:33 +01:00