Development/Summer of Code/2024/Picard

From MusicBrainz Wiki
Jump to navigationJump to search

MusicBrainz Picard is a cross-platform (Linux/Mac OS X/Windows) application written in Python and is the official MusicBrainz tagger. It supports the majority of audio file formats, is capable of using audio fingerprints (AcoustIDs), performing CD lookups and disc ID submissions, and it has excellent Unicode support. Try it out.

Getting Started

(see also: Getting started with GSoC)

Ideas

Configuration wizard on first run

Proposed Mentors: outsidecontext / zas
Languages/skills: Python / Qt
Estimated Project Length: 175 hours
Difficulty: Medium
Expected Outcome: A fully debugged, deployable wizard for Picard.

Implement a setup wizard that runs on first start. The wizard will replace the current "new user dialog" and will allow the user to setup the basic configuration. The setup wizard is focused on helping new users, so it should focus on the most relevant options while keeping things easy. See the ticket PICARD-292.

This project would entail the following components:

  1. Define the relevant configuration options that the wizard should offer
  2. Define the individual steps of the wizard dialog
  3. Design the user interface with Qt designer
  4. Implement the dialog logic in Python

Add options for cover art processing

Proposed Mentors: outsidecontext / zas
Languages/skills: Python / Image processing
Estimated Project Length: 350 hours
Difficulty: Medium
Expected Outcomes: A deployable new features PR for Picard.

Picard should allow to post process cover art images provided by the providers. For this there could be provider independent options to restrict image sizes, resize images if it exceeds a maximum allowed size or automatic format conversion.

This project would entail the following components:

  1. Evaluate the suggested components for image processing and choose the best fit
  2. Add the necessary options UI to allow the user to configure the image processing
  3. Implement the image processing for resizing and format selection
  4. Implement a image post processing plugin hook to allow plugins to do additional image manipulations

Related ticket Add cover art image processing