diff --git a/picard/cluster.py b/picard/cluster.py index 496cbc208..9016b0606 100644 --- a/picard/cluster.py +++ b/picard/cluster.py @@ -143,7 +143,7 @@ class Cluster(QtCore.QObject, Item): total += similarity2(a, b) * self.comparison_weights['title'] a = self.metadata['artist'] - b = artist_credit_from_node(release.artist_credit[0])[0] + b = artist_credit_from_node(release.artist_credit[0], self.config)[0] total += similarity2(a, b) * self.comparison_weights['artist'] a = len(self.files) diff --git a/picard/file.py b/picard/file.py index 52d731593..f993794c1 100644 --- a/picard/file.py +++ b/picard/file.py @@ -454,7 +454,7 @@ class File(LockableObject, Item): if 'artist' in self.metadata: a = self.metadata['artist'] - b = artist_credit_from_node(track.artist_credit[0])[0] + b = artist_credit_from_node(track.artist_credit[0], self.config)[0] parts.append((similarity2(a, b), 4)) total += 4 diff --git a/picard/mbxml.py b/picard/mbxml.py index e3e55adfa..b00146cf0 100644 --- a/picard/mbxml.py +++ b/picard/mbxml.py @@ -105,13 +105,14 @@ def _set_artist_item(m, release, albumname, name, value): m[name] = value -def artist_credit_from_node(node): +def artist_credit_from_node(node, config=None): artist = "" artistsort = "" + standardize_name = config and config.setting["standardize_artists"] for credit in node.name_credit: a = credit.artist[0] artistsort += a.sort_name[0].text - if 'name' in credit.children: + if 'name' in credit.children and not standardize_name: artist += credit.name[0].text else: artist += a.name[0].text @@ -121,10 +122,10 @@ def artist_credit_from_node(node): return (artist, artistsort) -def artist_credit_to_metadata(node, m=None, release=None): +def artist_credit_to_metadata(node, m=None, release=None, config=None): ids = [n.artist[0].id for n in node.name_credit] _set_artist_item(m, release, 'musicbrainz_albumartistid', 'musicbrainz_artistid', ids) - artist, artistsort = artist_credit_from_node(node) + artist, artistsort = artist_credit_from_node(node, config) _set_artist_item(m, release, 'albumartist', 'artist', artist) _set_artist_item(m, release, 'albumartistsort', 'artistsort', artistsort) @@ -133,17 +134,19 @@ def track_to_metadata(node, track, config=None): m = track.metadata recording_to_metadata(node.recording[0], track, config) # overwrite with data we have on the track + standardize_title = config and config.setting["standardize_tracks"] + standardize_artist = config and config.setting["standardize_artists"] for name, nodes in node.children.iteritems(): if not nodes: continue - if name == 'title': + if name == 'title' and not standardize_title: m['title'] = nodes[0].text if name == 'position': m['tracknumber'] = nodes[0].text elif name == 'length' and nodes[0].text: m.length = int(nodes[0].text) - elif name == 'artist_credit': - artist_credit_to_metadata(nodes[0], m) + elif name == 'artist_credit' and not standardize_artist: + artist_credit_to_metadata(nodes[0], m, config=config) def recording_to_metadata(node, track, config=None): @@ -158,7 +161,7 @@ def recording_to_metadata(node, track, config=None): elif name == 'length' and nodes[0].text: m.length = int(nodes[0].text) elif name == 'artist_credit': - artist_credit_to_metadata(nodes[0], m) + artist_credit_to_metadata(nodes[0], m, config=config) if name == 'relation_list': _relations_to_metadata(nodes, m, config) elif name == 'release_list' and nodes[0].count != '0': @@ -176,6 +179,7 @@ def recording_to_metadata(node, track, config=None): def release_to_metadata(node, m, config=None, album=None): """Make metadata dict from a XML 'release' node.""" m['musicbrainz_albumid'] = node.attribs['id'] + standardize_title = config and config.setting["standardize_releases"] for name, nodes in node.children.iteritems(): if not nodes: @@ -183,14 +187,16 @@ def release_to_metadata(node, m, config=None, album=None): if name == 'release_group': if 'type' in nodes[0].attribs: m['releasetype'] = nodes[0].type.lower() + if standardize_title: + m['album'] = nodes[0].title[0].text elif name == 'status': m['releasestatus'] = nodes[0].text.lower() - elif name == 'title': + elif name == 'title' and not standardize_title: m['album'] = nodes[0].text elif name == 'asin': m['asin'] = nodes[0].text elif name == 'artist_credit': - artist_credit_to_metadata(nodes[0], m, True) + artist_credit_to_metadata(nodes[0], m, True, config=config) elif name == 'date': m['date'] = nodes[0].text elif name == 'country': diff --git a/picard/ui/cdlookup.py b/picard/ui/cdlookup.py index ca7c57c45..7eb155e80 100644 --- a/picard/ui/cdlookup.py +++ b/picard/ui/cdlookup.py @@ -34,7 +34,7 @@ class CDLookupDialog(QtGui.QDialog): for release in self.releases: item = QtGui.QTreeWidgetItem(self.ui.release_list) item.setText(0, release.title[0].text) - item.setText(1, artist_credit_from_node(release.artist_credit[0])[0]) + item.setText(1, artist_credit_from_node(release.artist_credit[0], self.config)[0]) item.setData(0, QtCore.Qt.UserRole, QtCore.QVariant(release.id)) self.ui.release_list.setCurrentItem(self.ui.release_list.topLevelItem(0)) self.ui.ok_button.setEnabled(True) diff --git a/picard/ui/itemviews.py b/picard/ui/itemviews.py index 60d3d4ff9..3a62e83de 100644 --- a/picard/ui/itemviews.py +++ b/picard/ui/itemviews.py @@ -497,9 +497,15 @@ class BaseTreeView(QtGui.QTreeWidget): files.append(filename) elif url.scheme() == "http": path = unicode(url.path()) - match = re.search(r"release/([0-9a-z\-]{36})", path) - if match: - self.tagger.load_album(match.group(1)) + match = re.search(r"/(release|recording)/([0-9a-z\-]{36})", path) + if not match: + continue + entity = match.group(1) + mbid = match.group(2) + if entity == "release": + self.tagger.load_album(mbid) + elif entity == "recording": + self.tagger.load_nat(mbid) if files: self.tagger.add_files(files) diff --git a/picard/ui/options/metadata.py b/picard/ui/options/metadata.py index 4a3636979..31120ff30 100644 --- a/picard/ui/options/metadata.py +++ b/picard/ui/options/metadata.py @@ -41,6 +41,9 @@ class MetadataOptionsPage(OptionsPage): BoolOption("setting", "track_ars", False), BoolOption("setting", "folksonomy_tags", False), BoolOption("setting", "convert_punctuation", False), + BoolOption("setting", "standardize_tracks", False), + BoolOption("setting", "standardize_releases", False), + BoolOption("setting", "standardize_artists", False), ] def __init__(self, parent=None): @@ -58,6 +61,9 @@ class MetadataOptionsPage(OptionsPage): self.ui.folksonomy_tags.setChecked(self.config.setting["folksonomy_tags"]) self.ui.va_name.setText(self.config.setting["va_name"]) self.ui.nat_name.setText(self.config.setting["nat_name"]) + self.ui.standardize_tracks.setChecked(self.config.setting["standardize_tracks"]) + self.ui.standardize_releases.setChecked(self.config.setting["standardize_releases"]) + self.ui.standardize_artists.setChecked(self.config.setting["standardize_artists"]) def save(self): self.config.setting["translate_artist_names"] = self.ui.translate_artist_names.isChecked() @@ -67,6 +73,9 @@ class MetadataOptionsPage(OptionsPage): self.config.setting["folksonomy_tags"] = self.ui.folksonomy_tags.isChecked() self.config.setting["va_name"] = self.ui.va_name.text() self.config.setting["nat_name"] = self.ui.nat_name.text() + self.config.setting["standardize_tracks"] = self.ui.standardize_tracks.isChecked() + self.config.setting["standardize_releases"] = self.ui.standardize_releases.isChecked() + self.config.setting["standardize_artists"] = self.ui.standardize_artists.isChecked() def set_va_name_default(self): self.ui.va_name.setText(self.options[0].default) diff --git a/picard/ui/ui_options_metadata.py b/picard/ui/ui_options_metadata.py index 112cbe6e4..e802ce136 100644 --- a/picard/ui/ui_options_metadata.py +++ b/picard/ui/ui_options_metadata.py @@ -2,8 +2,8 @@ # Form implementation generated from reading ui file 'ui/options_metadata.ui' # -# Created: Sun Apr 10 19:32:51 2011 -# by: PyQt4 UI code generator 4.7.4 +# Created: Fri Jun 3 19:41:05 2011 +# by: PyQt4 UI code generator 4.8.4 # # WARNING! All changes made in this file will be lost! @@ -12,59 +12,189 @@ from PyQt4 import QtCore, QtGui class Ui_MetadataOptionsPage(object): def setupUi(self, MetadataOptionsPage): MetadataOptionsPage.setObjectName("MetadataOptionsPage") - MetadataOptionsPage.resize(423, 445) + MetadataOptionsPage.resize(423, 485) self.verticalLayout = QtGui.QVBoxLayout(MetadataOptionsPage) + self.verticalLayout.setContentsMargins(-1, 0, -1, -1) self.verticalLayout.setObjectName("verticalLayout") + self.verticalLayout_2 = QtGui.QVBoxLayout() + self.verticalLayout_2.setSpacing(0) + self.verticalLayout_2.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) + self.verticalLayout_2.setContentsMargins(-1, 0, -1, -1) + self.verticalLayout_2.setObjectName("verticalLayout_2") self.rename_files = QtGui.QGroupBox(MetadataOptionsPage) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.rename_files.sizePolicy().hasHeightForWidth()) + self.rename_files.setSizePolicy(sizePolicy) + self.rename_files.setMinimumSize(QtCore.QSize(397, 135)) + font = QtGui.QFont() + self.rename_files.setFont(font) + self.rename_files.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.rename_files.setObjectName("rename_files") - self.gridLayout = QtGui.QGridLayout(self.rename_files) - self.gridLayout.setSpacing(2) - self.gridLayout.setObjectName("gridLayout") self.translate_artist_names = QtGui.QCheckBox(self.rename_files) + self.translate_artist_names.setGeometry(QtCore.QRect(13, 34, 380, 21)) self.translate_artist_names.setObjectName("translate_artist_names") - self.gridLayout.addWidget(self.translate_artist_names, 0, 0, 1, 2) self.convert_punctuation = QtGui.QCheckBox(self.rename_files) + self.convert_punctuation.setGeometry(QtCore.QRect(13, 51, 332, 21)) self.convert_punctuation.setObjectName("convert_punctuation") - self.gridLayout.addWidget(self.convert_punctuation, 1, 0, 1, 2) self.release_ars = QtGui.QCheckBox(self.rename_files) + self.release_ars.setGeometry(QtCore.QRect(13, 68, 182, 21)) self.release_ars.setObjectName("release_ars") - self.gridLayout.addWidget(self.release_ars, 2, 0, 1, 2) self.track_ars = QtGui.QCheckBox(self.rename_files) + self.track_ars.setGeometry(QtCore.QRect(13, 85, 170, 21)) self.track_ars.setObjectName("track_ars") - self.gridLayout.addWidget(self.track_ars, 3, 0, 1, 2) self.folksonomy_tags = QtGui.QCheckBox(self.rename_files) + self.folksonomy_tags.setGeometry(QtCore.QRect(13, 102, 215, 21)) self.folksonomy_tags.setObjectName("folksonomy_tags") - self.gridLayout.addWidget(self.folksonomy_tags, 4, 0, 1, 2) - self.verticalLayout.addWidget(self.rename_files) + self.verticalLayout_2.addWidget(self.rename_files) self.rename_files_2 = QtGui.QGroupBox(MetadataOptionsPage) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.rename_files_2.sizePolicy().hasHeightForWidth()) + self.rename_files_2.setSizePolicy(sizePolicy) + self.rename_files_2.setMinimumSize(QtCore.QSize(397, 152)) + self.rename_files_2.setFlat(False) self.rename_files_2.setObjectName("rename_files_2") - self.gridlayout = QtGui.QGridLayout(self.rename_files_2) - self.gridlayout.setMargin(9) + self.label_5 = QtGui.QLabel(self.rename_files_2) + self.label_5.setGeometry(QtCore.QRect(13, 115, 80, 17)) + self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_5.setObjectName("label_5") + self.label_3 = QtGui.QLabel(self.rename_files_2) + self.label_3.setGeometry(QtCore.QRect(13, 65, 71, 17)) + self.label_3.setLayoutDirection(QtCore.Qt.LeftToRight) + self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_3.setObjectName("label_3") + self.standardize_releases = QtGui.QRadioButton(self.rename_files_2) + self.standardize_releases.setGeometry(QtCore.QRect(243, 90, 19, 18)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.standardize_releases.sizePolicy().hasHeightForWidth()) + self.standardize_releases.setSizePolicy(sizePolicy) + self.standardize_releases.setText(("")) + self.standardize_releases.setObjectName("standardize_releases") + self.buttonGroup_2 = QtGui.QButtonGroup(MetadataOptionsPage) + self.buttonGroup_2.setObjectName("buttonGroup_2") + self.buttonGroup_2.addButton(self.standardize_releases) + self.label_2 = QtGui.QLabel(self.rename_files_2) + self.label_2.setGeometry(QtCore.QRect(212, 34, 88, 17)) + font = QtGui.QFont() + font.setWeight(75) + font.setBold(True) + self.label_2.setFont(font) + self.label_2.setAlignment(QtCore.Qt.AlignCenter) + self.label_2.setObjectName("label_2") + self.standardize_artists = QtGui.QRadioButton(self.rename_files_2) + self.standardize_artists.setGeometry(QtCore.QRect(243, 115, 19, 18)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.standardize_artists.sizePolicy().hasHeightForWidth()) + self.standardize_artists.setSizePolicy(sizePolicy) + self.standardize_artists.setText(("")) + self.standardize_artists.setObjectName("standardize_artists") + self.buttonGroup_3 = QtGui.QButtonGroup(MetadataOptionsPage) + self.buttonGroup_3.setObjectName("buttonGroup_3") + self.buttonGroup_3.addButton(self.standardize_artists) + self.label = QtGui.QLabel(self.rename_files_2) + self.label.setGeometry(QtCore.QRect(103, 34, 79, 17)) + font = QtGui.QFont() + font.setWeight(75) + font.setBold(True) + self.label.setFont(font) + self.label.setAlignment(QtCore.Qt.AlignCenter) + self.label.setObjectName("label") + self.label_4 = QtGui.QLabel(self.rename_files_2) + self.label_4.setGeometry(QtCore.QRect(13, 90, 83, 17)) + self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.label_4.setObjectName("label_4") + self.artists_on_cover = QtGui.QRadioButton(self.rename_files_2) + self.artists_on_cover.setGeometry(QtCore.QRect(129, 115, 19, 18)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.artists_on_cover.sizePolicy().hasHeightForWidth()) + self.artists_on_cover.setSizePolicy(sizePolicy) + self.artists_on_cover.setText(("")) + self.artists_on_cover.setChecked(True) + self.artists_on_cover.setObjectName("artists_on_cover") + self.buttonGroup_3.addButton(self.artists_on_cover) + self.releases_on_cover = QtGui.QRadioButton(self.rename_files_2) + self.releases_on_cover.setGeometry(QtCore.QRect(129, 90, 19, 18)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.releases_on_cover.sizePolicy().hasHeightForWidth()) + self.releases_on_cover.setSizePolicy(sizePolicy) + self.releases_on_cover.setText(("")) + self.releases_on_cover.setChecked(True) + self.releases_on_cover.setObjectName("releases_on_cover") + self.buttonGroup_2.addButton(self.releases_on_cover) + self.standardize_tracks = QtGui.QRadioButton(self.rename_files_2) + self.standardize_tracks.setEnabled(True) + self.standardize_tracks.setGeometry(QtCore.QRect(243, 65, 19, 18)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.standardize_tracks.sizePolicy().hasHeightForWidth()) + self.standardize_tracks.setSizePolicy(sizePolicy) + self.standardize_tracks.setMinimumSize(QtCore.QSize(0, 0)) + self.standardize_tracks.setText(("")) + self.standardize_tracks.setObjectName("standardize_tracks") + self.buttonGroup = QtGui.QButtonGroup(MetadataOptionsPage) + self.buttonGroup.setObjectName("buttonGroup") + self.buttonGroup.addButton(self.standardize_tracks) + self.tracks_on_cover = QtGui.QRadioButton(self.rename_files_2) + self.tracks_on_cover.setGeometry(QtCore.QRect(129, 65, 19, 18)) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.tracks_on_cover.sizePolicy().hasHeightForWidth()) + self.tracks_on_cover.setSizePolicy(sizePolicy) + self.tracks_on_cover.setLayoutDirection(QtCore.Qt.LeftToRight) + self.tracks_on_cover.setText(("")) + self.tracks_on_cover.setIconSize(QtCore.QSize(16, 16)) + self.tracks_on_cover.setChecked(True) + self.tracks_on_cover.setObjectName("tracks_on_cover") + self.buttonGroup.addButton(self.tracks_on_cover) + self.verticalLayout_2.addWidget(self.rename_files_2) + self.rename_files_3 = QtGui.QGroupBox(MetadataOptionsPage) + sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.rename_files_3.sizePolicy().hasHeightForWidth()) + self.rename_files_3.setSizePolicy(sizePolicy) + self.rename_files_3.setMinimumSize(QtCore.QSize(397, 0)) + self.rename_files_3.setObjectName("rename_files_3") + self.gridlayout = QtGui.QGridLayout(self.rename_files_3) self.gridlayout.setSpacing(2) self.gridlayout.setObjectName("gridlayout") - self.label_3 = QtGui.QLabel(self.rename_files_2) - self.label_3.setObjectName("label_3") - self.gridlayout.addWidget(self.label_3, 0, 0, 1, 2) - self.label_4 = QtGui.QLabel(self.rename_files_2) - self.label_4.setObjectName("label_4") - self.gridlayout.addWidget(self.label_4, 2, 0, 1, 2) - self.nat_name = QtGui.QLineEdit(self.rename_files_2) + self.label_6 = QtGui.QLabel(self.rename_files_3) + self.label_6.setObjectName("label_6") + self.gridlayout.addWidget(self.label_6, 0, 0, 1, 2) + self.label_7 = QtGui.QLabel(self.rename_files_3) + self.label_7.setObjectName("label_7") + self.gridlayout.addWidget(self.label_7, 2, 0, 1, 2) + self.nat_name = QtGui.QLineEdit(self.rename_files_3) self.nat_name.setObjectName("nat_name") self.gridlayout.addWidget(self.nat_name, 3, 0, 1, 1) - self.nat_name_default = QtGui.QPushButton(self.rename_files_2) + self.nat_name_default = QtGui.QPushButton(self.rename_files_3) self.nat_name_default.setObjectName("nat_name_default") self.gridlayout.addWidget(self.nat_name_default, 3, 1, 1, 1) - self.va_name_default = QtGui.QPushButton(self.rename_files_2) + self.va_name_default = QtGui.QPushButton(self.rename_files_3) self.va_name_default.setObjectName("va_name_default") self.gridlayout.addWidget(self.va_name_default, 1, 1, 1, 1) - self.va_name = QtGui.QLineEdit(self.rename_files_2) + self.va_name = QtGui.QLineEdit(self.rename_files_3) self.va_name.setObjectName("va_name") self.gridlayout.addWidget(self.va_name, 1, 0, 1, 1) - self.verticalLayout.addWidget(self.rename_files_2) - spacerItem1 = QtGui.QSpacerItem(261, 16, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) - self.verticalLayout.addItem(spacerItem1) - self.label_3.setBuddy(self.va_name_default) - self.label_4.setBuddy(self.nat_name_default) + self.verticalLayout_2.addWidget(self.rename_files_3) + self.verticalLayout.addLayout(self.verticalLayout_2) + spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.MinimumExpanding) + self.verticalLayout.addItem(spacerItem) + self.label_6.setBuddy(self.va_name_default) + self.label_7.setBuddy(self.nat_name_default) self.retranslateUi(MetadataOptionsPage) QtCore.QMetaObject.connectSlotsByName(MetadataOptionsPage) @@ -74,14 +204,21 @@ class Ui_MetadataOptionsPage(object): MetadataOptionsPage.setTabOrder(self.nat_name, self.nat_name_default) def retranslateUi(self, MetadataOptionsPage): - self.rename_files.setTitle(_("Metadata")) + self.rename_files.setTitle(_("MetadataOptionsPage")) self.translate_artist_names.setText(_("Translate foreign artist names to English where possible")) self.convert_punctuation.setText(_("Convert Unicode punctuation characters to ASCII")) self.release_ars.setText(_("Use release relationships")) self.track_ars.setText(_("Use track relationships")) self.folksonomy_tags.setText(_("Use folksonomy tags as genre")) - self.rename_files_2.setTitle(_("Custom Fields")) - self.label_3.setText(_("Various artists:")) - self.label_4.setText(_("Non-album tracks:")) + self.rename_files_2.setTitle(_("Standardization")) + self.label_5.setText(_("Artist names")) + self.label_3.setText(_("Track titles")) + self.label_2.setText(_("Standardized")) + self.label.setText(_("As on cover")) + self.label_4.setText(_("Release titles")) + self.rename_files_3.setTitle(_("Custom Fields")) + self.label_6.setText(_("Various artists:")) + self.label_7.setText(_("Non-album tracks:")) self.nat_name_default.setText(_("Default")) self.va_name_default.setText(_("Default")) + diff --git a/ui/options_metadata.ui b/ui/options_metadata.ui index 699981ee4..79b11fa3a 100644 --- a/ui/options_metadata.ui +++ b/ui/options_metadata.ui @@ -7,118 +7,470 @@ 0 0 423 - 445 + 485 + + 0 + - - - Metadata + + + 0 - - - 2 - - + + QLayout::SetDefaultConstraint + + + 0 + + + + + + 0 + 0 + + + + + 397 + 135 + + + + + false + + + + Metadata + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + 13 + 34 + 380 + 21 + + Translate foreign artist names to English where possible - - + + + 13 + 51 + 332 + 21 + + Convert Unicode punctuation characters to ASCII - - + + + 13 + 68 + 182 + 21 + + Use release relationships - - + + + 13 + 85 + 170 + 21 + + Use track relationships - - + + + 13 + 102 + 215 + 21 + + Use folksonomy tags as genre - - - - - - - - Custom Fields - - - - 2 - - + + + + + + + 0 + 0 + + + + + 397 + 152 + + + + Standardization + + + false + + + + + 13 + 115 + 80 + 17 + + + + Artist names + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + - - Various artists: + + + 13 + 65 + 71 + 17 + - - va_name_default + + Qt::LeftToRight + + + Track titles + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 243 + 90 + 19 + 18 + + + + + 0 + 0 + + + + + + + buttonGroup_2 + + + + + + 212 + 34 + 88 + 17 + + + + + 75 + true + + + + Standardized + + + Qt::AlignCenter + + + + + + 243 + 115 + 19 + 18 + + + + + 0 + 0 + + + + + + + buttonGroup_3 + + + + + + 103 + 34 + 79 + 17 + + + + + 75 + true + + + + As on cover + + + Qt::AlignCenter - - - - Non-album tracks: + + + 13 + 90 + 83 + 17 + - - nat_name_default + + Release titles + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - Default + + + + 129 + 115 + 19 + 18 + - - - - - - Default + + + 0 + 0 + + + + + + true + + + buttonGroup_3 + - - - - - - + + + + 129 + 90 + 19 + 18 + + + + + 0 + 0 + + + + + + + true + + + buttonGroup_2 + + + + + true + + + + 243 + 65 + 19 + 18 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + buttonGroup + + + + + + 129 + 65 + 19 + 18 + + + + + 0 + 0 + + + + Qt::LeftToRight + + + + + + + 16 + 16 + + + + true + + + buttonGroup + + + + + + + + + 0 + 0 + + + + + 397 + 0 + + + + Custom Fields + + + + 2 + + + + + Various artists: + + + va_name_default + + + + + + + Non-album tracks: + + + nat_name_default + + + + + + + + + + Default + + + + + + + Default + + + + + + + + + + - + Qt::Vertical + + QSizePolicy::MinimumExpanding + - 261 - 16 + 20 + 40 @@ -134,4 +486,9 @@ + + + + +