Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Rating Development #355

Open
Katsini opened this issue May 3, 2023 · 6 comments
Open

Feature Request: Rating Development #355

Katsini opened this issue May 3, 2023 · 6 comments
Assignees

Comments

@Katsini
Copy link

Katsini commented May 3, 2023

Not so much an issue as a plea for help, but was just wondering if there's a means of exporting user data ( saved ratings / play counts etc. )? Migrating to a new computer soon and don't want to lose hours of curation. I'm aware of the current rating implementation not writing to the audio files directly, so tried to look for where they might saved but had no luck finding wherever it's buried. Apologies in advance if this is the wrong channel for such feedback, but couldn't think of where else to direct to.

While I'm here though, my only other suggestions for streamlining ratings would be:

  • Add sorting by rating. Unless I'm being a fool about it, doesn't seem there's a way yet
  • Add the ability to rate from the toolbar, would be especially helpful for the Mini player ( see attached )

Should end by saying that without exception, even outside of audio players this is one of the best pieces of software I've used. For ease of use and consistent performance, Cog is without peer, thanks to everyone for their continued work.

Screenshot 2023-05-03 at 18 24 49

@kode54
Copy link
Collaborator

kode54 commented May 4, 2023

I will be implementing a few things to help with this.

First, the ability to import or export persistent data entries (ratings, play counts, dates/times first seen and last played) as a JSON format. Importing will not remove entries not present in the JSON, but present in the database. It will, however, overwrite the database entries with whatever is in the JSON.

I may eventually add tag editing to the player, so that ratings may be written to files as well as be stored in the database.

Currently, you may migrate the full database to a new user profile or computer entirely, by duplicating the org.cogx.cog Container, since the app sandbox contains all of its settings.

At the very least, the folder:

~/Library/Containers/org.cogx.cog/Data/Library/Application Support/Cog

needs to be duplicated to the same location on a new user profile. I realize this isn't the most convenient thing, especially since the sandbox file access permissions stored within will be broken and need to be removed and re-granted.

The database also contains your full playlist and all metadata for the contained tracks.

@Katsini
Copy link
Author

Katsini commented May 5, 2023

That's great, thanks for getting back so soon.

@sydney0zq
Copy link

@kode54

Thank you very much for developing this software. It's very good to use, and I have a similar dilemma regarding the rating.

I have a few questions that I would like to inquire about:

  1. Where can I find this update in the code? I'm interested in attempting to make some contributions myself.
  2. I noticed there is an SQLite database under Container/Cog. Could you please provide a brief explanation of the meanings of the fields?

@kode54
Copy link
Collaborator

kode54 commented May 27, 2023

I haven't updated the rating system to support import/export yet. It currently uses Core Data to store objects, and stores the extraneous metadata as NSDictionary objects encoded in the data entries. The structure of the SQLite file is mostly internal to Core Data itself. There is a manifest in the project which describes the current version of the data objects.

@sydney0zq
Copy link

sydney0zq commented May 29, 2023

I change "$HOME/Dropbox/Apps/MacOS-Cog" as an alias of "$HOME/Library/Containers/org.cogx.cog/Data/Library/Application Support/Cog", but it crashes. Hope to fix it in the later releases or option it in the settings panel?

@kode54
Copy link
Collaborator

kode54 commented May 29, 2023

Sorry, you can't alias folders into sandboxed apps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants