lyrics-transcriber 0.49.0__py3-none-any.whl → 0.49.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Lyrics Transcriber Analyzer</title>
8
- <script type="module" crossorigin src="/assets/index-BpvPgWoc.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DSQidWB1.js"></script>
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -251,7 +251,7 @@ export default function Header({
251
251
  />
252
252
  {!isReadOnly && (
253
253
  <Box sx={{ display: 'flex', height: '32px' }}>
254
- <Tooltip title="Undo (Cmd/Ctrl+Z)">
254
+ <Tooltip title="Undo">
255
255
  <span>
256
256
  <IconButton
257
257
  size="small"
@@ -269,7 +269,7 @@ export default function Header({
269
269
  </IconButton>
270
270
  </span>
271
271
  </Tooltip>
272
- <Tooltip title="Redo (Cmd/Ctrl+Shift+Z)">
272
+ <Tooltip title="Redo">
273
273
  <span>
274
274
  <IconButton
275
275
  size="small"
@@ -994,72 +994,6 @@ export default function LyricsAnalyzer({ data: initialData, onFileLoad, apiClien
994
994
  // Determine if any modal is open to disable highlighting
995
995
  const isAnyModalOpenMemo = useMemo(() => isAnyModalOpen, [isAnyModalOpen]);
996
996
 
997
- // Update keyboard handlers to include Undo/Redo shortcuts (Cmd/Ctrl + Z, Cmd/Ctrl + Shift + Z)
998
- useEffect(() => {
999
- const { currentModalHandler } = getModalState()
1000
-
1001
- if (debugLog) {
1002
- console.log('LyricsAnalyzer - Setting up keyboard effect (incl. Undo/Redo)', {
1003
- isAnyModalOpen,
1004
- hasSpacebarHandler: !!currentModalHandler
1005
- })
1006
- }
1007
-
1008
- const { handleKeyDown: baseHandleKeyDown, handleKeyUp, cleanup } = setupKeyboardHandlers({
1009
- setIsShiftPressed,
1010
- setIsCtrlPressed
1011
- })
1012
-
1013
- const handleKeyDown = (e: KeyboardEvent) => {
1014
- // Prevent Undo/Redo if a modal is open or input/textarea has focus
1015
- const targetElement = e.target as HTMLElement;
1016
- const isInputFocused = targetElement.tagName === 'INPUT' || targetElement.tagName === 'TEXTAREA';
1017
-
1018
- if (!isAnyModalOpen && !isInputFocused) {
1019
- const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
1020
- const modifierKey = isMac ? e.metaKey : e.ctrlKey;
1021
-
1022
- if (modifierKey && e.key.toLowerCase() === 'z') {
1023
- e.preventDefault();
1024
- if (e.shiftKey) {
1025
- if (canRedo) handleRedo();
1026
- } else {
1027
- if (canUndo) handleUndo();
1028
- }
1029
- return; // Prevent base handler if we handled undo/redo
1030
- }
1031
- }
1032
-
1033
- // Call original handler for other keys or when conditions not met
1034
- baseHandleKeyDown(e);
1035
- };
1036
-
1037
- // Always add keyboard listeners
1038
- if (debugLog) {
1039
- console.log('LyricsAnalyzer - Adding keyboard event listeners (incl. Undo/Redo)')
1040
- }
1041
- window.addEventListener('keydown', handleKeyDown)
1042
- window.addEventListener('keyup', handleKeyUp)
1043
-
1044
- // Reset modifier states when a modal opens
1045
- if (isAnyModalOpen) {
1046
- setIsShiftPressed(false)
1047
- setIsCtrlPressed(false)
1048
- }
1049
-
1050
- // Cleanup function
1051
- return () => {
1052
- if (debugLog) {
1053
- console.log('LyricsAnalyzer - Cleanup effect running (incl. Undo/Redo)')
1054
- }
1055
- window.removeEventListener('keydown', handleKeyDown)
1056
- window.removeEventListener('keyup', handleKeyUp)
1057
- document.body.style.userSelect = ''
1058
- // Call the cleanup function to remove window blur/focus listeners
1059
- cleanup()
1060
- }
1061
- }, [setIsShiftPressed, setIsCtrlPressed, isAnyModalOpen, handleUndo, handleRedo, canUndo, canRedo]);
1062
-
1063
997
  return (
1064
998
  <Box sx={{
1065
999
  p: 1,
@@ -85,14 +85,16 @@ export default function ReviewChangesModal({
85
85
  useEffect(() => {
86
86
  if (open) {
87
87
  setModalSpacebarHandler(() => (e: KeyboardEvent) => {
88
- e.preventDefault()
89
- e.stopPropagation()
88
+ if (e.type === 'keydown') {
89
+ e.preventDefault()
90
+ e.stopPropagation()
90
91
 
91
- if (videoRef.current) {
92
- if (videoRef.current.paused) {
93
- videoRef.current.play()
94
- } else {
95
- videoRef.current.pause()
92
+ if (videoRef.current) {
93
+ if (videoRef.current.paused) {
94
+ videoRef.current.play()
95
+ } else {
96
+ videoRef.current.pause()
97
+ }
96
98
  }
97
99
  }
98
100
  })
@@ -86,9 +86,6 @@ export const setupKeyboardHandlers = (state: KeyboardState) => {
86
86
  e.preventDefault()
87
87
 
88
88
  if (isModalOpen && currentModalHandler) {
89
- if (debugLog) {
90
- console.log('Keyboard handler - Delegating to modal handler')
91
- }
92
89
  currentModalHandler(e)
93
90
  } else if (window.toggleAudioPlayback && !isModalOpen) {
94
91
  if (debugLog) {
@@ -129,9 +126,6 @@ export const setupKeyboardHandlers = (state: KeyboardState) => {
129
126
  e.preventDefault()
130
127
 
131
128
  if (isModalOpen && currentModalHandler) {
132
- if (debugLog) {
133
- console.log('Keyboard handler - Delegating keyup to modal handler')
134
- }
135
129
  currentModalHandler(e)
136
130
  }
137
131
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lyrics-transcriber
3
- Version: 0.49.0
3
+ Version: 0.49.1
4
4
  Summary: Automatically create synchronised lyrics files in ASS and MidiCo LRC formats with word-level timestamps, using Whisper and lyrics from Genius and Spotify
5
5
  License: MIT
6
6
  Author: Andrew Beveridge
@@ -26,9 +26,9 @@ lyrics_transcriber/frontend/.yarn/install-state.gz,sha256=kcgQ-S9HvdNHexkXQVt18L
26
26
  lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs,sha256=KTYy2KCV2OpHhussV5jIPDdUSr7RftMRhqPsRUmgfAY,2765465
27
27
  lyrics_transcriber/frontend/.yarnrc.yml,sha256=0hZQ1OTcPqTUNBqQeme4VFkIzrsabHNzLtc_M-wSgIM,66
28
28
  lyrics_transcriber/frontend/README.md,sha256=-D6CAfKTT7Y0V3EjlZ2fMy7fyctFQ4x2TJ9vx6xtccM,1607
29
- lyrics_transcriber/frontend/dist/assets/index-BpvPgWoc.js,sha256=KdL6UuSIiP9poxBxCPmBkh0b7kMWzvxX0oIOTk1UKbE,1235484
30
- lyrics_transcriber/frontend/dist/assets/index-BpvPgWoc.js.map,sha256=VLKx5Pu8Z6CqaJUFha9V9IR5Py8lmarwW4IGq81mdQA,2632916
31
- lyrics_transcriber/frontend/dist/index.html,sha256=0bU3wDz5WFd63vGKK1pTN5gI6BUzjAQYHiN_GOZmsug,400
29
+ lyrics_transcriber/frontend/dist/assets/index-DSQidWB1.js,sha256=pLHjG3JSuEExbKmdJrvGPvMw2sCyQLN10-4YFDSsb8w,1234170
30
+ lyrics_transcriber/frontend/dist/assets/index-DSQidWB1.js.map,sha256=dQIDNB0OxqtU8ArcIch19Gt3mhFNak0W6zbgYpaP5GI,2629209
31
+ lyrics_transcriber/frontend/dist/index.html,sha256=jPg8El_lXEE7ATq0mbLvD6gsnXelwJmmYoJAIp67y0g,400
32
32
  lyrics_transcriber/frontend/dist/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
33
33
  lyrics_transcriber/frontend/eslint.config.js,sha256=3ADH23ANA4NNBKFy6nCVk65e8bx1DrVd_FIaYNnhuqA,734
34
34
  lyrics_transcriber/frontend/index.html,sha256=KfqJVONzpUyPIwV73nZRiCWlwLnFWeB3z0vzxDPNudU,376
@@ -45,12 +45,12 @@ lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx,sha256=74dKgU
45
45
  lyrics_transcriber/frontend/src/components/EditWordList.tsx,sha256=atl-9Z-24U-KWojwo0apTy1Y9DbQGoVo2dFX4P-1Z9E,13681
46
46
  lyrics_transcriber/frontend/src/components/FileUpload.tsx,sha256=fwn2rMWtMLPTZLREMb3ps4prSf9nzxGwnjmeC6KYsJA,2383
47
47
  lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx,sha256=U7duKns4IqNXwbWFbQfdyaswnvkSRpfsU0UG__-Serc,20192
48
- lyrics_transcriber/frontend/src/components/Header.tsx,sha256=jQzWy1yMh7s4D7x5-LU763nh1FvDS9ViiFmc5KkRnlE,14176
49
- lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx,sha256=lHzuY7pP94BS2qoUjToWvN1AXye5KC9CUUTaIBN27mI,49362
48
+ lyrics_transcriber/frontend/src/components/Header.tsx,sha256=TVvRNO5biaAYCI2MKIIfuFN5onq86PxI3R6q1eIeFOI,14144
49
+ lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx,sha256=jm4D9kLQfbzLMVusuumIjiO1DBdeoyhbPR-1Zi00kBQ,46719
50
50
  lyrics_transcriber/frontend/src/components/ModeSelector.tsx,sha256=HnBAK_gFgNBJLtMC_ESMVdUapDjmqmoLX8pQeyHfpOw,2651
51
51
  lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx,sha256=-9_ljoaadHjAAvia_vhEUgCajPv2jFnRDVR6VWN_a0w,4166
52
52
  lyrics_transcriber/frontend/src/components/ReferenceView.tsx,sha256=thpf2ojge9pvZojUnGaiQroeHfBmxhUesO7945RGSfk,9499
53
- lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx,sha256=zcGoIu5Iqs4ZXpGr3yeMIEKPf8FRLCP2i1TzNOmKzg0,13048
53
+ lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx,sha256=tY1iLFYq-VZdi4e5xJ8nYFAULkFvu0j_lacFJ9feFMg,13146
54
54
  lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx,sha256=6ME02FkFwCgDAxW49yW260N4vbr80eAJ332Ex811GOo,1643
55
55
  lyrics_transcriber/frontend/src/components/TimelineEditor.tsx,sha256=Aa6ykDRVhWUNHcJ14KGzmUCPDCAltw9gXpdR5ogVQpc,12842
56
56
  lyrics_transcriber/frontend/src/components/TranscriptionView.tsx,sha256=uXSZcsiMsrxKhgbGUdZEfYTwjwpJbnxRl7AXGfMC0Q8,8607
@@ -63,7 +63,7 @@ lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts,sha256=e
63
63
  lyrics_transcriber/frontend/src/components/shared/styles.ts,sha256=J1jCSuRqpk1mOFYAqJudhxeozH-q1bi-dsOibLukBJU,411
64
64
  lyrics_transcriber/frontend/src/components/shared/types.js,sha256=1DqoH1vIn6o1ng-XyBS6JRVVkf8Hj7ub_UD4x8loMjA,77
65
65
  lyrics_transcriber/frontend/src/components/shared/types.ts,sha256=HFbYnfWhejMAmAU3v-Jrf_Lm5t7WU25L83UP9rvG3M8,3949
66
- lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts,sha256=m9vob5KWp4_8kgB7FUXbWztYTSonkNZyz5hoHXvlRUk,5832
66
+ lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts,sha256=HwPyZj6eOHaVbLQjRpQSvMbde50uLy68iXxD1yyR9Ys,5562
67
67
  lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts,sha256=jpLT65Rk_toaB-8X2lRGyYZ9EoMQDI45GviUT7N9Bp0,3240
68
68
  lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts,sha256=TJ2oHDitFFVxm83eFEhdlwvhx--mIt3054YbET2RiXs,2575
69
69
  lyrics_transcriber/frontend/src/components/shared/utils/segmentOperations.ts,sha256=yNE-4Da2nL38ofsizQUsPYWl_8Q9Ic2jbB_G3N4X7ps,12559
@@ -148,8 +148,8 @@ lyrics_transcriber/transcribers/base_transcriber.py,sha256=T3m4ZCwZ9Bpv6Jvb2hNcn
148
148
  lyrics_transcriber/transcribers/whisper.py,sha256=YcCB1ic9H6zL1GS0jD0emu8-qlcH0QVEjjjYB4aLlIQ,13260
149
149
  lyrics_transcriber/types.py,sha256=d73cDstrEI_tVgngDYYYFwjZNs6OVBuAB_QDkga7dWA,19841
150
150
  lyrics_transcriber/utils/word_utils.py,sha256=-cMGpj9UV4F6IsoDKAV2i1aiqSO8eI91HMAm_igtVMk,958
151
- lyrics_transcriber-0.49.0.dist-info/LICENSE,sha256=BiPihPDxhxIPEx6yAxVfAljD5Bhm_XG2teCbPEj_m0Y,1069
152
- lyrics_transcriber-0.49.0.dist-info/METADATA,sha256=Zo2iq0ReIMLXzxqqbgffCL6EvAGnUNER_Ezx8LXgREY,6017
153
- lyrics_transcriber-0.49.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
154
- lyrics_transcriber-0.49.0.dist-info/entry_points.txt,sha256=kcp-bSFkCACAEA0t166Kek0HpaJUXRo5SlF5tVrqNBU,216
155
- lyrics_transcriber-0.49.0.dist-info/RECORD,,
151
+ lyrics_transcriber-0.49.1.dist-info/LICENSE,sha256=BiPihPDxhxIPEx6yAxVfAljD5Bhm_XG2teCbPEj_m0Y,1069
152
+ lyrics_transcriber-0.49.1.dist-info/METADATA,sha256=_-bnym3Ipygm-UjVEzPf7KOJnRvIJ5r3qits-FWMtjs,6017
153
+ lyrics_transcriber-0.49.1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
154
+ lyrics_transcriber-0.49.1.dist-info/entry_points.txt,sha256=kcp-bSFkCACAEA0t166Kek0HpaJUXRo5SlF5tVrqNBU,216
155
+ lyrics_transcriber-0.49.1.dist-info/RECORD,,