Decide carefully where external::musicbrainz belongs #193

Closed
opened 2024-08-27 14:53:28 +02:00 by wojtek · 4 comments
Owner

It was originally added to lib but unlike Library and Database the MusicHoard object does not use it. Rather it is used by other components to collect information which is only then fed into MusicHoard.

It was originally added to `lib` but unlike `Library` and `Database` the `MusicHoard` object does not use it. Rather it is used by other components to collect information which is only then fed into `MusicHoard`.
wojtek added this to the v1.0.0-alpha milestone 2024-08-27 14:53:28 +02:00
wojtek added the
chore
label 2024-08-27 14:53:28 +02:00
Author
Owner

Thought: the implementation is geared specifically to how it is intended to be used by the TUI. It is not intended to be a general MB API. Therefore, it might make sense to move it entirely into the TUI crate.

Thought: the implementation is geared specifically to how it is intended to be used by the TUI. It is not intended to be a general MB API. Therefore, it might make sense to move it entirely into the TUI crate.
Author
Owner

Thought 2: Refactor the lib part to be general (but only up to degree needed by TUI). TUI then makes specific calls geared towards its needs.

Thought 2: Refactor the lib part to be general (but only up to degree needed by TUI). TUI then makes specific calls geared towards its needs.
Author
Owner

As part of this grep and remove all dependence on musichoard::interface::musicbrainz::* in the TUI crate.

As part of this grep and remove all dependence on `musichoard::interface::musicbrainz::*` in the TUI crate.
wojtek added this to the Album tracking project 2024-08-27 18:45:58 +02:00
Author
Owner

Conclusion:

  • Make the lib component implement a plain MusicBrainz API up to the degree of flexibility is needed. Such that it could be split out into its own independent crate if desirable.
  • Migrate core::interface::musicbrainz entirely to the TUI crate.
  • The lib API implementation should not be behind a trait. That's for the user to define.
Conclusion: - Make the lib component implement a plain MusicBrainz API up to the degree of flexibility is needed. Such that it could be split out into its own independent crate if desirable. - Migrate `core::interface::musicbrainz` entirely to the TUI crate. - The lib API implementation should not be behind a trait. That's for the user to define.
wojtek added reference 193---decide-carefully-where-external--musicbrainz-belongs 2024-08-28 16:40:45 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: wojtek/musichoard#193
No description provided.