last updated: 2021-07-24

FAQ#

1. Why vote abstain?#

  • I'm not interested it it and want it to disappear from my search results
  • Edit looks correct but verifying it takes too much time
  • I just want to follow a discussion
  • I don't know

In general, if you want people to vote yes on your edits or as far as approve them, make good edit notes.

Need votes in a timely manner? Please post in the Voting/Auto-editor Request Thread.
Do you think I've voted unfairly? Please speak up by leaving an edit note. I'm always willing to rectify my votes or help you out.

Also read:

Todo#

Voting#

Edit notes template for voting

Editing#

Editing resources#

Cover art sources#

This list deliberately omits other databases (Whitelist)

Shops#

Lists of non-digital retailers that have proven to be useful

  • HHV (some are badly cropped but other than that a fine source for cover art, especially vinyl)
  • Rockers
  • Decks (annoying site design, some images have watermarks but otherwise decent for vinyl cover art)

Marketplaces#

Usually just photos but better than no reference (sometimes I even add them when scans are already present)
Make sure to select type "Raw/Unedited" when adding those

Useful references#

Tools#

Release import#

ISRC batch submission#

See wiki

Disc ID#

Bookmarklets#

Add them to the bookmarks toolbar or somewhere else easily reachable within your browser

Repos

Single bookmarklets

  • Art: Script to fill comment from uploaded filename?
    javascript:(function(){var start=prompt("Enter Start-#","");var commtext=prompt("Enter optional comment text","");var x=document.querySelectorAll("input.comment");var i;for (i=0; i < x.length; i++) {x[i].value=commtext+[Number(start)+Number(i)];var event=document.createEvent("HTMLEvents");event.initEvent("change", true, true);x[i].dispatchEvent(event);}})();
    
  • Script to set all types of all ready-to-upload pictures?
    javascript: var val=prompt("# of Checkbox to activate or deactivate \n(Front=1, Back=2, Booklet=3...)",""); [].forEach.call(document.querySelectorAll('input[value="'+val+'"]'), function(el) {el.click();});
    
  • Typewriter apostrophe to proper Unicode apostroph
    The "Guess Unicode Punctuation" bookmarklet/userscript by kellnerd is probably a better choice and much more powerful
    javascript:(function(){$('.track-name').each(function(index,element){$(this).val(this.value.replace(/'/g,"\u2019")).change();})}());
    
  • Toggle booklet type on cover art upload page
    javascript:[].forEach.call(document.querySelectorAll('input[value=%223%22]'),%20function(el)%20{el.click();});
    
  • Approve all edits on page (for use with mass approve script only)
    javascript:[].forEach.call(document.querySelectorAll('a.positive[href*=approve]'),%20function(el)%20{el.click();});
    
  • Toggle relationships for removal (useful for reports like "URLs linked to multiple entities")
    javascript:[].forEach.call(document.querySelectorAll('[data-click="removeRelationship"]'),%20function(el)%20{el.click();});
    
  • Remove all ratings
    javascript:[].forEach.call(document.querySelectorAll('.remove-rating'),%20function(el)%20{el.click();});
    
  • Withdraw all tag votes
    javascript:[].forEach.call(document.querySelectorAll('[title="Withdraw vote"]'),%20function(el)%20{el.click();});
    
  • Search for recordings of current release/release group page
    javascript:switch(!0)%7Bcase%20-1%3Clocation.toString().indexOf(%22musicbrainz.org%2Frelease%2F%22)%3Avoid%20open(%22https%3A%2F%2Fmusicbrainz.org%2Fsearch%3Fquery%3Dreid%253A%22%2Blocation.pathname.toString().slice(9%2C45)%2B%22%26type%3Drecording%26limit%3D100%26method%3Dadvanced%22)%3Bbreak%3Bcase%20-1%3Clocation.toString().indexOf(%22musicbrainz.org%2Frelease-group%2F%22)%3Avoid%20open(%22https%3A%2F%2Fmusicbrainz.org%2Fsearch%3Fquery%3Drgid%253A%22%2Blocation.pathname.toString().slice(15%2C51)%2B%22%26type%3Drecording%26limit%3D100%26method%3Dadvanced%22)%7D%3Bvoid+0
    
  • Send current release page MBID to kepstin’s MagicISRC
    javascript:if%20(location.toString().indexOf('musicbrainz.org/release')>0)%20{void(open('https://magicisrc.kepstin.ca/?mbid='%20+%20location.pathname.toString().slice(9)));}
    
  • Send current Spotify page path to https://d.ontun.es/
    javascript:if%20(location.toString().indexOf('open.spotify.com')>0)%20{void(open('https://d.ontun.es/#/explorer'%20+%20location.pathname));}
    
  • Send current page URL to atisket
    • atj:
      • Replace window/tab:
        javascript:window.location='https://atisket.pulsewidth.org.uk?url='%20+%20encodeURIComponent(location.href);
        
      • New window/tab:
        javascript:void(open('https://atisket.pulsewidth.org.uk?url='%20+%20encodeURIComponent(location.href)));
        
    • marlonob:
      • Replace window/tab:
        javascript:window.location='https://etc.marlonob.info/atisket/?url='%20+%20encodeURIComponent(location.href);
        
      • New window/tab:
        javascript:void(open('https://etc.marlonob.info/atisket/?url='%20+%20encodeURIComponent(location.href)));
        

General#

  • Kanji Bigify
    javascript:void%20function(){function%20e(e){try{var%20t,n;t=document.getElementsByTagName(%22head%22)[0],n=document.createElement(%22style%22),n.type=%22text/css%22,t.appendChild(n),n.innerHTML=e}catch(u){document.styleSheets.length||document.createStyleSheet(),document.styleSheets[0].cssText+=e}}var%20t=%22kanjibigifier%22,n=[%22.%22+t+%22%20{%22,%22font-size:%2024px;%22,%22}%22].join(%22%22),u=%22//text()[not(ancestor::script)%20and%20not(ancestor::style)]%22,a=/([\u2E80-\u2EFF\u2F00-\u2FDF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\u3400-\u4DBF\u4E00-\u9FFF]+)/g;e(n);for(var%20d=document.evaluate(u,document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null),o=d.snapshotLength-1;o%3E=0;o--){var%20s=d.snapshotItem(o);if(a.test(s.nodeValue)){var%20c=document.createElement(%22span%22),l=s.nodeValue;s.parentNode.replaceChild(c,s),a.lastIndex=0;for(var%20r=null,i=0;r=a.exec(l);){c.appendChild(document.createTextNode(l.substring(i,r.index)));var%20m=document.createElement(%22span%22);m.setAttribute(%22class%22,t),m.appendChild(document.createTextNode(r[0])),c.appendChild(m),i=a.lastIndex}c.appendChild(document.createTextNode(l.substring(i))),c.normalize()}}}();
    

Userscripts#

Without them editing (and voting) is a PITA

Repos

Single scripts

General#

Various userscripts that can make not only editing life better :)

Images#

Sick of websites showing postage stamp sized images only? Try one of these.
(personally using Image Max URL with Imagus and Image Picka (custom URL rules for Discogs))

Non-browser scripts#

  • vgmdbrip (batch download high resolution images off VGMdb)
    • Image Picka can easily take its place and is more flexible
  • Macros by jesus 2099 for EmEditor

Web browser extensions#

Various extensions that can make not only editing life better :)

Image editing#

  • Jpegcrop (lossless JPEG manipulation)
  • GIMP (alternative to Adobe Photoshop)

Tips & tricks#

Where to find barcode on digital releases?#

The barcode field is supposed to store the EAN / UPC for digital releases. See MBS-7419
Those can often be found hidden somewhere on the site (check page source, URLs, etc.) or acquired via an API if available.

Spotify#

iTunes#

  • Recently (~2021) Apple started embedding data from the Apple Music API in the page source, there is a userscript to parse and display it
  • Take a look at the thumbnail URL, sometimes it's in there.
  • If you found the barcode there or somewhere else you can do a check with their API
  • The Enterprise Partner Feed is probably the best of all, if you have access to it.

Deezer#

7digital#

Bandcamp#

HDtracks#

  • Use their API. The productId can be found in the URL of the release, e.g. https://www.hdtracks.com/#/album/5e16dc6995ad4845eaed2d14
    • Full release details: https://hdtracks.azurewebsites.net/api/v1/album/<productId>
    • Just title, description and UPC: https://hdtracks.azurewebsites.net/api/v1/album/<productId>/meta

Beatport#

WIP#

For now merely an unsorted list of research methods/sites, notes and other stuff

Freedb#

When dealing with obscure CDs or working on reports like Discs as separate releases that are hard to prove to exist:

Userscript managers#

Firefox's CSP implementation can be troublesome, especially when using multiple extensions that touch CSP
(For Tampermonkey you can enable "Add Tampermonkey to the HTML's CSP" but it will break page content occasionally)

Mass editing workflows#

Release addition:

Dictionaries#

Multilingual

English

German

Japanese-English

OSINT#

Other lists#

Edit
Pub: May 25 2020 11:10 UTC
Edit: Jul 24 2021 21:01 UTC
Views: 2027