One of the changes that is planned for implementation in the next version (v2.7) of Picard is the ability to set different user option profiles. The request for this functionality has been on the books for quite a while as you can see from the single-digit ticket number!
https://tickets.metabrainz.org/browse/PICARD-9
The new system design is actually quite powerful, but can be somewhat confusing at first. The following is the initial documentation for this new functionality. Because this is such a significant change, weâd appreciate any feedback and suggestions regarding the User Option Profiles system, and especially any comments as to how we can improve the documentation to make it easier to understand.
Thanks.
User Option Profiles
As of version 2.7, Picard supports multiple user option profiles that can allow the user to quickly switch between option settings.
How User Option Profiles Work
A profile is defined by a set of options it manages. For example, one profile may include settings for file naming such as the target directory and which file naming script to use, while another profile may include different settings for the same options or different options entirely (or some of each). Profiles are stacked and processed in the order specified by the user, from top to bottom with the lowest level being the systemâs âuser settingsâ profile. Each user-defined profile can be enabled or disabled independently from the other user-defined profiles. The systemâs âuser settingsâ profile is always enabled and includes all options.
When an option value is retrieved as part of Picardâs processing, it comes from the first enabled profile in the stack that manages that option. Similarly, when a new value is set for an option in the Options...
window, the change will only be applied to the first enabled profile in the stack that manages that option.
Initially, the profile stack contains only the systemâs âuser settingsâ profile, which holds the default settings for the user.
Example of Using Option Profiles
For this example, the user would like to define a set of options with alternate values, in this case a target directory where audio files are saved (option move_files_to
).
The user creates a new profile (named âTargetMyDirâ), adds the option move_files_to
to it, and enables this profile. The stack is now:
[x] TargetMyDir move_files_to
[x] user settings move_files_to [plus all other settings]
Since the profile âTargetMyDirâ is enabled, any change to move_files_to
is done within this profile, and âuser settingsâ still has the old move_files_to
value.
Now the user wants to work on another set of music files, wanting to disable windows_compatibility
for this set and save them to the ânot_for_windowsâ directory.
They create a new profile (named âByeByeWinâ), add options move_files_to
and windows_compatibility
, and enable it. Now the stack looks like:
[x] ByeByeWin move_files_to windows_compatibility
[x] TargetMyDir move_files_to
[x] user settings move_files_to windows_compatibility [plus all other settings]
They change the values of move_files_to
(to ânot_for_windowsâ) and windows_compatibility
(to false). Now when they process their files, the files are saved to the âByeByeWinâ move_files_to
directory, with windows_compatibility
= false.
Now the user wants to save files to the âTargetMyDirâ target directory again, with their usual options. To do this they simply disable the âByeByeWinâ profile (which can later be re-enabled if needed). The stack looks like:
[ ] ByeByeWin move_files_to windows_compatibility
[x] TargetMyDir move_files_to
[x] user settings move_files_to windows_compatibility [plus all other settings]
Finally, to return to their usual output directory the user only has to disable the âTargetMyDirâ profile so the stack is:
[ ] ByeByeWin move_files_to windows_compatibility
[ ] TargetMyDir move_files_to
[x] user settings move_files_to windows_compatibility [plus all other settings]
Managing User Option Profiles
All user option profile management is done within the User Option Profile Editor screen available from the "Options > ~~User~~ Option Profiles..."
item on the menu bar. From this screen you will be able to add, copy, edit, remove, enable and disable profiles, as well as setting the order of the profile stack.
Initially, the list of profiles will be empty. To create a new profile click on the New
button. This will create a profile with no options selected for the profile to manage. To rename the profile, right-click on the profile name and select the Rename profile
command. The list of options that the profile is to manage are selected from the list in the right-hand pane. Options can be selected either by group or individually. The groups can be expanded to see the individual options belonging to that group.
The profiles stack order can be rearranged either by selecting a profile and using the up and down arrow buttons below the list, or by dragging the profile to a new position in the stack. Profiles are enabled when the box beside the profileâs name is checked.
When you are satisfied with your changes, click the Make It So!
button to store them and exit the profile editor screen. Use the Cancel
button to exit without saving your changes.
NOTE:
Creating a new profile, or adding new options to an existing profile, does not save the settings for the options. The option settings will only be updated when you make and save changes in the "Options > Options..."
dialog, and only if the profile is the first enabled one in the stack that manages those options.
To update the settings for the options managed by the new profile, the recommended steps are:
-
Enable the new profile and disable all others. This is the safest way to avoid accidentally applying changes to another profile.
-
Exit the profile editor and open the
Options...
screen. -
Make the desired changes to the options managed by the profile, and save them using the
Make It So!
button. -
Return to the profile editor and set the stack order and enabled profiles as desired.