Giter VIP home page Giter VIP logo

music's People

Contributors

jendib avatar naku 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

Watchers

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

music's Issues

Random SQL error

org.h2.jdbc.JdbcSQLException: Row not found when trying to delete from index "PUBLIC.T_AUTHENTICATION_TOKEN_DATA: 25467 25468"; SQL statement:
update T_AUTHENTICATION_TOKEN ato   set ato.AUT_LASTCONNECTIONDATE_D = ?  where ato.AUT_ID_C = ?  [90112-175]

This is a fixed H2 bug, see: https://code.google.com/p/h2database/issues/detail?id=566
Upgrade the database to the latest version.

Default Album Art

Add a default album art when none is set, instead of the current grey rectangle

image

Navigate to the artist page from the album list

In the album list (#/music/albums/), the info "Artist" - "Album" is shown underneath the album art.

A click on this label will always lead to the album page.

It would be cool to separate the label in 2 parts, so a click on the Artist will lead directly to the artist page.

Remote control with mobile device

  • POST /player/register: Register a new web player and returns a token to be stored in local storage
  • POST /player/unregister?token=[player_token]: Unregister a web player
  • WS /player/connect?token=[player_token]: Open a websocket connection to a web player, awaiting commands
  • POST /player/command?token=[player_token]: Push a JSON command to a web player

Error on tagging after importing

20 Jul 2014 14:41:44,566 ERROR
com.sismics.rest.exception.ServerException.<init>(ServerException.java:36)
TagError: Error tagging the file
org.jaudiotagger.audio.exceptions.CannotWriteException: Cannot make
changes to file /var/music/importaudio/Pumpkin - SILENCE RADIO
(JUKEBOX CHAMPIONS REMIX) feat. Pugs Atomz - prod. Jukebox Champions -
scratches DJ Lyrik.mp3
        at org.jaudiotagger.audio.generic.AudioFileWriter.precheckWrite(AudioFileWriter.java:280)
        at org.jaudiotagger.audio.generic.AudioFileWriter.write(AudioFileWriter.java:308)
        at org.jaudiotagger.audio.AudioFileIO.writeFile(AudioFileIO.java:334)
        at org.jaudiotagger.audio.AudioFileIO.write(AudioFileIO.java:164)
        at com.sismics.music.rest.resource.ImportResource.tag(ImportResource.java:222)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:171)
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:406)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:350)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:106)
        at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:259)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:319)
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:236)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1028)
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:373)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:219)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1367)
        at com.sismics.util.filter.TokenBasedSecurityFilter.doFilter(TokenBasedSecurityFilter.java:119)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
        at com.sismics.util.filter.RequestContextFilter.doFilter(RequestContextFilter.java:101)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)

Optimize calls to /playlist resource

  • Remove calls to GET /playlist (except on boot)
  • Merge DELETE /playlist and PUT /playlist (and PUT /playlist/multiple)
  • Returns the full playlist on PUT /playlist and PUT /playlist/multiple

Forms should be validated only after input

Steps to reproduce :

  • Load a screen with a form (e.g. #/add/external)
  • The required fields are immediately in error

The fields should be validated only after the form is submitted

Love synchro on Last.fm doesn't work with an auto-corrected artist name

  1. In my local collection, I have the following track: "Utada Hikaru – Automatic"
  2. Play this track from Music
  3. The track appears in Last.fm as "宇多田ヒカル – Automatic" (Auto-corrected)
  4. Like the track on Music
  5. The track "Utada Hikaru – Automatic" appears on Last.fm loved tracks, but the (auto-corrected) track displayed in the last.fm library is not loved.

I think we should store the corrected names (artist/album/track) returned from Last.fm when played, and pass these one when loving the track.

Album art is not updated

If I drop a new "albumart.jpg" into an album folder, the album art is not updated.

I tried immediate and full rescan.

Magic playlist

Feature to create a magic playlist based on love status, play count and creation date.

Keep the current position when going back to the album list

Current navigation makes it difficult to navigate in the collection:

  • On the album list ("My Music") scroll down a couple of pages
  • Click on an album (let's say we want to browse this album and add a few tracks)
  • Hit back
    --> The album list is reloaded and the last position is lost

It would be best if there was no reloading time and the position was kept (see how it's done in Google Music for reference).

Android: crash report

11-30 19:26:59.365     587-2501/system_process I/MediaFocusControl﹕ AudioFocus  abandonAudioFocus() from android.media.AudioManager@336b9330com.sismics.music.service.AudioFocusHelper@32c67ba9
11-30 19:27:08.155    5949-5949/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.sismics.music, PID: 5949
    java.lang.RuntimeException: Unable to start receiver com.sismics.music.service.MusicIntentReceiver: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.sismics.music.action.PAUSE }
            at android.app.ActivityThread.handleReceiver(ActivityThread.java:2586)
            at android.app.ActivityThread.access$1700(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
     Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.sismics.music.action.PAUSE }
            at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1674)
            at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1703)
            at android.app.ContextImpl.startService(ContextImpl.java:1687)
            at android.content.ContextWrapper.startService(ContextWrapper.java:515)
            at android.content.ContextWrapper.startService(ContextWrapper.java:515)
            at com.sismics.music.service.MusicIntentReceiver.onReceive(MusicIntentReceiver.java:38)
            at android.app.ActivityThread.handleReceiver(ActivityThread.java:2579)
            at android.app.ActivityThread.access$1700(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1355)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
11-30 19:27:12.495     587-1037/system_process I/ActivityManager﹕ Process com.sismics.music (pid 5949) has died

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.