Merge pull request #383 from phw/ignore-special-tracks-for-completeness

Ignore special tracks for completeness
This commit is contained in:
Philipp Wolfer
2015-02-08 15:44:28 +01:00
19 changed files with 543 additions and 119 deletions

View File

@@ -459,7 +459,7 @@ class Album(DataObject, Item):
if not self.tracks:
return False
for track in self.tracks:
if track.num_linked_files != 1:
if not track.is_complete():
return False
else:
return True

View File

@@ -67,6 +67,10 @@ PICARD_URLS = {
# Various Artists MBID
VARIOUS_ARTISTS_ID = '89ad4ac3-39f7-470e-963a-56509c546377'
# Special purpose track titles
SILENCE_TRACK_TITLE = '[silence]'
DATA_TRACK_TITLE = '[data track]'
# Release formats
from picard.const.attributes import MB_ATTRIBUTES
RELEASE_FORMATS = {}

View File

@@ -284,6 +284,8 @@ def recording_to_metadata(node, track):
add_isrcs_to_metadata(nodes[0], m)
elif name == 'user_rating':
m['~rating'] = nodes[0].text
elif name == 'video' and nodes[0].text == 'true':
m['~video'] = '1'
m['~length'] = format_time(m.length)

View File

@@ -2,8 +2,8 @@
# Resource object code
#
# Created: ven. juil. 18 23:11:29 2014
# by: The Resource Compiler for PyQt (Qt v4.8.2)
# Created: Mo. Jan 26 23:13:10 2015
# by: The Resource Compiler for PyQt (Qt v4.8.6)
#
# WARNING! All changes made in this file will be lost!
@@ -36,6 +36,39 @@ qt_resource_data = "\
\x9b\x3c\x71\x95\x28\x7f\xf3\x9d\xed\x85\x7d\x96\xfa\xc9\xc9\x79\
\xf7\x20\x68\x4d\x1f\x7a\xed\x1f\x2d\x49\x58\xba\x4e\x19\x3c\x81\
\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x01\xec\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\
\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x69\x49\x44\
\x41\x54\x38\x8d\x8d\xd3\xbb\x6a\xd4\x51\x10\x06\xf0\xdf\x97\xb8\
\x10\x04\xb3\xc6\x4b\x20\x44\xb0\xd3\xe0\x05\x2f\xa5\x12\x10\x0b\
\x09\x58\x49\x34\x9d\x68\xe1\x13\x58\xfb\x1e\x92\x36\x2f\x60\xa1\
\x68\x6b\xa7\x45\x0a\xd1\x66\x0b\x31\x82\x22\x42\x1a\x6f\x88\xa8\
\x78\x2c\x76\xd4\xdd\xbf\x2c\x3a\x30\xcc\x99\xdb\x77\x86\xef\xcc\
\xd1\x5a\x83\x0d\xb4\x7f\xe8\x26\x2e\xb5\xd6\x8c\xaa\x02\x18\xe0\
\x06\x96\x26\xe8\x0b\xac\xe3\x33\xae\x8d\x02\x4c\xf9\x23\xaf\xf1\
\x09\xb3\xad\xb5\x01\x96\xca\xbe\xc3\x34\xee\xe0\x32\x6e\x27\xb9\
\xfa\xab\x69\x14\x00\x8e\xe2\x70\x92\x3e\x66\x2a\x76\xbc\x00\xe6\
\x5b\x6b\xf7\xb1\x86\xf5\x24\xe7\x60\x47\x07\x60\x16\xdf\xf1\x0d\
\xbd\x24\xbd\x8a\x35\x9c\x4f\xb2\xa7\xea\x1e\xe1\x26\x1e\x76\x01\
\xee\x61\x11\x3f\xf0\x0a\x87\x70\x17\x47\x70\x16\x2b\x55\xd7\xaf\
\xba\x31\x12\x57\xd0\xc3\xde\x8a\x2d\x94\x9d\xc2\x62\x9d\xe7\xcb\
\x5f\xc1\xa0\x4b\x22\xec\xc7\xc5\x3a\x5f\x2f\x7b\x01\x27\x93\xcc\
\x61\x15\xbb\x46\x1b\xc6\x00\x5a\x6b\x6f\xf0\xb5\xdc\xad\xb2\x3d\
\xec\xac\xb1\xb7\x74\x64\x0c\x20\xc9\x09\x4c\x27\xd9\x57\xf6\x14\
\x9e\xe1\xa3\xe1\x33\xf7\x8b\x8f\xb1\x5b\x7f\x73\xd0\xdd\xb2\x49\
\x3a\x91\x83\x24\xcb\x49\xd6\x32\x94\x5b\x15\x3b\x93\x64\x35\xc9\
\x4c\x92\x2b\x49\x96\x47\x7b\xba\xcf\xb8\xbb\xc6\x9c\xc7\xf3\x8a\
\xcd\x55\xdd\xe9\xca\x7f\x31\xdc\x93\xbf\x39\xc0\x36\xde\xe3\x03\
\x16\x8a\x83\xb7\x08\x1e\x57\x6e\x7b\xd2\x04\x07\xf0\xd2\x70\xf7\
\x0f\xe2\xc1\x48\xee\x89\xe1\x52\x3d\x2d\xff\x58\x97\xc4\xff\xf9\
\xce\x5d\xdd\x68\xad\xf9\x09\xc0\x15\xad\x77\x52\xd4\x5b\xb1\x00\
\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x40\x8c\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -1201,6 +1234,33 @@ qt_resource_data = "\
\x01\x03\x83\x2f\x12\x7b\x33\x71\x56\x8c\x2a\xc0\x12\xd4\xb0\xd0\
\x43\x06\x8c\x14\xc7\x26\x00\xbe\x5b\x05\xd6\xa8\x8e\xff\x70\x00\
\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x01\x84\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\
\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x01\x49\x44\
\x41\x54\x38\x8d\x8d\xd2\xbf\x2e\x83\x61\x14\xc7\xf1\xcf\xa1\x0c\
\x22\x12\x8b\x84\x45\x68\x37\x4b\x17\x37\x20\x8d\x98\x48\xcc\x46\
\x26\x37\xe0\x0a\x8c\x26\x2e\xa4\x83\x8d\xc4\x68\x63\x30\x35\x92\
\x86\x20\x31\x11\x89\x8d\x1c\x83\x36\x79\x55\xdf\xb7\xfd\x25\x27\
\x4f\xce\xc9\xf3\xfb\x9e\xf3\xfc\x89\xcc\x34\xae\x22\xa2\x8e\x9d\
\x5e\xac\xa1\x55\x1b\x61\x08\xac\x0f\x98\x8a\x6a\x0e\x05\x44\xc4\
\x34\x4e\xb0\x8b\xc5\xaa\x26\x65\x13\xec\xe3\xb0\xca\xd8\xd7\x44\
\x49\x7d\x6e\x1c\x73\x15\xa0\x4c\x8f\x38\x45\x0b\xf7\x94\x1f\xa1\
\xa8\x5b\xb4\xd1\xce\xcc\x9b\x7e\x31\x22\xbe\x47\x01\x3a\xd8\xcc\
\xcc\x87\x2a\x7a\xd5\x11\xde\x46\x99\x47\x01\xfe\x29\x22\xa6\x22\
\xe2\xcf\xb3\x8e\x05\x88\x88\x46\x44\x5c\xe2\x03\x2f\x11\xf1\x8a\
\x65\xe4\x38\x97\x08\xc7\xd8\x28\xe4\x0b\xbd\xf5\xab\xd6\xeb\xb0\
\x8a\x6d\x34\xf1\x8c\xc6\x00\xe0\xdc\xef\xaf\x9c\x2c\xd4\x9e\x70\
\x01\x75\x7c\x22\x07\xe2\x3a\x33\xf5\x03\x2b\xd8\xc3\x11\xb6\x30\
\x9b\x99\x6a\x58\xc2\xcc\x90\xb1\x3b\xc5\x24\x33\xbb\xe8\xfe\xdb\
\xd5\xa3\x1f\xe0\x0a\xef\xb8\xc3\x19\xe6\x8b\x13\x94\xc5\x0f\x6c\
\x71\x60\x2c\xa4\xe9\xa5\x5d\x00\x00\x00\x00\x49\x45\x4e\x44\xae\
\x42\x60\x82\
\x00\x00\x06\xf4\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -1373,35 +1433,6 @@ qt_resource_data = "\
\x52\x91\xd8\xb3\xa9\xe4\x06\xaa\xfb\x62\x36\x86\x02\x46\x8a\x63\
\x13\x00\x29\x51\x09\x03\x00\x20\x62\x2f\x00\x00\x00\x00\x49\x45\
\x4e\x44\xae\x42\x60\x82\
\x00\x00\x01\xa3\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
\x00\x00\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\
\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\
\x0d\xd7\x01\x42\x28\x9b\x78\x00\x00\x00\x07\x74\x49\x4d\x45\x07\
\xd5\x04\x1c\x0b\x36\x39\xbb\x24\x9f\x47\x00\x00\x01\x30\x49\x44\
\x41\x54\x38\xcb\x63\x60\xa0\x10\x30\x62\x13\x2c\xad\x35\xed\x67\
\x60\xfa\x5a\x40\x48\x33\x13\x13\xc7\x5e\x16\xec\x32\x5f\x0b\x82\
\x83\x02\x09\xda\xbe\x76\xdd\x7a\x67\x26\x6c\x12\xff\xff\x33\x7e\
\x23\xd6\x0b\x2c\x04\x6c\xc0\x2a\xfe\xff\x1f\xc3\xbf\x90\x90\x40\
\x26\x82\x06\x30\x30\x30\x30\x74\x37\x5e\xc3\x08\xa7\x92\x3a\xed\
\xef\x0c\x0c\x0c\x1c\x0c\x0c\x0c\x0c\x4c\x64\x06\xfe\x3f\x78\x70\
\x61\x8d\x1a\xc6\xff\x5c\x78\xa3\x0e\x49\x9e\x89\xd2\x74\x40\x56\
\x2c\x20\xcb\xb3\x30\x30\x30\x30\x64\x15\x5a\x48\x32\xb3\xfc\x89\
\xfd\xf1\xfd\xbb\x93\x80\xf0\x7f\x77\x06\x86\xff\x0c\xbf\xfe\x7c\
\x86\x6b\xc0\x27\xcf\xc2\xc0\xc0\xc0\xf0\xf9\xd3\xa7\x3a\x35\x2d\
\xb6\x0c\x13\x33\x55\x06\x7e\x5e\x75\x06\x7e\x6e\x65\x86\x7b\x4f\
\xd7\x32\x88\x89\x73\x32\x10\x92\x67\x61\x60\x60\x60\x90\x90\x61\
\xc8\xb0\xb7\xb7\x66\xf8\xf7\xef\x0f\x03\x33\x33\x3b\xc3\xdd\x27\
\x6b\x18\x2e\x9d\x7f\xfd\xff\xcd\xeb\xff\x5b\xf1\xc9\xbf\x7a\xc1\
\xd4\x00\x4f\x07\xf7\x1e\x9e\x67\xe0\xe0\x60\x61\xe0\xe7\x7b\xcb\
\x70\xf3\xfa\x5b\x86\x77\x6f\xff\x5e\x3c\x7d\xec\x43\x17\x3e\xf9\
\xb3\x27\xdf\xee\x87\x27\x92\xc4\x4c\xb5\xdb\x22\x62\x2c\x2a\x0c\
\x0c\x0c\x0c\xb7\xaf\xff\x5c\xb4\x61\xd5\xdd\x78\xe4\x80\x43\x97\
\x97\x57\x94\xa8\x98\xd8\x79\xf4\x39\xa5\xb1\xc8\x00\x00\xbd\x75\
\x89\xf9\x6f\x29\x4a\x9e\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
\x60\x82\
\x00\x00\x00\xbc\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -1501,6 +1532,33 @@ qt_resource_data = "\
\x23\xb1\x27\x12\xe7\x8b\x21\xa1\x00\xcd\x9b\x13\x31\x14\x30\x52\
\x1c\x9b\x00\xca\x15\x09\x34\x69\x85\x73\x4d\x00\x00\x00\x00\x49\
\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x01\x8a\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0d\xd7\x00\x00\x0d\xd7\
\x01\x42\x28\x9b\x78\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x01\x07\x49\x44\
\x41\x54\x38\x8d\xad\xd3\x31\x4b\x83\x41\x0c\xc6\xf1\x5f\xb4\x20\
\x88\x42\xb1\x3a\x08\x05\x07\x71\x55\xa1\x93\x83\x7b\x11\x97\x22\
\xee\x82\xa8\xbb\x83\x1f\xc3\x55\xd0\xb1\x83\x83\xb8\xfa\x11\x9c\
\x3b\x76\x71\x10\x1d\xc5\x49\x2c\x82\x72\x0e\xbd\xc2\x4b\xf1\xad\
\x2d\x1a\x38\x2e\x90\xe4\xb9\xfc\x73\x24\x52\x4a\xfe\x62\x81\x5d\
\x1c\x61\x66\xc2\xda\x0f\x5c\x05\x5e\x70\x89\x47\x9c\xe3\x0e\xb7\
\x25\x45\x7b\xd8\xc1\x29\x56\x70\x0c\x09\xd5\x8c\xd2\x41\x33\xa5\
\xe4\xa7\x83\x26\x3a\xd9\xaf\x22\x55\xb2\x72\x3b\x22\x9e\xb1\x3e\
\x46\xeb\xeb\x11\x71\x81\x3a\x4c\x4d\x02\x5d\x66\xff\x82\x70\x16\
\x11\x8f\x58\xc3\x61\x44\x54\x4b\x1e\xdb\xc3\x5a\x44\x9c\xe8\x0f\
\x51\xa5\x10\x78\xc5\x2c\xb6\x31\x5f\x22\xb0\x99\x73\x0e\xb0\x50\
\x44\x58\xce\x6d\x75\xd1\x1a\x81\xd0\x42\x37\xfb\xcb\x45\x84\xad\
\x88\x78\x40\x0d\xbd\x11\xf3\xea\xa1\x16\x11\x1b\x58\x2d\x22\x5c\
\xe3\x33\xb7\xf7\x9b\x2d\xe2\x7e\x50\x3b\xf8\xc6\x06\x96\xf0\x34\
\x86\xc0\x53\xce\x6d\x0c\x04\x86\xb7\xa9\x3e\xa2\x78\x38\x96\x02\
\x6d\xec\xe3\x4b\x1f\xe1\x0b\x6f\x25\x02\x73\x98\xc6\x7b\xbe\x6f\
\xe2\xaf\xeb\xfc\x0d\xa4\xae\x7b\x37\x08\x76\x75\x73\x00\x00\x00\
\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x00\xca\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -9643,6 +9701,10 @@ qt_resource_name = "\
\x00\xe0\x1d\x47\
\x00\x66\
\x00\x69\x00\x6c\x00\x65\x00\x2d\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x0e\
\x08\x53\x8e\xe7\
\x00\x74\
\x00\x72\x00\x61\x00\x63\x00\x6b\x00\x2d\x00\x64\x00\x61\x00\x74\x00\x61\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x12\
\x08\xc2\x5a\x27\
\x00\x43\
@@ -9669,6 +9731,10 @@ qt_resource_name = "\
\x00\x36\x9b\x62\
\x00\x33\
\x00\x32\x00\x78\x00\x33\x00\x32\
\x00\x0f\
\x05\xff\xc8\x27\
\x00\x74\
\x00\x72\x00\x61\x00\x63\x00\x6b\x00\x2d\x00\x61\x00\x75\x00\x64\x00\x69\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x05\
\x00\x37\xfb\x78\
\x00\x34\
@@ -9695,10 +9761,6 @@ qt_resource_name = "\
\x00\x6d\
\x00\x61\x00\x74\x00\x63\x00\x68\x00\x2d\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x36\x00\x30\x00\x2e\
\x00\x70\x00\x6e\x00\x67\
\x00\x08\
\x06\xa8\x59\xe7\
\x00\x6e\
\x00\x6f\x00\x74\x00\x65\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x05\
\x00\x35\x9b\x52\
\x00\x32\
@@ -9725,6 +9787,10 @@ qt_resource_name = "\
\x00\x6d\
\x00\x61\x00\x74\x00\x63\x00\x68\x00\x2d\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x38\x00\x30\x00\x2e\
\x00\x70\x00\x6e\x00\x67\
\x00\x0f\
\x05\xbf\x20\xa7\
\x00\x74\
\x00\x72\x00\x61\x00\x63\x00\x6b\x00\x2d\x00\x76\x00\x69\x00\x64\x00\x65\x00\x6f\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x05\
\x00\x34\xdb\x46\
\x00\x31\
@@ -9871,75 +9937,77 @@ qt_resource_name = "\
qt_resource_struct = "\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1a\x00\x00\x00\x02\
\x00\x00\x02\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x57\x19\
\x00\x00\x02\x8c\x00\x02\x00\x00\x00\x12\x00\x00\x00\x34\
\x00\x00\x01\xce\x00\x02\x00\x00\x00\x13\x00\x00\x00\x21\
\x00\x00\x00\x12\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\
\x00\x00\x00\xe0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\
\x00\x00\x00\xf0\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x02\
\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x58\xea\
\x00\x00\x02\xe0\x00\x02\x00\x00\x00\x12\x00\x00\x00\x36\
\x00\x00\x01\xfe\x00\x02\x00\x00\x00\x13\x00\x00\x00\x23\
\x00\x00\x00\x12\x00\x02\x00\x00\x00\x01\x00\x00\x00\x22\
\x00\x00\x01\x02\x00\x02\x00\x00\x00\x01\x00\x00\x00\x21\
\x00\x00\x01\x36\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\
\x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x02\xde\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xbd\
\x00\x00\x02\xba\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xea\
\x00\x00\x00\x72\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1d\
\x00\x00\x00\xcc\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1c\
\x00\x00\x01\xb8\x00\x00\x00\x00\x00\x01\x00\x00\x53\xf6\
\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x49\x37\
\x00\x00\x03\x32\x00\x00\x00\x00\x00\x01\x00\x00\x60\x1c\
\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x5f\x49\
\x00\x00\x00\x94\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\
\x00\x00\x00\xee\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\
\x00\x00\x02\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xed\
\x00\x00\x01\x12\x00\x00\x00\x00\x00\x01\x00\x00\x4b\xd7\
\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x01\x00\x00\x4b\x27\
\x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x00\x00\x01\x81\
\x00\x00\x02\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x50\
\x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x42\x11\
\x00\x00\x01\xfc\x00\x00\x00\x00\x00\x01\x00\x00\x56\x5d\
\x00\x00\x01\x8a\x00\x00\x00\x00\x00\x01\x00\x00\x53\x2b\
\x00\x00\x01\x3e\x00\x00\x00\x00\x00\x01\x00\x00\x51\x9f\
\x00\x00\x02\xfe\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x72\
\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x49\xe7\
\x00\x00\x02\x9c\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x1c\
\x00\x00\x02\x40\x00\x00\x00\x00\x00\x01\x00\x00\x59\x7e\
\x00\x00\x01\xde\x00\x00\x00\x00\x00\x01\x00\x00\x55\x9d\
\x00\x00\x01\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x52\x58\
\x00\x00\x01\x20\x00\x00\x00\x00\x00\x01\x00\x00\x50\xdf\
\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x01\x07\x26\
\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x01\xf2\x73\
\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\xe9\x46\
\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\xfc\xd9\
\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x02\x49\xb0\
\x00\x00\x05\xde\x00\x00\x00\x00\x00\x01\x00\x00\xdb\xe2\
\x00\x00\x04\x2c\x00\x00\x00\x00\x00\x01\x00\x00\xac\xba\
\x00\x00\x06\x54\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x25\
\x00\x00\x06\xd8\x00\x00\x00\x00\x00\x01\x00\x00\xbf\xae\
\x00\x00\x05\x5e\x00\x00\x00\x00\x00\x01\x00\x00\xcc\xd9\
\x00\x00\x07\x02\x00\x00\x00\x00\x00\x01\x00\x00\xc2\x85\
\x00\x00\x06\x28\x00\x00\x00\x00\x00\x01\x00\x00\x92\xa2\
\x00\x00\x03\x60\x00\x00\x00\x00\x00\x01\x00\x00\x95\xfa\
\x00\x00\x03\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x9d\xfa\
\x00\x00\x06\x78\x00\x00\x00\x00\x00\x01\x00\x00\xa3\x90\
\x00\x00\x07\x52\x00\x00\x00\x00\x00\x01\x00\x00\xe1\x57\
\x00\x00\x04\x54\x00\x00\x00\x00\x00\x01\x00\x00\xb0\xa7\
\x00\x00\x03\x94\x00\x00\x00\x00\x00\x01\x00\x00\x97\xfe\
\x00\x00\x04\xce\x00\x00\x00\x00\x00\x01\x00\x00\xc8\xd4\
\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\xe4\x6d\
\x00\x00\x04\x9a\x00\x00\x00\x00\x00\x01\x00\x00\xba\x49\
\x00\x00\x06\xaa\x00\x00\x00\x00\x00\x01\x00\x00\xb6\x1b\
\x00\x00\x07\x2a\x00\x00\x00\x00\x00\x01\x00\x00\xd6\xeb\
\x00\x00\x05\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xd2\x69\
\x00\x00\x03\xae\x00\x00\x00\x00\x00\x01\x00\x00\x64\x3b\
\x00\x00\x05\xde\x00\x00\x00\x00\x00\x01\x00\x00\x8c\xb0\
\x00\x00\x04\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x6e\x2b\
\x00\x00\x05\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x82\x3c\
\x00\x00\x03\x60\x00\x00\x00\x00\x00\x01\x00\x00\x60\x89\
\x00\x00\x05\x98\x00\x00\x00\x00\x00\x01\x00\x00\x85\xf2\
\x00\x00\x04\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x79\xe2\
\x00\x00\x03\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x6a\x63\
\x00\x00\x03\xde\x00\x00\x00\x00\x00\x01\x00\x00\x66\xea\
\x00\x00\x04\x54\x00\x00\x00\x00\x00\x01\x00\x00\x70\x48\
\x00\x00\x03\x94\x00\x00\x00\x00\x00\x01\x00\x00\x62\x45\
\x00\x00\x05\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x80\x07\
\x00\x00\x04\xce\x00\x00\x00\x00\x00\x01\x00\x00\x77\x58\
\x00\x00\x03\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x39\
\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\x90\x57\
\x00\x00\x04\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x74\x04\
\x00\x00\x05\x16\x00\x00\x00\x00\x00\x01\x00\x00\x7d\x76\
\x00\x00\x05\xb6\x00\x00\x00\x00\x00\x01\x00\x00\x89\x1d\
\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x03\x71\
\x00\x00\x02\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x5c\x21\
\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x44\x01\
\x00\x00\x02\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x58\x2e\
\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x56\xa3\
\x00\x00\x01\x84\x00\x00\x00\x00\x00\x01\x00\x00\x55\x17\
\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x60\xd1\
\x00\x00\x01\x46\x00\x00\x00\x00\x00\x01\x00\x00\x4d\x5f\
\x00\x00\x02\xf0\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x7b\
\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x4f\
\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x57\x6e\
\x00\x00\x01\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x55\xd0\
\x00\x00\x01\x66\x00\x00\x00\x00\x00\x01\x00\x00\x54\x57\
\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x0a\x85\
\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\xf5\xd2\
\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\xec\xa5\
\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x01\x00\x38\
\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x02\x4d\x0f\
\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\xdf\x41\
\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\xb0\x19\
\x00\x00\x06\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x9e\x84\
\x00\x00\x07\x2c\x00\x00\x00\x00\x00\x01\x00\x00\xc3\x0d\
\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\xd0\x38\
\x00\x00\x07\x56\x00\x00\x00\x00\x00\x01\x00\x00\xc5\xe4\
\x00\x00\x06\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x96\x01\
\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x99\x59\
\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\xa1\x59\
\x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x00\xa6\xef\
\x00\x00\x07\xa6\x00\x00\x00\x00\x00\x01\x00\x00\xe4\xb6\
\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\xb4\x06\
\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x9b\x5d\
\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\xcc\x33\
\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\xe7\xcc\
\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\xbd\xa8\
\x00\x00\x06\xfe\x00\x00\x00\x00\x00\x01\x00\x00\xb9\x7a\
\x00\x00\x07\x7e\x00\x00\x00\x00\x00\x01\x00\x00\xda\x4a\
\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\xd5\xc8\
\x00\x00\x04\x02\x00\x00\x00\x00\x00\x01\x00\x00\x67\x9a\
\x00\x00\x06\x32\x00\x00\x00\x00\x00\x01\x00\x00\x90\x0f\
\x00\x00\x04\x80\x00\x00\x00\x00\x00\x01\x00\x00\x71\x8a\
\x00\x00\x05\xb2\x00\x00\x00\x00\x00\x01\x00\x00\x85\x9b\
\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x63\xe8\
\x00\x00\x05\xec\x00\x00\x00\x00\x00\x01\x00\x00\x89\x51\
\x00\x00\x05\x44\x00\x00\x00\x00\x00\x01\x00\x00\x7d\x41\
\x00\x00\x04\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x6d\xc2\
\x00\x00\x04\x32\x00\x00\x00\x00\x00\x01\x00\x00\x6a\x49\
\x00\x00\x04\xa8\x00\x00\x00\x00\x00\x01\x00\x00\x73\xa7\
\x00\x00\x03\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x65\xa4\
\x00\x00\x05\x90\x00\x00\x00\x00\x00\x01\x00\x00\x83\x66\
\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\x7a\xb7\
\x00\x00\x03\x80\x00\x00\x00\x00\x00\x01\x00\x00\x61\x98\
\x00\x00\x06\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x93\xb6\
\x00\x00\x04\xee\x00\x00\x00\x00\x00\x01\x00\x00\x77\x63\
\x00\x00\x05\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x80\xd5\
\x00\x00\x06\x0a\x00\x00\x00\x00\x00\x01\x00\x00\x8c\x7c\
"
def qInitResources():

View File

@@ -596,9 +596,15 @@ def func_performer(parser, pattern="", join=", "):
def func_matchedtracks(parser, arg):
if parser.file:
if parser.file.parent:
return str(parser.file.parent.album.get_num_matched_tracks())
if parser.file and parser.file.parent:
return str(parser.file.parent.album.get_num_matched_tracks())
return "0"
def func_is_complete(parser):
if (parser.file and parser.file.parent
and parser.file.parent.album.is_complete()):
return "1"
return "0"
@@ -758,6 +764,7 @@ register_script_function(func_copymerge, "copymerge")
register_script_function(func_len, "len")
register_script_function(func_performer, "performer")
register_script_function(func_matchedtracks, "matchedtracks")
register_script_function(func_is_complete, "is_complete")
register_script_function(func_firstalphachar, "firstalphachar")
register_script_function(func_initials, "initials")
register_script_function(func_firstwords, "firstwords")

View File

@@ -25,7 +25,7 @@ from picard.dataobj import DataObject
from picard.util.textencoding import asciipunct
from picard.mbxml import recording_to_metadata
from picard.script import ScriptParser
from picard.const import VARIOUS_ARTISTS_ID
from picard.const import VARIOUS_ARTISTS_ID, SILENCE_TRACK_TITLE, DATA_TRACK_TITLE
from picard.ui.item import Item
import traceback
@@ -113,6 +113,29 @@ class Track(DataObject, Item):
return u"%s%s %s" % (prefix, m['tracknumber'].zfill(2), m['title'])
return m[column]
def is_video(self):
return self.metadata['~video'] == '1'
def is_pregap(self):
return self.metadata['~pregap'] == '1'
def is_data(self):
return self.metadata['~datatrack'] == '1'
def is_silence(self):
return self.metadata['~silence'] == '1'
def is_complete(self):
return self.ignored_for_completeness() or self.num_linked_files == 1
def ignored_for_completeness(self):
if (config.setting['completeness_ignore_videos'] and self.is_video()) \
or (config.setting['completeness_ignore_pregap'] and self.is_pregap()) \
or (config.setting['completeness_ignore_data'] and self.is_data()) \
or (config.setting['completeness_ignore_silence'] and self.is_silence()):
return True
return False
def _customize_metadata(self):
tm = self.metadata
@@ -120,6 +143,12 @@ class Track(DataObject, Item):
if tm['musicbrainz_artistid'] == VARIOUS_ARTISTS_ID:
tm['artistsort'] = tm['artist'] = config.setting['va_name']
if tm['title'] == DATA_TRACK_TITLE:
tm['~datatrack'] = '1'
if tm['title'] == SILENCE_TRACK_TITLE:
tm['~silence'] = '1'
if config.setting['folksonomy_tags']:
self._convert_folksonomy_tags_to_genre()

View File

@@ -109,6 +109,8 @@ class MainPanel(QtGui.QSplitter):
TreeItem.window = window
TreeItem.base_color = self.palette().base().color()
TreeItem.text_color = self.palette().text().color()
TreeItem.text_color_secondary = self.palette() \
.brush(QtGui.QPalette.Disabled, QtGui.QPalette.Text).color()
TrackItem.track_colors = {
File.NORMAL: config.setting["color_saved"],
File.CHANGED: TreeItem.text_color,
@@ -141,7 +143,9 @@ class MainPanel(QtGui.QSplitter):
AlbumItem.icon_cd_saved_modified = icontheme.lookup('media-optical-saved-modified',
icontheme.ICON_SIZE_MENU)
AlbumItem.icon_error = icontheme.lookup('media-optical-error', icontheme.ICON_SIZE_MENU)
TrackItem.icon_note = QtGui.QIcon(":/images/note.png")
TrackItem.icon_audio = QtGui.QIcon(":/images/track-audio.png")
TrackItem.icon_video = QtGui.QIcon(":/images/track-video.png")
TrackItem.icon_data = QtGui.QIcon(":/images/track-data.png")
FileItem.icon_file = QtGui.QIcon(":/images/file.png")
FileItem.icon_file_pending = QtGui.QIcon(":/images/file-pending.png")
FileItem.icon_error = icontheme.lookup('dialog-error', icontheme.ICON_SIZE_MENU)
@@ -705,9 +709,17 @@ class TrackItem(TreeItem):
icon = FileItem.decide_file_icon(file)
self.takeChildren()
else:
color = TreeItem.text_color
if track.ignored_for_completeness():
color = TreeItem.text_color_secondary
else:
color = TreeItem.text_color
bgcolor = get_match_color(1, TreeItem.base_color)
icon = TrackItem.icon_note
if track.is_video():
icon = TrackItem.icon_video
elif track.is_data():
icon = TrackItem.icon_data
else:
icon = TrackItem.icon_audio
oldnum = self.childCount()
newnum = track.num_linked_files
if oldnum > newnum: # remove old items

View File

@@ -36,6 +36,10 @@ class AdvancedOptionsPage(OptionsPage):
options = [
config.TextOption("setting", "ignore_regex", ""),
config.BoolOption("setting", "ignore_hidden_files", False),
config.BoolOption("setting", "completeness_ignore_videos", False),
config.BoolOption("setting", "completeness_ignore_pregap", False),
config.BoolOption("setting", "completeness_ignore_data", False),
config.BoolOption("setting", "completeness_ignore_silence", False),
]
def __init__(self, parent=None):
@@ -47,10 +51,18 @@ class AdvancedOptionsPage(OptionsPage):
def load(self):
self.ui.ignore_regex.setText(config.setting["ignore_regex"])
self.ui.ignore_hidden_files.setChecked(config.setting["ignore_hidden_files"])
self.ui.completeness_ignore_videos.setChecked(config.setting["completeness_ignore_videos"])
self.ui.completeness_ignore_pregap.setChecked(config.setting["completeness_ignore_pregap"])
self.ui.completeness_ignore_data.setChecked(config.setting["completeness_ignore_data"])
self.ui.completeness_ignore_silence.setChecked(config.setting["completeness_ignore_silence"])
def save(self):
config.setting["ignore_regex"] = unicode(self.ui.ignore_regex.text())
config.setting["ignore_hidden_files"] = self.ui.ignore_hidden_files.isChecked()
config.setting["completeness_ignore_videos"] = self.ui.completeness_ignore_videos.isChecked()
config.setting["completeness_ignore_pregap"] = self.ui.completeness_ignore_pregap.isChecked()
config.setting["completeness_ignore_data"] = self.ui.completeness_ignore_data.isChecked()
config.setting["completeness_ignore_silence"] = self.ui.completeness_ignore_silence.isChecked()
def live_checker(self, text):
self.ui.regex_error.setStyleSheet("")

View File

@@ -8,7 +8,16 @@ from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
_fromUtf8 = lambda s: s
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_AdvancedOptionsPage(object):
def setupUi(self, AdvancedOptionsPage):
@@ -27,14 +36,32 @@ class Ui_AdvancedOptionsPage(object):
self.ignore_regex = QtGui.QLineEdit(self.groupBox)
self.ignore_regex.setObjectName(_fromUtf8("ignore_regex"))
self.gridlayout.addWidget(self.ignore_regex, 2, 0, 1, 1)
self.ignore_hidden_files = QtGui.QCheckBox(self.groupBox)
self.ignore_hidden_files.setObjectName(_fromUtf8("ignore_hidden_files"))
self.gridlayout.addWidget(self.ignore_hidden_files, 4, 0, 1, 1)
self.regex_error = QtGui.QLabel(self.groupBox)
self.regex_error.setText(_fromUtf8(""))
self.regex_error.setObjectName(_fromUtf8("regex_error"))
self.gridlayout.addWidget(self.regex_error, 4, 0, 1, 1)
self.ignore_hidden_files = QtGui.QCheckBox(self.groupBox)
self.ignore_hidden_files.setObjectName(_fromUtf8("ignore_hidden_files"))
self.gridlayout.addWidget(self.ignore_hidden_files, 3, 0, 1, 1)
self.gridlayout.addWidget(self.regex_error, 3, 0, 1, 1)
self.vboxlayout.addWidget(self.groupBox)
self.groupBox_completeness = QtGui.QGroupBox(AdvancedOptionsPage)
self.groupBox_completeness.setObjectName(_fromUtf8("groupBox_completeness"))
self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox_completeness)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.completeness_ignore_videos = QtGui.QCheckBox(self.groupBox_completeness)
self.completeness_ignore_videos.setObjectName(_fromUtf8("completeness_ignore_videos"))
self.verticalLayout_2.addWidget(self.completeness_ignore_videos)
self.completeness_ignore_pregap = QtGui.QCheckBox(self.groupBox_completeness)
self.completeness_ignore_pregap.setObjectName(_fromUtf8("completeness_ignore_pregap"))
self.verticalLayout_2.addWidget(self.completeness_ignore_pregap)
self.completeness_ignore_data = QtGui.QCheckBox(self.groupBox_completeness)
self.completeness_ignore_data.setCheckable(True)
self.completeness_ignore_data.setObjectName(_fromUtf8("completeness_ignore_data"))
self.verticalLayout_2.addWidget(self.completeness_ignore_data)
self.completeness_ignore_silence = QtGui.QCheckBox(self.groupBox_completeness)
self.completeness_ignore_silence.setObjectName(_fromUtf8("completeness_ignore_silence"))
self.verticalLayout_2.addWidget(self.completeness_ignore_silence)
self.vboxlayout.addWidget(self.groupBox_completeness)
spacerItem = QtGui.QSpacerItem(181, 21, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.vboxlayout.addItem(spacerItem)
@@ -45,4 +72,9 @@ class Ui_AdvancedOptionsPage(object):
self.groupBox.setTitle(_("Advanced options"))
self.label_ignore_regex.setText(_("Ignore file paths matching the following regular expression:"))
self.ignore_hidden_files.setText(_("Ignore hidden files"))
self.groupBox_completeness.setTitle(_("Ignore the following tracks when determining whether a release is complete"))
self.completeness_ignore_videos.setText(_("Video tracks"))
self.completeness_ignore_pregap.setText(_("Pregap tracks"))
self.completeness_ignore_data.setText(_("Data tracks"))
self.completeness_ignore_silence.setText(_("Silent tracks"))

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

View File

@@ -0,0 +1,11 @@
The following icons were created by Carlin Mangar and
published under Creative Commons Attribution-ShareAlike 2.0 UK: England & Wales
(CC BY-SA 2.0 UK) license (https://creativecommons.org/licenses/by-sa/2.0/uk/):
* Picard application icon
* picard-submit
The following icons use symbols from Font Awesome by Dave Gandy (http://fontawesome.io)
published under the SIL OFL 1.1 license (http://scripts.sil.org/OFL):
* track-audio
* track-data
* track-video

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="track-audio.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="31.678384"
inkscape:cx="2.9538089"
inkscape:cy="5.6845783"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1136"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<g
transform="matrix(0.43076923,0,0,0.43076923,-21.542308,976.87951)"
style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome"
id="flowRoot2985">
<path
d="m 85.723214,140.22768 c 0,-1.18304 -0.959822,-2.14286 -2.142857,-2.14286 -0.223214,0 -0.424107,0.0223 -0.625,0.0893 l -18.571428,5.71428 c -0.892857,0.29018 -1.517858,1.11608 -1.517858,2.05357 l 0,21.58483 c -1.339284,-0.60268 -2.812501,-0.87054 -4.285714,-0.87054 -2.433033,0 -7.142857,1.1384 -7.142857,4.28571 0,3.14732 4.709824,4.28572 7.142857,4.28572 2.433033,0 7.142857,-1.1384 7.142857,-4.28572 l 0,-15.82589 17.142857,-5.29018 0,11.98661 c -1.339284,-0.60268 -2.812501,-0.87054 -4.285714,-0.87054 -2.433033,0 -7.142857,1.1384 -7.142857,4.28572 0,3.14732 4.709824,4.28571 7.142857,4.28571 2.433033,0 7.142857,-1.13839 7.142857,-4.28571 l 0,-25"
style=""
id="path3013" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg3015"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="track-video.svg"
inkscape:export-filename="/home/phw/devel/musicbrainz/picard/resources/images/track-video.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3017" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="-19.547825"
inkscape:cy="4.8301645"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1136"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata3020">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<text
xml:space="preserve"
style="font-size:14.9333334px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome"
x="-3.4059795e-08"
y="1049.1622"
id="text3056"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3058"
x="-3.4059795e-08"
y="1049.1622"></tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
id="svg3015"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="track-video.svg"
inkscape:export-filename="/home/phw/devel/musicbrainz/picard/resources/img-src/track-video.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs3017" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="-19.547825"
inkscape:cy="4.8301645"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1136"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata3020">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
<text
xml:space="preserve"
style="font-size:14.9333334px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:FontAwesome;-inkscape-font-specification:FontAwesome"
x="-3.4059795e-08"
y="1049.1622"
id="text3056"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3058"
x="-3.4059795e-08"
y="1049.1622"></tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -57,9 +57,11 @@
<file>images/match-pending-80.png</file>
<file>images/match-pending-90.png</file>
<file>images/match-pending-100.png</file>
<file>images/note.png</file>
<file>images/star-gray.png</file>
<file>images/star.png</file>
<file>images/track-audio.png</file>
<file>images/track-data.png</file>
<file>images/track-saved.png</file>
<file>images/track-video.png</file>
</qresource>
</RCC>

View File

@@ -31,16 +31,56 @@
<widget class="QLineEdit" name="ignore_regex"/>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="ignore_hidden_files">
<property name="text">
<string>Ignore hidden files</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="regex_error">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="ignore_hidden_files">
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_completeness">
<property name="title">
<string>Ignore the following tracks when determining whether a release is complete</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="completeness_ignore_videos">
<property name="text">
<string>Ignore hidden files</string>
<string>Video tracks</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="completeness_ignore_pregap">
<property name="text">
<string>Pregap tracks</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="completeness_ignore_data">
<property name="text">
<string>Data tracks</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="completeness_ignore_silence">
<property name="text">
<string>Silent tracks</string>
</property>
</widget>
</item>