Accepting request 124381 from home:olh:branches:multimedia:apps

- Update to version 1.0 - 2012-06-02
  - New UI: Extended comparison of existing vs. MB metadata & tags (PICARD-43)
  - Merged the renaming and moving options pages
  - Removed the VA file naming format option (there is now a single format option) (PICARD-159)
  - Add %license% tag
  - Made %writer% available to tagger scripts and plugins with contents of songwriter (PICARD-21)
  - Allow two multi-valued variables to be merged in tagger scripting (PICARD-139)
  - Allow multi-valued variables to be transformed in tagger script and then set back in tags as multi-valued (PICARD-147)
  - Fix $copy not preserving multi-value variables as documented (PICARD-138)
  - Load/save free-text tags for ID3 as TXXX frames (PICARD-148)
  - Fix writing of MusicBrainz Work Id / musicbrainz_workid to tags (PICARD-88)
  - Handle mimetype for embedding cover art from EXIF jpegs (PICARD-27)
  - 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
  - Add Date/Country to CD Lookup results dialog (PICARD-198)
  - Fix/reset album folksonomy tag counts while refreshing releases (PICARD-4)
  - Plugins actions can now create sub-menus using the MENU class attribute
  - New plugin hook register_clusterlist_action
  - Display the port Picard is listening on at bottom right status bar (PICARD-191)
  - Make album drops from right hand pane to left default to "unmatched files" again (PICARD-33)
  - Remove .DS_Store, desktop.ini, and Thumbs.db from otherwise empty directories (PICARD-75)
  - Update artist translation to use new alias features (primary flag, sort names) (PICARD-200)
  - Deleted tags aren't indicated as changes (PICARD-165)
  - Picard log entries have inaccurate timestamp (PICARD-45)
  - Interface doesn't allow keyboard only management (PICARD-103)
  - Added option to preserve timestamps of tagged files (PICARD-31)
  - Added keyboard shortcut to reload release (PICARD-99)
  - Medium formats weren't listed in order in the "Other versions" menu (PICARD-91)
  - Couldn't select multiple directories in "Add Folder" window on OS X (PICARD-74)

OBS-URL: https://build.opensuse.org/request/show/124381
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/picard?expand=0&rev=26
This commit is contained in:
Olaf Hering 2012-06-10 22:21:31 +00:00 committed by Git OBS Bridge
parent 4fdd9a5bbb
commit 4ff1ab618d
6 changed files with 40 additions and 101 deletions

View File

@ -1,78 +0,0 @@
# -*- coding: utf-8 -*-
PLUGIN_NAME = u"Add Cluster As Release"
PLUGIN_AUTHOR = u"Lukáš Lalinský, Philip Jägenstedt"
PLUGIN_DESCRIPTION = ""
PLUGIN_VERSION = "0.2"
PLUGIN_API_VERSIONS = ["0.9.0", "0.10", "0.15.0"]
from picard.cluster import Cluster
from picard.util import webbrowser2
from picard.ui.itemviews import BaseAction, register_cluster_action
import codecs
import os
import tempfile
HTML_HEAD = """<!doctype html>
<meta charset="UTF-8">
<title>Add Cluster As Release</title>
<form action="http://musicbrainz.org/release/add" method="post">
"""
HTML_INPUT = """<input type="hidden" name="%s" value="%s">
"""
HTML_TAIL = """<input type="submit" value="Add Release">
</form>
<script>document.forms[0].submit()</script>
"""
HTML_ATTR_ESCAPE = {
"&": "&amp;",
'"': "&quot;"
}
class AddClusterAsRelease(BaseAction):
NAME = "Add Cluster As Release..."
def callback(self, objs):
if len(objs) != 1 or not isinstance(objs[0], Cluster):
return
cluster = objs[0]
(fd, fp) = tempfile.mkstemp(suffix=".html")
f = codecs.getwriter("utf-8")(os.fdopen(fd, "w"))
def esc(s):
return "".join(HTML_ATTR_ESCAPE.get(c, c) for c in s)
# add a global (release-level) name-value
def nv(n, v):
f.write(HTML_INPUT % (esc(n), esc(v)))
f.write(HTML_HEAD)
nv("artist_credit.names.0.artist.name", cluster.metadata["artist"])
nv("name", cluster.metadata["album"])
for i, file in enumerate(cluster.files):
try:
i = int(file.metadata["tracknumber"]) - 1
except:
pass
try:
m = int(file.metadata["discnumber"]) - 1
except:
m = 0
# add a track-level name-value
def tnv(n, v):
nv("mediums.%d.track.%d.%s" % (m, i, n), v)
tnv("name", file.metadata["title"])
if file.metadata["artist"] != cluster.metadata["artist"]:
tnv("artist_credit.names.0.name", file.metadata["artist"])
tnv("length", str(file.metadata.length))
f.write(HTML_TAIL)
f.close()
webbrowser2.open("file://"+fp)
register_cluster_action(AddClusterAsRelease())

