GithubHelp home page GithubHelp logo

simple-last-fm-scrobbler / sls Goto Github PK

View Code? Open in Web Editor NEW
551.0 39.0 100.0 7.99 MB

Simple Scrobbler, for Android -- last.fm, libre.fm & ListenBrainz

Home Page: https://simple-last-fm-scrobbler.github.io

License: Apache License 2.0

Java 100.00%
fm-scrobbler music-apps listenbrainz libre sls android caching-scrobbles java scrobbler

sls's People

Contributors

19379 avatar 4-eyes avatar a-r-db avatar aaharu avatar ammgws avatar bajituka avatar bryansills avatar bshillingford avatar cmpute avatar dostoi avatar ejegg avatar facundocerezo avatar freso avatar g00fy2 avatar herrherrmann avatar inverse avatar jadkik avatar jensz12 avatar klusark avatar kshahar avatar licaon-kter avatar luisbandalap avatar metanota avatar paskal avatar seanponeil avatar tgwizard avatar the-lay avatar theli-ua avatar wlanowski avatar wyrihaximus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sls's Issues

Winamp support

Hi, after downloading v1.4.4 the app stopped seeing Winamp and wouldn't scrobble from it. I also tried JRTStudio app and it worked. Thanks

Scrobbling to to other GnuFM servers

Libre.fm is built on software called GNU FM. It's designed to be compatible with Last.fm. Since SLS supports libre.fm, support for custom GNU FM servers could be added by simply adding in a URL parameter to LibreFM so that scrobbles could be submitted somewhere other than turtle.libre.fm.

Help for app configuration listings

Add a "Why is my app not showing up?" button to the Enabled Apps page that includes the menu options for known supported apps to remind users that they have to enable scrobbling on some (most?) music players

Support scrobbling streams

Any plans to support scrobbling streams? I listen to di.fm a lot, that would be cool. Last.fm app has streaming scrobbling

add support for Plex

I would like to be able to scrobble songs from the Plex media center when it is playing music.

READ_EXTERNAL_PERMISSION sometimes required to access MediaStore

Stack trace from dev console:

java.lang.RuntimeException: Unable to start receiver com.adam.aslfms.receiver.AndroidMusicReceiver: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media/1323 from pid=9818, uid=10135 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2236)
at android.app.ActivityThread.access$1500(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media/1323 from pid=9818, uid=10135 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1425)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:188)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:140)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
at android.content.ContentResolver.query(ContentResolver.java:370)
at android.content.ContentResolver.query(ContentResolver.java:313)
at com.adam.aslfms.receiver.BuiltInMusicAppReceiver.readTrackFromMediaStore(BuiltInMusicAppReceiver.java:149)
at com.adam.aslfms.receiver.BuiltInMusicAppReceiver.parseTrack(BuiltInMusicAppReceiver.java:109)
at com.adam.aslfms.receiver.BuiltInMusicAppReceiver.parseIntent(BuiltInMusicAppReceiver.java:73)
at com.adam.aslfms.receiver.AbstractPlayStatusReceiver.onReceive(AbstractPlayStatusReceiver.java:79)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2229)
... 10 more

Last.fm profile doesn't receive sent data, "Scrobble Now Button"

[email protected] wrote:

What steps will reproduce the problem?

  1. Open pre-installed music player for Xperia/Android and play some titles
  2. Send cached titles with simple lastfm scrobbler

What is the expected output? What do you see instead?
The app tells me that I am logged in with the right profile link and everything and displays my played songs in the statistics of lastfm but when I visit my profile the songs aren't there.

What version of the product are you using? On what operating system and
what device?
I am using the latest version and I have got a Sony Ericcson Xperia Arc S with Android 2.3 as operating system.

Feature: Add support for DeaDBeeF

Description of the new feature:
Please add support for DeaDBeeF, the only (as far as I know) open-source Android audio player that supports ReplayGain. :-)

It already supports the official last.fm scrobbler (or is it the other way round ?) as well as ScrobbleDroid.

DeaDBeeF website : http://deadbeef.sourceforge.net/

Apollo support

