MCPcopy Index your code
hub / github.com/Spikatrix/LRC-Editor

github.com/Spikatrix/LRC-Editor @v3.2.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.2.7 ↗ · + Follow
284 symbols 716 edges 19 files 5 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

LRC Editor   License: GPL v3 Version: 3.2.7

LRC Editor App Icon

LRC Editor is an Android app that helps you to create and edit .lrc files easily

It is available to download on F-Droid and GitHub

<a href="https://f-droid.org/packages/com.cg.lrceditor">
    <img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80px">
</a>
<a href="https://github.com/Spikatrix/LRC-Editor/releases">
    <img src="https://github.com/Spikatrix/LRC-Editor/assets/12792882/cf29751a-93bf-4f47-96b2-99716653e3ba" alt="Download from GitHub" height="80px">
</a>

About

LRC Editor is a small, minimal Android app that helps you to create and edit .lrc (lyric) files. You can edit lyrics, tune timestamps, batch edit timestamps and much more. You can also open LRC files directly from your file manager1. The best part is that LRC Editor is completely free of ads!

You can then use LRC files in Music players, Karoke applications and more. The stock music players of major phone manufacturers like Xiaomi, Huawei, OPPO, Samsung and more support LRC files. However, not all music players supports it, for instance LG's stock media player does not support it. Check your music player's documentation to know if it supports LRC files.

Note: To get the best precision when syncing lyrics, use a high quality constant bitrate MP3 file or something similar. Compressed music files usually don't have accurate seek information in them which might lead to desync issues.

1 Samsung's stock file manager has issues with this

Screenshots

   

More screenshots are available in the F-Droid page

Permissions

LRC Editor requires the storage permission so that it can read and save LRC files.

Note: Android 11 brings much more stricter storage access enforcements and LRC Editor won't be able to access storage once the targetSdkVersion is increased to 30 or above, even after granting the storage permission.

Build from source

If you wish to build from source, clone the repo and run gradle's assembleDebug task:

git clone https://github.com/Spikatrix/LRC-Editor
cd LRC-Editor
./gradlew assembleDebug

(Use gradlew.bat if you're on Windows)

Alternatively, you can clone the repo and open the project in Android Studio and then build the app from there.

There are two build flavors in this project: - fdroid: The build for F-Droid which has links to LRC Editor's F-Droid page and no IAP implementation. - playstore: The build for Google Play Store which has links to LRC Editor's Play store page and has an IAP implementation. However, the IAPs will not work as the original keys are not exposed.

Contributing

LRC Editor is a FOSS app developed by me. Contributions are always welcome.

Here are a few ways you can help: * Report bugs and provide suggestions via the Issue Tracker or via email * Translate the app (main, playstore, fdroid) and send in the translations via a pull request or via email * Tackle one of the issues/feature-requests from the Issue Tracker, make new useful features or fix bugs. In doing so, make sure that the app is still fast, minimal and easy to use. * Cleanup and refactor the code making it much more easier to understand and maintain.

Translators

A big thank you to all the app translators: - Chinese Traditional (zh-rTW) by Martin C - Chinese Simplified (zh-rCW) by Krasnaya Ploshchad and Super12138 - French (fr) by tintinmar1995 - German (de) by Leon Thelen - Indonesian (in) by Fajar Maulana - Polish (pl) by Zbigniew Zienko - Portuguese (pt-rBR) by Ayrtown Karlos - Spanish (es) by Jonathan Martinez

And a big thank you to all the Google Play Store description translators: - German (de) by Leon Thelen - Portuguese (pt-rBR) by Ayrtown Karlos

License

This project is licensed under the GNU GPLv3 License

Extension points exported contracts — how you extend this code

LyricFileSelectListener (Interface)
(no doc) [1 implementers]
app/src/main/java/com/cg/lrceditor/HomePageListAdapter.java
ItemClickListener (Interface)
(no doc) [1 implementers]
app/src/main/java/com/cg/lrceditor/LyricListAdapter.java

Core symbols most depended-on inside this repo

toString
called by 39
app/src/main/java/com/cg/lrceditor/Timestamp.java
showToastOnUiThread
called by 21
app/src/main/java/com/cg/lrceditor/HomePage.java
getTimestamp
called by 21
app/src/main/java/com/cg/lrceditor/LyricItem.java
toMilliseconds
called by 17
app/src/main/java/com/cg/lrceditor/Timestamp.java
alterTimestamp
called by 14
app/src/main/java/com/cg/lrceditor/Timestamp.java
alert
called by 11
app/src/playstore/java/com/cg/lrceditor/SupportActivity.java
getSelectedItemIndices
called by 10
app/src/main/java/com/cg/lrceditor/LyricListAdapter.java
getLyric
called by 10
app/src/main/java/com/cg/lrceditor/LyricItem.java

Shape

Method 257
Class 25
Interface 2

Languages

Java100%

Modules by API surface

app/src/main/java/com/cg/lrceditor/EditorActivity.java61 symbols
app/src/main/java/com/cg/lrceditor/HomePage.java35 symbols
app/src/main/java/com/cg/lrceditor/LyricListAdapter.java28 symbols
app/src/main/java/com/cg/lrceditor/HomePageListAdapter.java28 symbols
app/src/playstore/java/com/cg/lrceditor/SupportActivity.java21 symbols
app/src/main/java/com/cg/lrceditor/FinalizeActivity.java21 symbols
app/src/main/java/com/cg/lrceditor/Timestamp.java15 symbols
app/src/main/java/com/cg/lrceditor/SettingsActivity.java13 symbols
app/src/main/java/com/cg/lrceditor/Metadata.java11 symbols
app/src/main/java/com/cg/lrceditor/FileUtil.java9 symbols
app/src/playstore/java/com/cg/lrceditor/PurchaseItem.java8 symbols
app/src/main/java/com/cg/lrceditor/LyricReader.java8 symbols

For agents

$ claude mcp add LRC-Editor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact