Centralised MusicBrainz Userscripts Repository

Yes. If versions are managed and update link is provided. See https://github.com/murdos/musicbrainz-userscripts/blob/master/bandcamp_importer.user.js#L4-L7 for example

And if the userscript module you are using handle it.

2 Likes

You don’t have to leave them for that.
You can use GitHub full raw URL with commit for libraries (requires).
Maybe you already know that but it doesn’t harm:

  1. Go to your library page: konami-command/lib/SUPER.js at master · jesus2099/konami-command · GitHub
  2. Press your keyboard Y (moves you from master to commit URL)
  3. Right‐click Raw link to copy the HREF to use: //@require https://github.com/jesus2099/konami-command/raw/77829c1b5caf3b9fcaa78c2220b08bf7d84ec81a/lib/SUPER.js

UPDATE

Oh! Now I understand what you mean, probably, by having to use their library system!
If I use a GitHub URL, Greasy Fork says:

Script sync failed - Code utilise un script externe non approuvé:
@require https://github.com/jesus2099/konami-command/raw/5d722a32488ce7672bdc9a2486af1211ba25ff5f/lib/SUPER.js?version=2018.3.14.

I really have to study how to nicely pull back from GF and OUJS… sadly.

2 Likes

Yes, which means having to commit and synchronize the library first to get the new version number…
Also the fact they remove the original update URL annoys me

2 Likes

Soooo it appears that no decision was ever made or is it somewhere else? There were lots of great suggestions above. I do like the current placement in MusicBrainzPicard under Repository for neat file name string patterns and tagger script snippets. It’s really handy to have them all in one place. It is not that difficult even for a noob to go from the main “Repository” listing to follow a link to the script.

@FragaGeddon did a nice thing by even showing how to use the “control a/c” method to grab the script from offsite. Having a single repository would also be a place for users to make comments or suggestion to keep scripts up to date or to let the script writer know if his/her script needs some minor change due to a Picard update.

5 Likes

@Llama_lover Thanks. Anything I do, I kind of always look at it from a noob point of view when creating something and providing documentation, since basically I’m really new to this also.

I just did a thing on GitHub: I’ve never used GitHub before, so this is tottaly new to me also.

1 Like

I am still very wishing for a cool list of userscripts that should be VERY EASY to update.

I don’t think this huge topic is very convenient. I don’t really see a listing, over there.
We already have some topics here, and one is quite similar to the Picard script topic, I guess: A new MusicBrainz user script was released

So for a userscripts listing.
I first wished an automatic listing, it would certainly be possible to have a batch that would take the list of GitHub repos to include and generate a list.

But as a more immediate and versatile solution, here is what I suggest:

Where

It should be easy to locate and to link to everyone.
I think it should be in the MB Wiki’s most clean userscripts entry point: Guides/Userscripts.

Content

It should be the easiest possible to maintain:

Just the content of name and of description, straight copied from source code.

And the URL.

Maybe for the name, we should remove all mentions of MB or MusicBrainz, to keep only what is specific to the script (all scripts are related to MB).

For the URL, it could be always the source code (we explain to click Raw button to install).
Or maybe it could be a kind of homepage / support topic / documentation, but only if it does contain a link to source code, at least.

I think indeed we should not include version.

In current list over there, I am reluctant to edit it because of the categories (Must have script, super great script, etc.). It’s fun to have these categories but how would someone know where to put this or that script? :slight_smile:

I think well yes we should keep the separate Importers category as it is!
It is more easy to identify than any other categories.

I think besides Import, it could be a unique list and the user would just Search in page (Ctrl+F) for what keywords they need.

@colbydray list is very nice also but IMO it contains too many columns that would just slow down maintenance and are not that must-have, when we already should read a proper summary from the description.

Even author, I think, should not be listed.

The source code of the Wiki page should be the most minimalistic possible.

4 Likes

Test with some scripts

Here is a random A to Z sample list of userscripts:

COLLECTION HIGHLIGHTER https://github.com/jesus2099/konami-command/blob/master/mb_COLLECTION-HIGHLIGHTER.user.js musicbrainz.org: Highlights releases, release-groups, etc. that you have in your collections (anyone’s collection can be loaded) everywhere
Fast cancel edits https://github.com/murdos/musicbrainz-userscripts/blob/master/fast-cancel-edits.user.js Mass cancel open edits with optional edit notes.
Import Bandcamp releases https://github.com/murdos/musicbrainz-userscripts/blob/master/bandcamp_importer.user.js Add a button on Bandcamp's album pages to open MusicBrainz release editor with pre-filled data for the selected release
Mark recordings as video https://github.com/loujine/musicbrainz-scripts/blob/master/mb-edit-set_video_recordings.user.js musicbrainz.org: Mark recordings as video
merge recordings from acoustID page https://github.com/loujine/musicbrainz-scripts/blob/master/acoustid-merge-recordings.user.js musicbrainz.org: merge recordings from acoustID page
Paste-A-Date! https://gist.github.com/JesseWeinstein/368bddf748f4faf44b5775addf7f3db0 This script adds a field after the existing date fields where you can paste a date and it will try to parse it.
Sort artists https://github.com/JensBee/userscripts/blob/master/sort-artists.user.js Allows you to change the order of artist names in any of the multiple artists editors. NOTICE: This will remove any artist lookup data already present in the editor. You have to assign this manually again.

Here it’s Markdown syntax, not like on Wiki, but I’m doing some random tries:

List

  • COLLECTION HIGHLIGHTER
    musicbrainz-org: Highlights releases, release-groups, etc. that you have in your collections (anyone’s collection can be loaded) everywhere
  • Fast cancel edits
    Mass cancel open edits with optional edit notes.
  • Import Bandcamp releases
    Add a button on Bandcamp’s album pages to open MusicBrainz release editor with pre-filled data for the selected release
  • Mark recordings as video
    musicbrainz-org: Mark recordings as video
  • merge recordings from acoustID page
    musicbrainz-org: merge recordings from acoustID page
  • Paste-A-Date!
    This script adds a field after the existing date fields where you can paste a date and it will try to parse it.
  • Sort artists
    Allows you to change the order of artist names in any of the multiple artists editors. NOTICE: This will remove any artist lookup data already present in the editor. You have to assign this manually again.

Table

Name Description URL
COLLECTION HIGHLIGHTER musicbrainz.org: Highlights releases, release-groups, etc. that you have in your collections (anyone’s collection can be loaded) everywhere https://github.com/jesus2099/konami-command/blob/master/mb_COLLECTION-HIGHLIGHTER.user.js
Fast cancel edits Mass cancel open edits with optional edit notes. https://github.com/murdos/musicbrainz-userscripts/blob/master/fast-cancel-edits.user.js
Import Bandcamp releases Add a button on Bandcamp’s album pages to open MusicBrainz release editor with pre-filled data for the selected release https://github.com/murdos/musicbrainz-userscripts/blob/master/bandcamp_importer.user.js
Mark recordings as video musicbrainz.org: Mark recordings as video https://github.com/loujine/musicbrainz-scripts/blob/master/mb-edit-set_video_recordings.user.js
merge recordings from acoustID page musicbrainz.org: merge recordings from acoustID page https://github.com/loujine/musicbrainz-scripts/blob/master/acoustid-merge-recordings.user.js
Paste-A-Date! This script adds a field after the existing date fields where you can paste a date and it will try to parse it. https://gist.github.com/JesseWeinstein/368bddf748f4faf44b5775addf7f3db0
Sort artists Allows you to change the order of artist names in any of the multiple artists editors. NOTICE: This will remove any artist lookup data already present in the editor. You have to assign this manually again. https://github.com/JensBee/userscripts/blob/master/sort-artists.user.js

Or maybe we could skip the name, as the filename maybe would be enough?

URL and Description only list


The two last examples are hard to read, IMO.
I like the first List example.

4 Likes

@jesus2099 if you want some feedback - the first list is clearest to me. Clean, clear and simple. But it would be good to add the authors.

The reason that I like to know the authors of the scripts is there are some of you who have created a nice large collection of scripts that work well together. It is good to be able to read a list together from that one creator for other ideas.

I have some creator’s whose scripts always are a bit more hit n miss for me due to my combo of browser and cookie settings.

One thing that would also be needed on the Wiki is a way of marking “problem” scripts. Sometimes a website change may lead to a script issue and it would be useful to flag that in some way.

2 Likes

I think for my scripts that have a topic in this forum, I will probably link that instead of the source code link.
Because in the topic, there is the source code, the install, the list of bugs, etc.

1 Like

This has not been an issue in the past that I’m aware of, so I don’t see it becoming a problem for this either. That said, a link to a support location (or homepage-ish with a link to support) is always good.

1 Like

Kia ora all, I have finally updated the guides/userscript page with a more or less copy and paste of @colbydray’s amazing userscript list:

https://wiki.musicbrainz.org/Guides/Userscripts

@jesus2099 feel free to edit or revert - I thought that list was an excellent starting point. Feel free to edit. Hopefully we can now have that page be the ‘canon’ list to link to. I checked to make sure all the scripts on your page were in there as well.

Also updated in tandem:

https://wiki.musicbrainz.org/External_Resources

Edit: I haven’t gone through and checked the scripts/links yet, if anyone wants to pitch in go for it
Edit: Added the scripts I use that were missing

4 Likes

The disc ID detector script needs to be updated. Opened an issue here. Seems to be a problem with the button toggle. It used to work, so something somewhere got broken in an update.

2 Likes

Does anyone remember who authored/where I can download the MB: Bulk Edit Release Events userscript? I migrated from Chrome to Firefox yesterday and lost all the userscripts I had been using in the process. I have since reinstalled most of them via Violentmonkey, but this one still eludes me :cry:

5 Likes

There was also a userscript that showed the original add date and modification dates for releases on Bandcamp. That one I also haven’t been able to find since migrating.

Hmm, I can see 0.1 on GreasyFork (Bandcamp: Show publish date) but the version I have installed says 0.5 (Bandcamp: Show publish date (tralbum)) and I can’t find it anywhere… both by ‘w_biggs (~joks)’

Is it acceptable/recommended to re-host this kind of thing?

1 Like

I didn’t get any advice to the contrary so I’ve uploaded a copy of 0.5 ‘Bandcamp: Show publish date (tralbum)’ here @HibiscusKazeneko .

If you’re the author and want it removed message me :ok_hand:

2 Likes

I’m the original author of v0.1 but I never made a v0.5 - those additions must’ve been by somebody else who didn’t add their credit to the script.

2 Likes

If you still have it installed from the old URL it should auto-update to v0.6. Now it’ll display the date in UTC like the other import scripts.
When I adapted the script I failed to notice it was converting to local timezone all along. v.0.6 was only briefly available back then.

The original version however will keep using local timezone unless you add timeZone: 'UTC' to the parameters.

1 Like

What is the old URL? That’s what I was looking for and couldn’t find :smiley:
(my version doesn’t have an update URL)

edit: I was in a hurry so I forgot to also say - thank you @cigazze! Incredibly useful little script!

2 Likes