I wan't to have support for the android 4 apollo music player. I think that doesn't take much time to include.
I would do this by myself but I haven't any android/java programming skills to do that.
But I can be a tester (I'm using a desire z with an andromadus rom)
At the moment I cannot find the sourcecode of apollo

Best regards and thank you for this awesome program

Null Pointer Exception when nothing is being scrobbled

08-15 11:25:58.478: E/AndroidRuntime(14968): FATAL EXCEPTION: main
08-15 11:25:58.478: E/AndroidRuntime(14968): java.lang.RuntimeException: Unable to start service com.adam.aslfms.service.ScrobblingService@4253ed10 with null: java.lang.NullPointerException
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2507)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.app.ActivityThread.access$1900(ActivityThread.java:130)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.os.Handler.dispatchMessage(Handler.java:99)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.os.Looper.loop(Looper.java:137)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.app.ActivityThread.main(ActivityThread.java:4745)
08-15 11:25:58.478: E/AndroidRuntime(14968): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 11:25:58.478: E/AndroidRuntime(14968): at java.lang.reflect.Method.invoke(Method.java:511)
08-15 11:25:58.478: E/AndroidRuntime(14968): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
08-15 11:25:58.478: E/AndroidRuntime(14968): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-15 11:25:58.478: E/AndroidRuntime(14968): at dalvik.system.NativeStart.main(Native Method)
08-15 11:25:58.478: E/AndroidRuntime(14968): Caused by: java.lang.NullPointerException
08-15 11:25:58.478: E/AndroidRuntime(14968): at com.adam.aslfms.service.ScrobblingService.onStart(ScrobblingService.java:84)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.app.Service.onStartCommand(Service.java:450)
08-15 11:25:58.478: E/AndroidRuntime(14968): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2490)
08-15 11:25:58.478: E/AndroidRuntime(14968): ... 10 more

It looks like the Intent being passed to onStartCommand() is null somewhere?

Update URL for Last.fm

On Last.fm, clicking the "Simple Last.fm Scrobbler" link seen when someone is using it to scrobble goes to the Google page, not this github one.

add support for Jetaudio

Hi, Jetaudio is one of the best Android music apps out there. Would it be possible to add support?

Best wishes,

TR

SONY S Tablet Players

Hi,

It would be great if you could add support to SONY S Player. Simples lastfm already support xperia player I don't know if SONY tablet player is so diferent.

Thanks!

BadParcelableException

Several of these, for several versions:

java.lang.RuntimeException: Unable to start receiver com.adam.aslfms.receiver.WinampMusicReceiver: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.nullsoft.winamp.model.ShoutCastStation
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2138)
at android.app.ActivityThread.access$1500(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4507)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: com.nullsoft.winamp.model.ShoutCastStation
at android.os.Parcel.readParcelable(Parcel.java:1966)
at android.os.Parcel.readValue(Parcel.java:1854)
at android.os.Parcel.readMapInternal(Parcel.java:2094)
at android.os.Bundle.unparcel(Bundle.java:223)
at android.os.Bundle.getCharSequence(Bundle.java:1092)
at com.adam.aslfms.receiver.BuiltInMusicAppReceiver.getMusicAPI(BuiltInMusicAppReceiver.java:86)
at com.adam.aslfms.receiver.BuiltInMusicAppReceiver.parseIntent(BuiltInMusicAppReceiver.java:66)
at com.adam.aslfms.receiver.AbstractPlayStatusReceiver.onReceive(AbstractPlayStatusReceiver.java:79)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2131)
... 10 more

Doesn't detect or scrobble default musicapp. LG Optimus X2

I'm having problems with detecting and scrobbling music from the default music player through SLS. Also, it says Android music player (and other players) isn't installed, though it scrobbles other players. I've also tried using Scrobbledroid and the default Last.FM-app and that doesn't work either. Downloaded players like Winamp, Poweramp, PlayerPro and so on scrobbles just fine.

Model: LG-P990
Android version: 2.3.4
Baseband: 1035.21_20120521
Kernel: 2.6.32.9
LG version: LGP990-V20s

Songs scrobbling twice

I'm using the "Play Music" (Google Music) app on my Kindle Fire, and I'm seeing songs show up twice on both my libre.fm and last.fm profiles.

add support for Rhapsody Android (2.0+)

SLS interfaced with Rhapsody Beta, but it does not seem to be compatible with Rhapsody 2.0. It would be excellent to have support extended to the new version.

Thanks.

Jeff

Crashes when a Shoutcast stream is played in Winamp

Copied bug from Google Code as requested [http://code.google.com/p/a-simple-lastfm-scrobbler/issues/detail?id=102]

What steps will reproduce the problem?

  1. Install Winamp 1.1.1 and Simple Last.fm scrobbler
  2. In Winamp - Play an audio file (say, .mp3) from the local system (SD card in this case)
  3. Navigate to Shoutcast options in Wimamp and play a stream

What is the expected output? What do you see instead?

Simple Last.fm should be able to scrobble based on the stream information available (Winamp displays song playing in the stream). Otherwise, if this feature of reading a Shoutcast stream information is yet unimplemented, Simple last.fm scrobbler should silently ignore.

Message displayed on device: The application Simple Last.fm Scrobbler (process com.adam.aslfms has stopped unexpectedly. Please try again.)

=== Stack trace ===
java.lang.RuntimeException: Unable to start receiver com.adam.aslfms.receiver.
WinampMusicReceiver: android.os.BadParcelableException: ClassNotfoundException when unmarshalling: com.nullsoft.winamp.model.ShoutCastStation

at ....
...
at com.adam.aslfms.receiver.BuiltInMusicAppReceiver.parseIntent(BuiltInMusicAppReceiver.java:71)
at com.adam.aslfms.receiver.AbstractPlayStatusReceiver.onReceive(AbstractPlayStatusReceiver.java:79)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:1994)

