marin-m / SongRec

An open-source Shazam client for Linux, written in Rust.
GNU General Public License v3.0
1.37k stars 102 forks source link

Android port ? #50

Open FrenchGithubUser opened 3 years ago

FrenchGithubUser commented 3 years ago

Is there any hope that this gets ported to android ?

PS : Thanks for that amazing work !

sandsmark commented 3 years ago

I'm not sure how much would be possible to share between platforms, just the algorithm itself is fairly simple. IMHO it makes more sense to just write a dedicated Android application instead of trying to create a UI that works well on both desktop and mobile (not sure if GTK supports Android at all?).

davidtakac commented 3 years ago

I'm working on a port here: https://github.com/davidtakac/horton

So far I've managed to cross-compile the fingerprinting part and get the app to recognize songs.

davidtakac commented 2 years ago

In the end I made the port work. I cross-compiled the fingerprinting part to run on Android and I replicated the API calls in Kotlin. This was very fun and it worked very well, but I didn't want to bother with legal troubles that could arise if I decided to upload the app somewhere. Instead of deleting the ported code entirely, I decided to move it to https://github.com/davidtakac/horton-shazam-recognizer for educational purposes. I will not officially support it, but it could be valuable to people who want to cross-compile Rust code to Android.

As an alternative, I found out about audd.io from #85 which is totally free for non-profit projects. This is why I will only support audd.io (and other free song recognition services) from now on. All further development will happen in https://github.com/davidtakac/horton.