i7c / cfm Goto Github PK
View Code? Open in Web Editor NEWFree and open source listening tracker
License: GNU General Public License v3.0
Free and open source listening tracker
License: GNU General Public License v3.0
To differentiate where playbacks came from.
Show time stamps human-readable in the CLI client.
This album reports "Dream" instead of "Siamese Dream"
spotify:track:5vru13VROtnyexNtXsCSl5
matching musicbrainz release group: https://musicbrainz.org/release-group/a159e102-18bb-42ca-a59e-5f96a7eff241
Instead of specifying fix --recording-mbid= the command should look somewhat like
fix --set recording=
It’s because spotify spams "pause" events with track info all around.
When it really starts to play something, _track_changed is called, but last_track is not set yet.
The Cfm perl module should have the usual cpan package structure.
Similarly to the exceptions in mbs.
Review the existing code base and add missing log statements.
Allow the CLI client to fix broken playbacks with a dedicated "fix" command.
E.g.
cfm fix --recording --release-group
First step is a non-interactive page request via parameter (something like --page=4).
Just a reminder.
| | Die Nerven | Barfuß durch die Scherben | Out |
| | Die Nerven | Die Unschuld in Person | Out |
| | Sophie Hunger | Lovesong to Everyone | 1983 |
| | Sophie Hunger | 1983 | 1983 |
| | Sophie Hunger | Your Personal Religion | 1983 |
| | Sophie Hunger | Train People | 1983 |
| | Sophie Hunger | Citylights Forever | 1983 |
| | The Gathering | How to Measure a Planet? | How to Measure a Planet? |
| | The Gathering | Probably Built in the Fifties | How to Measure a Planet? |
| | The Gathering | Locked Away | How to Measure a Planet? |
Consider the song length (if provided) when rating recordings. This will improve the ratings and thus the results of identify and lookup requests.
The CLI client should provide a --broken flag to list only such playbacks that need fixing.
Have a somewhat centralised logic to check permissions for certain operations.
Provide the possibility to delete playbacks by identifier in the CLI client.
If sending the playback has a huge delay it will influence the time keeping for the following song because the new timestamp is only registered after the sending is completed.
The time stamp should be taken at the exact instant of the event and passed into the functions handling the state change.
Allow to delete single playbacks by id.
If the recording/release group is not identified the pretty formatter fails because it follows references that are undefined.
To find releases more accurately, the rating service should consider the number of tracks on a release.
Review the existing code base and add missing log statements.
The --artist option takes a single artist (and btw is not accepted by the CreatePlayback resource).
Somehow accept --artists and update the help.
Spotify sometimes sends empty strings and track length 0 via the dbus signal.
The player state machine should ignore these events because they lead to an crash of the application otherwise.
Currently the RatingService may provide the same score for the release "Queen" and "Queen Rock Montreal" if we search for "Queen Rock Montreal". This may lead to the former as result, which is wrong.
RatingService should be improved to prefer more exact matches.
It should be possible to fix a playback simply with fix --auto in case that the reason for the broken playback was previously missing information in the musicbrainz database or unavailability of th mb service.
On the cli should work something like this:
fix -i
list of playbacks
Selection: 1
list of proposals
Selection: 1
fixed playback
Not sure if this is a general issue or one with this specific release, but cfm fails to recognise this release:
https://musicbrainz.org/release-group/81787396-84a6-4134-9959-12656392d18d
Artist "Ten Miles Wide" is a proper alias of "The Mothership".
output of --broken:
| ! | Ten Miles Wide | A Call to Shiva | The Gross | 2018-05-20 15:11:02 | 65312948-396f-43b0-a6c9-093da666ece9 |
Instead of signup cfm should provide invites to users so they can invite others to use cfm.
For each user it should be stored who invited them. Invites can be created on the client using a designated command (such as cfm invite).
The invited user should be able to accept an invite (maybe cfm accept --invite ) and choose a username and password.
Introduce a page indicator in the CLI. Will require the REST interface to provide page numbers etc.
The help_* method clutter the code of the Cli module.
Move all of them to a dedicated module and clean up the Cli module.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.