mirror of
https://github.com/fergalmoran/picard.git
synced 2026-02-24 00:26:08 +00:00
Merge remote-tracking branch 'voiceinsideyou/PICARD-186'
Conflicts: NEWS.txt
This commit is contained in:
2
NEWS.txt
2
NEWS.txt
@@ -10,6 +10,8 @@ Version UNRELEASED - 2012-XX-XX
|
||||
* Change cover art box to open MusicBrainz release rather than Amazon
|
||||
* Support manual drag-and-drop of cover art onto a release via cover art box
|
||||
* Only open browser on left-click of cover art box (PICARD-190)
|
||||
* Fix Lookup in Browser (previously 'tag lookup') for clusters (PICARD-186)
|
||||
* Lookup in Browser will now not use MBIDs to lookup unmatched files/clusters
|
||||
|
||||
Version 0.16 - 2011-10-23
|
||||
* Added AcoustID support.
|
||||
|
||||
@@ -392,6 +392,9 @@ class Album(DataObject, Item):
|
||||
def can_refresh(self):
|
||||
return True
|
||||
|
||||
def is_album_like(self):
|
||||
return True
|
||||
|
||||
def get_num_matched_tracks(self):
|
||||
num = 0
|
||||
for track in self.tracks:
|
||||
@@ -481,3 +484,6 @@ class NatAlbum(Album):
|
||||
|
||||
def _finalize_loading(self, error):
|
||||
self.update()
|
||||
|
||||
def can_browser_lookup(self):
|
||||
return False
|
||||
|
||||
@@ -121,6 +121,9 @@ class Cluster(QtCore.QObject, Item):
|
||||
def can_browser_lookup(self):
|
||||
return not self.special
|
||||
|
||||
def is_album_like(self):
|
||||
return True
|
||||
|
||||
def column(self, column):
|
||||
if column == 'title':
|
||||
return '%s (%d)' % (self.metadata['album'], self.metadata['totaltracks'])
|
||||
|
||||
@@ -407,20 +407,26 @@ class Tagger(QtGui.QApplication):
|
||||
lookup = self.get_file_lookup()
|
||||
getattr(lookup, type + "Search")(text, adv)
|
||||
|
||||
def lookup(self, metadata):
|
||||
"""Lookup the metadata on the MusicBrainz website."""
|
||||
def browser_lookup(self, item):
|
||||
"""Lookup the object's metadata on the MusicBrainz website."""
|
||||
lookup = self.get_file_lookup()
|
||||
metadata = item.metadata
|
||||
albumid = metadata["musicbrainz_albumid"]
|
||||
trackid = metadata["musicbrainz_trackid"]
|
||||
if trackid:
|
||||
# Only lookup via MB IDs if matched to a DataObject; otherwise ignore and use metadata details
|
||||
if isinstance(item, Track) and trackid:
|
||||
lookup.trackLookup(trackid)
|
||||
elif albumid:
|
||||
elif isinstance(item, Album) and albumid:
|
||||
lookup.albumLookup(albumid)
|
||||
else:
|
||||
lookup.tagLookup(metadata["artist"], metadata["album"],
|
||||
metadata["title"], metadata["tracknumber"],
|
||||
str(metadata.length),
|
||||
metadata["~filename"], metadata["musicip_puid"])
|
||||
lookup.tagLookup(
|
||||
metadata["albumartist"] if item.is_album_like() else metadata["artist"],
|
||||
metadata["album"],
|
||||
metadata["title"],
|
||||
metadata["tracknumber"],
|
||||
'' if item.is_album_like() else str(metadata.length),
|
||||
item.filename if isinstance(item, File) else '',
|
||||
metadata["musicip_puid"])
|
||||
|
||||
def get_files_from_objects(self, objects, save=False):
|
||||
"""Return list of files from list of albums, clusters, tracks or files."""
|
||||
|
||||
@@ -48,3 +48,6 @@ class Item(object):
|
||||
|
||||
def can_browser_lookup(self):
|
||||
return True
|
||||
|
||||
def is_album_like(self):
|
||||
return False
|
||||
|
||||
@@ -232,6 +232,8 @@ class BaseTreeView(QtGui.QTreeWidget):
|
||||
if isinstance(obj, NonAlbumTrack):
|
||||
menu.addAction(self.window.refresh_action)
|
||||
elif isinstance(obj, Cluster):
|
||||
menu.addAction(self.window.browser_lookup_action)
|
||||
menu.addSeparator()
|
||||
menu.addAction(self.window.autotag_action)
|
||||
menu.addAction(self.window.analyze_action)
|
||||
if isinstance(obj, UnmatchedFiles):
|
||||
|
||||
@@ -309,8 +309,8 @@ class MainWindow(QtGui.QMainWindow):
|
||||
self.remove_action.setEnabled(False)
|
||||
self.connect(self.remove_action, QtCore.SIGNAL("triggered()"), self.remove)
|
||||
|
||||
self.browser_lookup_action = QtGui.QAction(icontheme.lookup('lookup-musicbrainz'), _(u"Lookup in Browser"), self)
|
||||
self.browser_lookup_action.setStatusTip(_(u"Lookup selected item on MusicBrainz"))
|
||||
self.browser_lookup_action = QtGui.QAction(icontheme.lookup('lookup-musicbrainz'), _(u"Lookup in &Browser"), self)
|
||||
self.browser_lookup_action.setStatusTip(_(u"Lookup selected item on MusicBrainz website"))
|
||||
self.browser_lookup_action.setEnabled(False)
|
||||
self.browser_lookup_action.triggered.connect(self.browser_lookup)
|
||||
|
||||
@@ -450,6 +450,7 @@ class MainWindow(QtGui.QMainWindow):
|
||||
menu.addAction(self.autotag_action)
|
||||
menu.addAction(self.analyze_action)
|
||||
menu.addAction(self.cluster_action)
|
||||
menu.addAction(self.browser_lookup_action)
|
||||
menu.addSeparator()
|
||||
menu.addAction(self.tags_from_filenames_action)
|
||||
self.menuBar().addSeparator()
|
||||
@@ -675,7 +676,7 @@ been merged with that of single artist albums."""),
|
||||
self.tagger.refresh(self.selected_objects)
|
||||
|
||||
def browser_lookup(self):
|
||||
self.tagger.lookup(self.selected_objects[0].metadata)
|
||||
self.tagger.browser_lookup(self.selected_objects[0])
|
||||
|
||||
def update_actions(self):
|
||||
can_remove = False
|
||||
|
||||
Reference in New Issue
Block a user