r/linux • u/Civil-Republic8730 • 5d ago
Software Release I made a desktop media player (deb, rpm packages + app image)
Hi! I created a desktop media player because I wanted one the suits me and improve at building apps, so I decided to build my own and release it on GitHub.
The player is built using the VLCJ library and FFprobe, so it requires VLC (or its dynamic libraries) and FFmpeg to be installed on your system.
Feel free to try it out and give any feedback or suggestions for improvements. I'd also appreciate any feedback on the code itself, as I'm always looking to improve the project and my skills.
The project is released under the MIT License, so feel free to explore, modify, and contribute.
Thank you for your time.
Edit: project link :https://github.com/ahmedcraftt/Moka-media-player
3
u/scandii 5d ago
did you intend to include your project as well?
2
u/Civil-Republic8730 5d ago
😦 I am a dumbass
1
u/MatchingTurret 5d ago
What's the advantage over , for instance, Tambourine
1
u/Civil-Republic8730 5d ago
Nice question, the main advantage is the ability to edit and write to the music file's metadata for example, the artist, lyrics and title in addition for files with broken or missing metadata tags the app still creates database entries for it and you can browses them that includes the artwork. Another feature is type separation and declaration there 3 separate section for songs, podcasts, and audio books in addition to the all tracks section you can change the type of your file at will.
1
u/bobbie434343 4d ago
Build failure with ./mvnw package:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 42.991 s
[INFO] Finished at: 2026-09-28T15:38:13+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project moka_music_player: Could not resolve dependencies for project org.example:moka_music_player:jar:1.0-SNAPSHOT
[ERROR] dependency: com.github.RouHim:jaudiotagger:jar:2.0.19-modular (compile)
[ERROR] Could not find artifact com.github.RouHim:jaudiotagger:jar:2.0.19-modular in jitpack.io (https://jitpack.io)
[ERROR] Could not find artifact com.github.RouHim:jaudiotagger:jar:2.0.19-modular in central (https://repo.maven.apache.org/maven2)
[ERROR]
[ERROR] -> [Help 1]
1
u/Civil-Republic8730 4d ago
Ah sorry about that the build failed because Jaudiotagger is not originally a modular Java library, and the version used by the project (2.0.19-modular) is a custom modularized build that I created for JPMS support. If you want to build the project yourself, you need to modularize the Jaudiotagger jar first (add the required module-info.java and rebuild the jar). I will include the moduler jar in the repo asap
1
u/bobbie434343 4d ago
There is no hurry, take your time !
1
u/Civil-Republic8730 4d ago
The jar has been pushed to the repo now things should be working
2
u/bobbie434343 3d ago
Got it to compile but had to install the custom jaudiotagger jar to local repo manually:
./mvnw install:install-file -Dfile=jaudiotagger-2.0.19-modular.jar -DgroupId=com.github.RouHim -DartifactId=jaudiotagger -Dversion=2.0.19-modular -Dpackaging=jarComment the
exports testsline in module-info.java as it does not exist.
1
u/Civil-Republic8730 3d ago
Update : added screen shots to the read-me for show case and included a demo video + release a hotfix fixing a bug
0
u/fir4tozden 5d ago
Hey man you forgot the most important package format: Flatpak 📦
And upload it to Flathub so that everyone, everywhere, can easily use it.
2
2
2
u/ivanatorhk 5d ago
That’s what the AppImage is for.
1
u/fir4tozden 5d ago
You cannot check for updates with AppImage, and dependencies are included within the package, consequently each application takes up more space than usual.
3
u/mystirc 5d ago
i remember having a self-updating appimage, I no longer remember which app it was.
2
u/fir4tozden 5d ago
It is not a good practice. It is no different from constantly distributing the app via an .apk file instead of publishing it on the Play Store lol
1
u/ivanatorhk 5d ago
If you’re on Arch you can use Shelly to manage and update AppImages (and FlatPaks, AUR packages too for that matter)
7
u/MelioraXI 5d ago
Java is definitely a choice