Open JDLH opened 11 years ago
Interesting ideas here.
To try to bring this closer to reality, can we brainstorm what concrete features would be desirable here? For example, for part A, one can currently switch between different databases and directories with command-line options. What's different in the system your imagining? And, for part B, we currently have the convert plugin, which can do transcoding of the sort you need for your repository 3. How should that be extended?
There's a chance that this kind of support would not need a radical architectural change—maybe a few well-placed, concrete new features would suffice.
For part A, multiple repositories, my idea was to be able to have multiple repositories declared in ~/.config/beets/config.yaml. Each would have a shortcut tag, like master:, cd_archive:, converted_mp3:, etc. Each would have a directory: entry. Groups of settings like import: might be repository-specific or might be global. I haven't thought that through. I imagine using the shortcut tag in beets command line invocations, to specify in which repository an action should happen.
I haven't studied the command-line options enough to know to what extent they already let me do what I want. That's good homework for me.
Oops, didn't mean to push the "Close" button.
Very cool idea.
On Fri, Mar 15, 2013 at 11:00 AM, Jim DeLaHunt notifications@github.com wrote:
For part A, multiple repositories, my idea was to be able to have multiple repositories declared in ~/.config/beets/config.yaml. Each would have a shortcut tag, like master:, cd_archive:, converted_mp3:, etc. Each would have a directory: entry. Groups of settings like import: might be repository-specific or might be global. I haven't thought that through. I imagine using the shortcut tag in beets command line invocations, to specify in which repository an action should happen.
I haven't studied the command-line options enough to know to what extent they already let me do what I want. That's good homework for me.
Reply to this email directly or view it on GitHub: https://github.com/sampsyo/beets/issues/221#issuecomment-14975749
i have the same problem and like this idea too
+1 ... It could help to have the library.db file near the actual library directory (useful when the library is accessed from multiples computers). For example the beets library directory could contain a .beets
directory with config.yaml
, library.db
etc. files which overwrites the ~/.config/beets
ones.
A global commandline switch to select the right library (with eventually like JDLH said, shortcuts and default repository declarations in ~/.config/beets/config.yaml
).
With this implemented, it would be easy to write a plugin that automates your CD ripping workflow.
+1: I would use it to separate FLAC and mp3 on one hand. On the other side I want to separate the music for kids from the "adult" music and separate audio books and music in separate repositories.
My music workflow has three music repositories, all parallel and related:
Also, since I ripped a lot of CDs before I decided to make repository 1, I have:
You could imagine having multiple variants of repository 3, with subsets of the music for different devices or different people.
As far as I see, beets only knows about one repository.
I propose: a. adding a way to declare multiple related repositories, and let each beets command take as a parameter the repository it should operate on b. adding beets commands to generate files in repository X based on sources in repository Y. c. adding consistency rules between repositories, so that on command beets can figure out what files need to get changed or generated, and schedule that work
I understand this might be a major architectural shift. It may take time. That's OK. I just want to put an entry in the wish-list.