View File

@ -1,15 +0,0 @@
# -*- coding: utf-8 -*-
PLUGIN_NAME = 'Feat. Artists'
PLUGIN_AUTHOR = 'Lukas Lalinsky'
PLUGIN_DESCRIPTION = 'Removes feat. artists from track titles.'
PLUGIN_VERSION = "0.1"
PLUGIN_API_VERSIONS = ["0.9.0", "0.10", "0.15"]
from picard.metadata import register_track_metadata_processor
import re
def remove_featartists(tagger, metadata, release, track):
metadata["title"] = re.sub(r"\s+\(feat. [^)]*\)", "", metadata["title"])
register_track_metadata_processor(remove_featartists)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5623216feddf6000187cead3746b3aebe5f603837e313c7dfc99783576f54b18
size 1828595

3
picard-1.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a8e3f2d54bbf707b3027c7c8fafcb0c52d034d36d7c45baa3e4d56c7a630bd10
size 1668228

View File

@ -1,3 +1,39 @@
-------------------------------------------------------------------
Mon Jun 11 00:10:04 CEST 2012 - ohering@suse.de
- Update to version 1.0 - 2012-06-02
- New UI: Extended comparison of existing vs. MB metadata & tags (PICARD-43)
- Merged the renaming and moving options pages
- Removed the VA file naming format option (there is now a single format option) (PICARD-159)
- Add %license% tag
- Made %writer% available to tagger scripts and plugins with contents of songwriter (PICARD-21)
- Allow two multi-valued variables to be merged in tagger scripting (PICARD-139)
- Allow multi-valued variables to be transformed in tagger script and then set back in tags as multi-valued (PICARD-147)
- Fix $copy not preserving multi-value variables as documented (PICARD-138)
- Load/save free-text tags for ID3 as TXXX frames (PICARD-148)
- Fix writing of MusicBrainz Work Id / musicbrainz_workid to tags (PICARD-88)
- Handle mimetype for embedding cover art from EXIF jpegs (PICARD-27)
- 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
- Add Date/Country to CD Lookup results dialog (PICARD-198)
- Fix/reset album folksonomy tag counts while refreshing releases (PICARD-4)
- Plugins actions can now create sub-menus using the MENU class attribute
- New plugin hook register_clusterlist_action
- Display the port Picard is listening on at bottom right status bar (PICARD-191)
- Make album drops from right hand pane to left default to "unmatched files" again (PICARD-33)
- Remove .DS_Store, desktop.ini, and Thumbs.db from otherwise empty directories (PICARD-75)
- Update artist translation to use new alias features (primary flag, sort names) (PICARD-200)
- Deleted tags aren't indicated as changes (PICARD-165)
- Picard log entries have inaccurate timestamp (PICARD-45)
- Interface doesn't allow keyboard only management (PICARD-103)
- Added option to preserve timestamps of tagged files (PICARD-31)
- Added keyboard shortcut to reload release (PICARD-99)
- Medium formats weren't listed in order in the "Other versions" menu (PICARD-91)
- Couldn't select multiple directories in "Add Folder" window on OS X (PICARD-74)
-------------------------------------------------------------------
Wed Apr 11 07:42:52 UTC 2012 - saschpe@suse.de

View File

@ -17,7 +17,7 @@
Name: picard
Version: 0.16
Version: 1.0
Release: 0
Summary: The Next Generation MusicBrainz Tagger
License: GPL-2.0+
@ -25,9 +25,7 @@ Group: Productivity/Multimedia/Sound/Utilities
Url: http://musicbrainz.org/doc/PicardTagger
Source0: http://ftp.musicbrainz.org/pub/musicbrainz/picard/%{name}-%{version}.tar.gz
# http://wiki.musicbrainz.org/Picard_Plugins
Source1: https://gitorious.org/musicbrainz/addrelease/blobs/raw/master/addrelease.py
Source2: http://dispuutivv.nl/~jan/bonusdisc.py
Source5: http://users.musicbrainz.org/~luks/picard-plugins/featartist.py
Source8: http://users.musicbrainz.org/~brianfreud/SearchAmazon3.py
Source9: http://users.musicbrainz.org/~brianfreud/SearchAMG.py
Source10: http://users.musicbrainz.org/~brianfreud/SearchCastAlbums3.py
@ -95,9 +93,7 @@ python setup.py install --skip-build --prefix=%{_prefix} --root=%{buildroot}
# install plugins
PLUGINDIR=%{buildroot}%{py_sitedir}/picard/plugins/
install -m 0644 %{SOURCE1} ${PLUGINDIR}
install -m 0644 %{SOURCE2} ${PLUGINDIR}
install -m 0644 %{SOURCE5} ${PLUGINDIR}
install -m 0644 %{SOURCE8} ${PLUGINDIR}
install -m 0644 %{SOURCE9} ${PLUGINDIR}
install -m 0644 %{SOURCE10} ${PLUGINDIR}