What version of the product are you using? On what operating system and
what device?

Device: HTC Desire HD

=== details on feedback ===
Device ace
Build Id GRI40
Model Desire HD
Product htc_ace
SDK version 10
Release 2.3.3
Incremental version 87995

Please provide any additional information below.

Remove wiki, add pages to repository

There are currently only two wiki pages, API and FAQ, and I think they'd fit better as (markdown) files in the repository. They would be much easier to maintain.

LG Optimus L3 not working

What steps will reproduce the problem?

  1. Use latest version of all supported players on LG Optimus L3.
  2. No apps detected by SLS

What is the expected output? What do you see instead?
Android player or others detected by SLS

Player Pro not working with android 4.0 update

Mike Smith wrote:

After downloading the most recent version of Simple Last.fm Scrobler (1.4) it doesn't seem to be detecting Player Pro like it used to. Please advise.

and:

The version before 1.4 worked for me, although I had to quit Player Pro and then open it again for SLFMS to detect it. I've tried reinstalling SLFMS, quitting Player Pro, and even rebooting the phone with no success. I just tried using the default Android music player and SLDMS doesn't seem to be detecting that for me either. I'm using a Galaxy Nexus with Android 4.0.4.

I don't have Player Pro, so it is difficult to test.

Add support for Sony Walkman app

Hi,

It would be great if you could add support for the Walkman app Sony installs by default on the Xperia S (and probably other Sony-Ericsson devices).

thx

SLS losing scrobbles on HTC One V

50% of tracks not being submitted to local cache or even not recognized like last playing.

Problem confirmed with both Hero Music Player and PowerAMP.

Chech plz.

Look over the database connection usage

Does each activity really need their own database reference/connection? Wouldn't it suffice with one for the application and one for the server? What is the "correct" way of doing this?

add support for DS Audio (Synology NAS Music Player)

DS audio directly streams from your NAS at home and allows to access your music library from everywhere, like your own music cloud. The app doesn't feature last.fm support itself and the SLS doesn't recognize DS audio yet.

App in playstore: https://play.google.com/store/apps/details?id=com.synology.DSaudio&hl=de
Website of synology: http://www.synology.com/
Synology Wiki: http://forum.synology.com/wiki/index.php/Home

They also host a lot of forums, in which many people ask for last.fm support in the apps. SLS would be a great answer at least for the android users! Synology also offers a lot of support and the community itself is also pretty helpful.

Thumbs up man, you're doing some highly appreciated work out there!

Support for the JRTStudio's Android Music Player (com.jrtstudio.music)

Please add support for the JRTStudio's Android Music Player (com.jrtstudio.music).

If it have been already supported then please fix it because I have installed the player (from https://play.google.com/store/apps/details?id=com.jrtstudio.music) but the Scrobbler didn't find it and didn't list it in the "Enabled Apps" so scrobbling is not working for this player.

Other players are recognized well (Hero music player, Rocket player, etc.)

HTC Wildfire S, Android 2.3.5, not rooted.

Unit tests

Write unit tests (in the sls_test project included in the repository). This is tricky, so a lot of code might need to be rewritten just so it can be tested.

Most important to test are the Receivers and the Services.

Feature: Add support for Skifta

Seeing as Skifta won't let me play music with a player other than its built-in one, it would be nice if sls could be made to work with it :)

Keep up the good work!

Iain

SLS can't scrobble the same track played consecutively in the default player

This is due to the fact that the default player only sends one* kind of event: "Something has changed". It is therefore impossible to determine if the track has been paused, resumed, started, stopped, started again, etc. Also, the intent doesn't contain the track duration, so the play state info cannot be deduced from that.

*there is another kind of intent sent when an entire playlist finishes. So, a playlist with only one track set on repeat works fine.

Donations

Please add any common option for donating like paypal so people can thank you for your work.

License Problem

There is a problem with the license because it cannot be released under the Apache 2 license and still contain GPL code.

Poweramp 2.0.6 build 508

On my Galaxy S3, Poweramp is no longer detected and listed in SLS. Any ideas what's going on? What other information can I get for you?

Android 4.0+

The app needs to be updated and rewritten slightly to work with Android 4 and up. There's a branch, android-12, where work on this should be done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.