CHANGELOG.md
LICENSE
MANIFEST.in
README.md
pyproject.toml
backend/rollingpebble/__init__.py
backend/rollingpebble/cli.py
backend/rollingpebble/config.py
backend/rollingpebble/job_kinds.py
backend/rollingpebble/jobs.py
backend/rollingpebble/jobs_progress.py
backend/rollingpebble/jobs_runner.py
backend/rollingpebble/jobs_store.py
backend/rollingpebble/lyrics_utils.py
backend/rollingpebble/main.py
backend/rollingpebble/messages.py
backend/rollingpebble/models.py
backend/rollingpebble/paths.py
backend/rollingpebble/translation.py
backend/rollingpebble/version.py
backend/rollingpebble.egg-info/PKG-INFO
backend/rollingpebble.egg-info/SOURCES.txt
backend/rollingpebble.egg-info/dependency_links.txt
backend/rollingpebble.egg-info/entry_points.txt
backend/rollingpebble.egg-info/requires.txt
backend/rollingpebble.egg-info/top_level.txt
backend/rollingpebble/adapters/__init__.py
backend/rollingpebble/adapters/pylrclib_adapter.py
backend/rollingpebble/api/__init__.py
backend/rollingpebble/api/auto_timing.py
backend/rollingpebble/api/context.py
backend/rollingpebble/api/health.py
backend/rollingpebble/api/jobs.py
backend/rollingpebble/api/lyrics_sources.py
backend/rollingpebble/api/projects.py
backend/rollingpebble/api/roller.py
backend/rollingpebble/api/runtime.py
backend/rollingpebble/api/settings.py
backend/rollingpebble/api/storage.py
backend/rollingpebble/api/translation.py
backend/rollingpebble/api/upload.py
backend/rollingpebble/auto_timing/__init__.py
backend/rollingpebble/auto_timing/contracts.py
backend/rollingpebble/auto_timing/languages.py
backend/rollingpebble/auto_timing/model_catalog.py
backend/rollingpebble/auto_timing/model_download.py
backend/rollingpebble/auto_timing/model_external.py
backend/rollingpebble/auto_timing/model_service.py
backend/rollingpebble/auto_timing/protocol.py
backend/rollingpebble/auto_timing/service.py
backend/rollingpebble/auto_timing/store.py
backend/rollingpebble/frontend_dist/TRANSLATION-LICENSES.txt
backend/rollingpebble/frontend_dist/index.html
backend/rollingpebble/frontend_dist/site.webmanifest
backend/rollingpebble/frontend_dist/assets/AbstractID3Parser-xHDmfL9a.js
backend/rollingpebble/frontend_dist/assets/AbstractID3Parser-xHDmfL9a.js.map
backend/rollingpebble/frontend_dist/assets/AiffParser-CCrylzkX.js
backend/rollingpebble/frontend_dist/assets/AiffParser-CCrylzkX.js.map
backend/rollingpebble/frontend_dist/assets/AsfParser-D1_j_z61.js
backend/rollingpebble/frontend_dist/assets/AsfParser-D1_j_z61.js.map
backend/rollingpebble/frontend_dist/assets/DsdiffParser-B3T4YIgK.js
backend/rollingpebble/frontend_dist/assets/DsdiffParser-B3T4YIgK.js.map
backend/rollingpebble/frontend_dist/assets/DsfParser-DfTQumGQ.js
backend/rollingpebble/frontend_dist/assets/DsfParser-DfTQumGQ.js.map
backend/rollingpebble/frontend_dist/assets/FlacParser-zX1QRYhu.js
backend/rollingpebble/frontend_dist/assets/FlacParser-zX1QRYhu.js.map
backend/rollingpebble/frontend_dist/assets/ID3v2Parser-DaZYYNHG.js
backend/rollingpebble/frontend_dist/assets/ID3v2Parser-DaZYYNHG.js.map
backend/rollingpebble/frontend_dist/assets/MP4Parser-DI6JrlYh.js
backend/rollingpebble/frontend_dist/assets/MP4Parser-DI6JrlYh.js.map
backend/rollingpebble/frontend_dist/assets/MatroskaParser-3BsnjDVK.js
backend/rollingpebble/frontend_dist/assets/MatroskaParser-3BsnjDVK.js.map
backend/rollingpebble/frontend_dist/assets/MpegParser-x_zRvnU7.js
backend/rollingpebble/frontend_dist/assets/MpegParser-x_zRvnU7.js.map
backend/rollingpebble/frontend_dist/assets/MusepackParser-CbE-u30C.js
backend/rollingpebble/frontend_dist/assets/MusepackParser-CbE-u30C.js.map
backend/rollingpebble/frontend_dist/assets/OggParser-BSVUcnpc.js
backend/rollingpebble/frontend_dist/assets/OggParser-BSVUcnpc.js.map
backend/rollingpebble/frontend_dist/assets/WavPackParser-D-3MJ_u4.js
backend/rollingpebble/frontend_dist/assets/WavPackParser-D-3MJ_u4.js.map
backend/rollingpebble/frontend_dist/assets/WaveParser-zaQ3FRyI.js
backend/rollingpebble/frontend_dist/assets/WaveParser-zaQ3FRyI.js.map
backend/rollingpebble/frontend_dist/assets/core-B99voyuE.js
backend/rollingpebble/frontend_dist/assets/core-B99voyuE.js.map
backend/rollingpebble/frontend_dist/assets/index-D1a4Mo0O.css
backend/rollingpebble/frontend_dist/assets/index-elb67yLu.js
backend/rollingpebble/frontend_dist/assets/index-elb67yLu.js.map
backend/rollingpebble/frontend_dist/assets/ja-D8FaS8k6.js
backend/rollingpebble/frontend_dist/assets/ja-D8FaS8k6.js.map
backend/rollingpebble/frontend_dist/assets/ko-KR-C6_ioFae.js
backend/rollingpebble/frontend_dist/assets/ko-KR-C6_ioFae.js.map
backend/rollingpebble/frontend_dist/assets/ncmc-worker-CPO697eB.ts
backend/rollingpebble/frontend_dist/assets/pl-PL-RafERFqE.js
backend/rollingpebble/frontend_dist/assets/pl-PL-RafERFqE.js.map
backend/rollingpebble/frontend_dist/assets/pt-BR-Mf7Z42xn.js
backend/rollingpebble/frontend_dist/assets/pt-BR-Mf7Z42xn.js.map
backend/rollingpebble/frontend_dist/assets/sk-SK-CXGhSveT.js
backend/rollingpebble/frontend_dist/assets/sk-SK-CXGhSveT.js.map
backend/rollingpebble/frontend_dist/assets/smooth-scroll-Cyy-OSkS.js
backend/rollingpebble/frontend_dist/assets/smooth-scroll-Cyy-OSkS.js.map
backend/rollingpebble/frontend_dist/assets/zh-CN-BZLXwrpK.js
backend/rollingpebble/frontend_dist/assets/zh-CN-BZLXwrpK.js.map
backend/rollingpebble/frontend_dist/assets/zh-HK-B30gxSP1.js
backend/rollingpebble/frontend_dist/assets/zh-HK-B30gxSP1.js.map
backend/rollingpebble/frontend_dist/assets/zh-TW-D8GEN7Nq.js
backend/rollingpebble/frontend_dist/assets/zh-TW-D8GEN7Nq.js.map
backend/rollingpebble/frontend_dist/favicons/android-chrome-192x192.png
backend/rollingpebble/frontend_dist/favicons/android-chrome-512x512.png
backend/rollingpebble/frontend_dist/favicons/apple-touch-icon.png
backend/rollingpebble/frontend_dist/favicons/browserconfig.xml
backend/rollingpebble/frontend_dist/favicons/favicon-16x16.png
backend/rollingpebble/frontend_dist/favicons/favicon-32x32.png
backend/rollingpebble/frontend_dist/favicons/favicon.ico
backend/rollingpebble/frontend_dist/favicons/mstile-150x150.png
backend/rollingpebble/frontend_dist/favicons/mstile-310x310.png
backend/rollingpebble/frontend_dist/favicons/safari-pinned-tab.svg
backend/rollingpebble/frontend_dist/img/rollingpebble-avatar.png
backend/rollingpebble/frontend_dist/img/rollingpebble-avatar.webp
backend/rollingpebble/frontend_dist/img/rollingpebble-icon.png
backend/rollingpebble/frontend_dist/img/rollingpebble-workspace-bg.webp
backend/rollingpebble/runtime/__init__.py
backend/rollingpebble/runtime/constants.py
backend/rollingpebble/runtime/environment.py
backend/rollingpebble/runtime/installer.py
backend/rollingpebble/runtime/manager.py
backend/rollingpebble/runtime/preparation.py
backend/rollingpebble/runtime/python.py
backend/rollingpebble/runtime/recipe.py
backend/rollingpebble/runtime/reports.py
backend/rollingpebble/runtime/service.py
backend/rollingpebble/runtime/settings.py
backend/rollingpebble/services/__init__.py
backend/rollingpebble/services/local_dialog.py
backend/rollingpebble/services/lrclib_service.py
backend/rollingpebble/services/netease_service.py
backend/rollingpebble/services/project_service.py
backend/rollingpebble/services/storage_inventory.py
backend/rollingpebble/services/storage_migration.py
backend/rollingpebble/services/storage_service.py
backend/rollingpebble/services/upload_service.py
backend/rollingpebble/services/workspace_recovery.py
backend/rollingpebble/storage/__init__.py
backend/rollingpebble/storage/app_settings.py
backend/rollingpebble/storage/files.py
backend/rollingpebble/storage/location.py
backend/rollingpebble/storage/transaction.py
backend/rollingpebble/storage/transition.py
tests/test_auto_timing_v2.py
tests/test_desktop_platforms.py
tests/test_desktop_runtime_distribution.py
tests/test_jobs_subprocess_security.py
tests/test_lrc_roller_runtime_and_app.py
tests/test_model_management.py
tests/test_multilingual_timing.py
tests/test_netease_service.py
tests/test_ordered_timing.py
tests/test_runtime_preparation.py
tests/test_storage_service.py
tests/test_translation.py
tests/test_windows_runtime.py
tests/test_workspace_recovery.py
tests/test_workspace_save.py