lyrics-transcriber 0.69.0__tar.gz → 0.70.0__tar.gz
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.
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/PKG-INFO +1 -1
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/package.json +1 -1
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/Header.tsx +14 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/LyricsAnalyzer.tsx +26 -1
- lyrics_transcriber-0.69.0/lyrics_transcriber/frontend/web_assets/assets/index-izP9z1oB.js → lyrics_transcriber-0.70.0/lyrics_transcriber/frontend/web_assets/assets/index-BV5ep1cr.js +40 -5
- lyrics_transcriber-0.70.0/lyrics_transcriber/frontend/web_assets/assets/index-BV5ep1cr.js.map +1 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/index.html +1 -1
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/pyproject.toml +1 -1
- lyrics_transcriber-0.69.0/lyrics_transcriber/frontend/web_assets/assets/index-izP9z1oB.js.map +0 -1
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/LICENSE +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/README.md +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/cli/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/cli/cli_main.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/core/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/core/config.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/core/controller.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/anchor_sequence.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/corrector.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/base.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/extend_anchor.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/levenshtein.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/llm.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/llm_providers.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/no_space_punct_match.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/relaxed_word_count_match.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/repeat.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/sound_alike.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/syllables_match.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/word_count_match.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/handlers/word_operations.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/operations.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/phrase_analyzer.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/correction/text_utils.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/.gitignore +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/.yarn/releases/yarn-4.7.0.cjs +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/.yarnrc.yml +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/README.md +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/REPLACE_ALL_FUNCTIONALITY.md +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/eslint.config.js +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/index.html +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/android-chrome-192x192.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/android-chrome-512x512.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/apple-touch-icon.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/favicon-16x16.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/favicon-32x32.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/favicon.ico +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/public/nomad-karaoke-logo.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/App.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/api.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/AddLyricsModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/AudioPlayer.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/CorrectionMetrics.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/EditActionBar.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/EditModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/EditTimelineSection.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/EditWordList.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/FileUpload.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/FindReplaceModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/ModeSelector.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/PreviewVideoSection.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/ReferenceView.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/ReplaceAllLyricsModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/ReviewChangesModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/SegmentDetailsModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/TimelineEditor.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/TimingOffsetModal.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/TranscriptionView.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/WordDivider.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/components/HighlightedText.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/components/SourceSelector.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/components/Word.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/constants.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/hooks/useWordClick.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/styles.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/types.js +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/types.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/utils/keyboardHandlers.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/utils/localStorage.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/utils/referenceLineCalculator.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/utils/segmentOperations.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/utils/timingUtils.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/components/shared/utils/wordUtils.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/hooks/useManualSync.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/main.tsx +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/theme.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/types/global.d.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/types.js +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/types.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/validation.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/src/vite-env.d.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/tsconfig.app.json +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/tsconfig.json +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/tsconfig.node.json +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/tsconfig.tsbuildinfo +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/update_version.js +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/vite.config.d.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/vite.config.js +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/vite.config.ts +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/android-chrome-192x192.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/android-chrome-512x512.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/apple-touch-icon.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/favicon-16x16.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/favicon-32x32.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/favicon.ico +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/web_assets/nomad-karaoke-logo.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/frontend/yarn.lock +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/lyrics/base_lyrics_provider.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/lyrics/file_provider.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/lyrics/genius.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/lyrics/musixmatch.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/lyrics/spotify.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/lyrics/user_input_provider.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/ass.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/ass_specs.txt +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/config.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/constants.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/event.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/formatters.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/lyrics_line.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/lyrics_screen.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/section_detector.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/section_screen.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/ass/style.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdg.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/cdg.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/composer.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/config.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/images/instrumental.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/images/intro.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/pack.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/render.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/centertexttoplogobottomtext.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/circlein.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/circleout.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/fizzle.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/largecentertexttoplogo.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/rectangle.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/spiral.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/topleftmusicalnotes.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/wipein.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/wipeleft.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/wipeout.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/transitions/wiperight.png +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/cdgmaker/utils.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/AvenirNext-Bold.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/DMSans-VariableFont_opsz,wght.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/DMSerifDisplay-Regular.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/Oswald-SemiBold.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/Zurich_Cn_BT_Bold.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/arial.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/georgia.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/fonts/verdana.ttf +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/generator.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/lrc_to_cdg.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/lyrics_file.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/plain_text.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/segment_resizer.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/subtitles.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/output/video.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/review/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/review/server.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/storage/__init__.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/storage/dropbox.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/transcribers/audioshake.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/transcribers/base_transcriber.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/transcribers/whisper.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/types.py +0 -0
- {lyrics_transcriber-0.69.0 → lyrics_transcriber-0.70.0}/lyrics_transcriber/utils/word_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: lyrics-transcriber
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.70.0
|
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
|
@@ -6,6 +6,7 @@ import EditIcon from '@mui/icons-material/Edit'
|
|
6
6
|
import UndoIcon from '@mui/icons-material/Undo'
|
7
7
|
import RedoIcon from '@mui/icons-material/Redo'
|
8
8
|
import TimerIcon from '@mui/icons-material/Timer'
|
9
|
+
import RestoreIcon from '@mui/icons-material/Restore'
|
9
10
|
import { CorrectionData, InteractionMode } from '../types'
|
10
11
|
import CorrectionMetrics from './CorrectionMetrics'
|
11
12
|
import ModeSelector from './ModeSelector'
|
@@ -32,6 +33,7 @@ interface HeaderProps {
|
|
32
33
|
onHandlerClick?: (handler: string) => void
|
33
34
|
onFindReplace?: () => void
|
34
35
|
onEditAll?: () => void
|
36
|
+
onUnCorrectAll?: () => void
|
35
37
|
onTimingOffset?: () => void
|
36
38
|
timingOffsetMs?: number
|
37
39
|
onUndo: () => void
|
@@ -55,6 +57,7 @@ export default function Header({
|
|
55
57
|
onHandlerClick,
|
56
58
|
onFindReplace,
|
57
59
|
onEditAll,
|
60
|
+
onUnCorrectAll,
|
58
61
|
onTimingOffset,
|
59
62
|
timingOffsetMs = 0,
|
60
63
|
onUndo,
|
@@ -316,6 +319,17 @@ export default function Header({
|
|
316
319
|
Edit All
|
317
320
|
</Button>
|
318
321
|
)}
|
322
|
+
{!isReadOnly && onUnCorrectAll && (
|
323
|
+
<Button
|
324
|
+
variant="outlined"
|
325
|
+
size="small"
|
326
|
+
onClick={onUnCorrectAll}
|
327
|
+
startIcon={<RestoreIcon />}
|
328
|
+
sx={{ minWidth: 'fit-content', height: '32px' }}
|
329
|
+
>
|
330
|
+
Un-Correct All
|
331
|
+
</Button>
|
332
|
+
)}
|
319
333
|
{!isReadOnly && onTimingOffset && (
|
320
334
|
<Box sx={{ display: 'flex', alignItems: 'center' }}>
|
321
335
|
<Button
|
@@ -196,6 +196,7 @@ interface MemoizedHeaderProps {
|
|
196
196
|
onRedo: () => void
|
197
197
|
canUndo: boolean
|
198
198
|
canRedo: boolean
|
199
|
+
onUnCorrectAll: () => void
|
199
200
|
}
|
200
201
|
|
201
202
|
// Create a memoized Header component
|
@@ -219,7 +220,8 @@ const MemoizedHeader = memo(function MemoizedHeader({
|
|
219
220
|
onUndo,
|
220
221
|
onRedo,
|
221
222
|
canUndo,
|
222
|
-
canRedo
|
223
|
+
canRedo,
|
224
|
+
onUnCorrectAll
|
223
225
|
}: MemoizedHeaderProps) {
|
224
226
|
return (
|
225
227
|
<Header
|
@@ -243,6 +245,7 @@ const MemoizedHeader = memo(function MemoizedHeader({
|
|
243
245
|
onRedo={onRedo}
|
244
246
|
canUndo={canUndo}
|
245
247
|
canRedo={canRedo}
|
248
|
+
onUnCorrectAll={onUnCorrectAll}
|
246
249
|
/>
|
247
250
|
);
|
248
251
|
});
|
@@ -782,7 +785,28 @@ export default function LyricsAnalyzer({ data: initialData, onFileLoad, apiClien
|
|
782
785
|
updateDataWithHistory(newData, 'find/replace'); // Update history
|
783
786
|
}
|
784
787
|
|
788
|
+
// Add handler for Un-Correct All functionality
|
789
|
+
const handleUnCorrectAll = useCallback(() => {
|
790
|
+
if (!originalData.original_segments) {
|
791
|
+
console.warn('No original segments available for un-correcting')
|
792
|
+
return
|
793
|
+
}
|
794
|
+
|
795
|
+
if (window.confirm('Are you sure you want to revert all segments to their original transcribed state? This will undo all corrections made.')) {
|
796
|
+
console.log('Un-Correct All: Reverting all segments to original transcribed state', {
|
797
|
+
originalSegmentCount: originalData.original_segments.length,
|
798
|
+
currentSegmentCount: data.corrected_segments.length
|
799
|
+
})
|
785
800
|
|
801
|
+
// Create new data with original segments as corrected segments
|
802
|
+
const newData: CorrectionData = {
|
803
|
+
...data,
|
804
|
+
corrected_segments: JSON.parse(JSON.stringify(originalData.original_segments))
|
805
|
+
}
|
806
|
+
|
807
|
+
updateDataWithHistory(newData, 'un-correct all segments')
|
808
|
+
}
|
809
|
+
}, [originalData.original_segments, data, updateDataWithHistory])
|
786
810
|
|
787
811
|
// Add handler for Replace All Lyrics functionality
|
788
812
|
const handleReplaceAllLyrics = useCallback(() => {
|
@@ -914,6 +938,7 @@ export default function LyricsAnalyzer({ data: initialData, onFileLoad, apiClien
|
|
914
938
|
onRedo={handleRedo}
|
915
939
|
canUndo={canUndo}
|
916
940
|
canRedo={canRedo}
|
941
|
+
onUnCorrectAll={handleUnCorrectAll}
|
917
942
|
/>
|
918
943
|
|
919
944
|
<Grid container direction={isMobile ? 'column' : 'row'}>
|
@@ -36597,6 +36597,9 @@ const PauseIcon = createSvgIcon(/* @__PURE__ */ jsxRuntimeExports.jsx("path", {
|
|
36597
36597
|
const RedoIcon = createSvgIcon(/* @__PURE__ */ jsxRuntimeExports.jsx("path", {
|
36598
36598
|
d: "M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z"
|
36599
36599
|
}), "Redo");
|
36600
|
+
const RestoreIcon = createSvgIcon(/* @__PURE__ */ jsxRuntimeExports.jsx("path", {
|
36601
|
+
d: "M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z"
|
36602
|
+
}), "Restore");
|
36600
36603
|
const TimerIcon = createSvgIcon(/* @__PURE__ */ jsxRuntimeExports.jsx("path", {
|
36601
36604
|
d: "M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61M13 14h-2V8h2z"
|
36602
36605
|
}), "Timer");
|
@@ -37749,6 +37752,7 @@ function Header({
|
|
37749
37752
|
onHandlerClick,
|
37750
37753
|
onFindReplace,
|
37751
37754
|
onEditAll,
|
37755
|
+
onUnCorrectAll,
|
37752
37756
|
onTimingOffset,
|
37753
37757
|
timingOffsetMs = 0,
|
37754
37758
|
onUndo,
|
@@ -37975,6 +37979,17 @@ function Header({
|
|
37975
37979
|
children: "Edit All"
|
37976
37980
|
}
|
37977
37981
|
),
|
37982
|
+
!isReadOnly && onUnCorrectAll && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
37983
|
+
Button,
|
37984
|
+
{
|
37985
|
+
variant: "outlined",
|
37986
|
+
size: "small",
|
37987
|
+
onClick: onUnCorrectAll,
|
37988
|
+
startIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(RestoreIcon, {}),
|
37989
|
+
sx: { minWidth: "fit-content", height: "32px" },
|
37990
|
+
children: "Un-Correct All"
|
37991
|
+
}
|
37992
|
+
),
|
37978
37993
|
!isReadOnly && onTimingOffset && /* @__PURE__ */ jsxRuntimeExports.jsxs(Box, { sx: { display: "flex", alignItems: "center" }, children: [
|
37979
37994
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
37980
37995
|
Button,
|
@@ -38625,7 +38640,8 @@ const MemoizedHeader = reactExports.memo(function MemoizedHeader2({
|
|
38625
38640
|
onUndo,
|
38626
38641
|
onRedo,
|
38627
38642
|
canUndo,
|
38628
|
-
canRedo
|
38643
|
+
canRedo,
|
38644
|
+
onUnCorrectAll
|
38629
38645
|
}) {
|
38630
38646
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
38631
38647
|
Header,
|
@@ -38649,7 +38665,8 @@ const MemoizedHeader = reactExports.memo(function MemoizedHeader2({
|
|
38649
38665
|
onUndo,
|
38650
38666
|
onRedo,
|
38651
38667
|
canUndo,
|
38652
|
-
canRedo
|
38668
|
+
canRedo,
|
38669
|
+
onUnCorrectAll
|
38653
38670
|
}
|
38654
38671
|
);
|
38655
38672
|
});
|
@@ -38994,6 +39011,23 @@ function LyricsAnalyzer({ data: initialData, onFileLoad, apiClient, isReadOnly,
|
|
38994
39011
|
const newData = findAndReplace(data, findText, replaceText, options);
|
38995
39012
|
updateDataWithHistory(newData, "find/replace");
|
38996
39013
|
};
|
39014
|
+
const handleUnCorrectAll = reactExports.useCallback(() => {
|
39015
|
+
if (!originalData.original_segments) {
|
39016
|
+
console.warn("No original segments available for un-correcting");
|
39017
|
+
return;
|
39018
|
+
}
|
39019
|
+
if (window.confirm("Are you sure you want to revert all segments to their original transcribed state? This will undo all corrections made.")) {
|
39020
|
+
console.log("Un-Correct All: Reverting all segments to original transcribed state", {
|
39021
|
+
originalSegmentCount: originalData.original_segments.length,
|
39022
|
+
currentSegmentCount: data.corrected_segments.length
|
39023
|
+
});
|
39024
|
+
const newData = {
|
39025
|
+
...data,
|
39026
|
+
corrected_segments: JSON.parse(JSON.stringify(originalData.original_segments))
|
39027
|
+
};
|
39028
|
+
updateDataWithHistory(newData, "un-correct all segments");
|
39029
|
+
}
|
39030
|
+
}, [originalData.original_segments, data, updateDataWithHistory]);
|
38997
39031
|
const handleReplaceAllLyrics = reactExports.useCallback(() => {
|
38998
39032
|
console.log("ReplaceAllLyrics - Opening modal");
|
38999
39033
|
setIsReplaceAllLyricsModalOpen(true);
|
@@ -39075,7 +39109,8 @@ function LyricsAnalyzer({ data: initialData, onFileLoad, apiClient, isReadOnly,
|
|
39075
39109
|
onUndo: handleUndo,
|
39076
39110
|
onRedo: handleRedo,
|
39077
39111
|
canUndo,
|
39078
|
-
canRedo
|
39112
|
+
canRedo,
|
39113
|
+
onUnCorrectAll: handleUnCorrectAll
|
39079
39114
|
}
|
39080
39115
|
),
|
39081
39116
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Grid, { container: true, direction: isMobile ? "column" : "row", children: [
|
@@ -39573,7 +39608,7 @@ const theme = createTheme({
|
|
39573
39608
|
spacing: (factor) => `${0.6 * factor}rem`
|
39574
39609
|
// Further reduced from 0.8 * factor
|
39575
39610
|
});
|
39576
|
-
const version = "0.
|
39611
|
+
const version = "0.70.0";
|
39577
39612
|
const packageJson = {
|
39578
39613
|
version
|
39579
39614
|
};
|
@@ -39584,4 +39619,4 @@ ReactDOM$1.createRoot(document.getElementById("root")).render(
|
|
39584
39619
|
/* @__PURE__ */ jsxRuntimeExports.jsx(App, {})
|
39585
39620
|
] })
|
39586
39621
|
);
|
39587
|
-
//# sourceMappingURL=index-
|
39622
|
+
//# sourceMappingURL=index-BV5ep1cr.js.map
|