I’ve never been able to get mediatools or ISRCsubmit to work. I tried for days to learn python to the point where I just don’t get it. I’m damn near 50 and I’m just not going to learn this kinda thing. I want to be able to just stick a CD in and have the ISRCs submitted without learning python. Is there any way we could just create an add-on to Picard to handle this like they do accoustIDs? Why is it so hard to extract the metadata from a CD that has one and submit it via the tools in place. Or why isn’t there just an installer that will install everything with one button click (it’s 2021) that will install all the previous things for me.
If Windows and your CD drive is D:\
.
mediatools.exe (Windows)
mediatools.exe drive d cdtext isrc upc
Then copy and use mb. MASS ISRC userscript with @kepstin’s //magicisrc.kepstin.ca.
isrcsubmit.exe (Windows)
isrcsubmit.exe" -u tigerman325 d:
@JonnyJD’s python isrcsubmit
Are you in Linux, Mac or Windows?
- In most distributions of Linux, including stable Debian, you can just install isrcsubmit with
sudo apt install isrcsubmit
(no need to understand Python, I don’t). - In Mac, I don’t know.
- In Windows, I remember it was more difficult to install, indeed.
About ISRC with Picard:
It would mean adding a ripping mode, which is not a small thing.
I figured “not be a small thing” was likely the problem. Bummer. I’ve tried the python installs and just rarely get anything to work that way. I’d get part of the way there but then got errors. Glad to see a ticket opened, at least. I use WIndows 10 and python is just confusing to me. Too many versions, not sure what to do with it or how it works. I’ll try to install with the newest versions again and see if the bugs have been worked out. Last tried about a 6 months to a year ago.
A word of caution for Mac users: ISRCsubmit does not work on MacOS Catalina (10.15) or higher.
Ok. Well I installed python-discid instead and it seems to have installed, but when I run isrcsubmit it says it can’t find discid.dll even though it’s in the same folder.
It seems you are trying to build something.
If I remember, on Windows:
- Download
isrcsubmit-2.1.0-win32.zip
(or earlier) from download page - Unzip somewhere and run
isrcsubmit.bat
from the MS-DOS command line
Have you checked the knwon issues (solved and not solved)?
Maybe you have installed Pyhton 64 bit?
Even if you have Windows 64 bit, isrcsubmit currently only works with Python 32 bit.
If it’s not this problem, then it may be that other problem, which already has a fix but still not deployed (open).
If you are really blocked, you can still use mediatools.exe from this same zip, then copy text, and paste in magicisrc with MASS ISRC.
This thread is a great example of the reason I also don’t bother with ISRCs from my CDs. I use Windows PCs and it is just too much of a faff. Any reason this can’t be added to Picard? Just like a Submit TOC works from Picard? Couldn’t we get a little option on the menu to Submit ISRC so we can do this without having to master multiple languages and copy pasting data around?
Ahh. I’m using 64 bit. Maybe that’s the issue. Il’ll try one last time.
If you still have the same error, try to edit isrcsubmit.py
as shown by omgitsraven in https://github.com/JonnyJD/musicbrainz-isrcsubmit/pull/125/files
Sorry BTW I didn’t remember there was a solution with keeping 64 bit Python!
Please replace disid.dll as explained in https://github.com/JonnyJD/musicbrainz-isrcsubmit/issues/73#issuecomment-524569385 and maybe do the change in my previous paragraph.
Those 2 things should make it work with Python 64 bit.
@JonnyJD:
I will propose a PR next to omgitsraven’s PR to maybe fix that.
I still have to test if it works with both 32 bit and 64 bit (I have Windows XP and 10, 32 bit and 64 bit, somewhere).
@HibiscusKazeneko I use macOS Catalina 10.15.7 and got it to work. IIRC, starting with 10.15, Apple updated the built-in version of Python to 3.7, which leads to an issue parsing the output of some process (technical answer: it returns a byte-string while a string is expected). Replacing
proc = Popen(["drutil", "status", "-drive", option_device], stdout=PIPE)
with
proc = Popen(["drutil", "status", "-drive", option_device], stdout=PIPE, text=True)
on line 440 of isrcsubmit.py
may fix this, I think, although other errors may occur later on still (can’t remember).
@tigerman325 To add on to @jesus2099’s answer, that error tells me that libdiscid
(the actual library) is not installed (or installed in a weird place). AFAIK you shouldn’t need to pip install
anything if you’re using the pre-built ZIPs. I don’t use Windows though, so don’t take my word for it.
I thought I had to install those because they were dependencies. Why even tell you this if they don’t need to go install it. This is the kinda techie stuff that drives me nuts. If I don’t have to do something, don’t tell me I do. Argh.
I’m trying to install libdiscid in when I get that answer. I don’t know how to install anything other than pip install.
Yes, the install page may be a little confusing in its current form.
You should read it as:
For Windows, you need to install Python and then to download the zip file.
For Linux, just install the musicbrainz-isrcsubmit (use sudo apt install musicbrainz-isrcsubmit
for Debian distribution).
It takes care of all dependencies.
If not found in your distribution, you will have to clone the git repository (or download it as zip) and do the more complex stuff explained in install page.
(For Mac I don’t know)
I have the same problem again now that my laptop has been reset and I reinstalled Python 3 (64 bit apparently):
C:\Users\bob\Documents\PRG\isrcsubmit-2.1.0-win32>isrcsubmit.bat
Traceback (most recent call last):
File "C:\Users\bob\Documents\PRG\isrcsubmit-2.1.0-win32\isrcsubmit.py", line 47, in <module>
import discid
File "C:\Users\bob\Documents\PRG\isrcsubmit-2.1.0-win32\discid\__init__.py", line 30, in <module>
from discid.disc import read, put, Disc, DiscError, TOCError
File "C:\Users\bob\Documents\PRG\isrcsubmit-2.1.0-win32\discid\disc.py", line 24, in <module>
from discid.libdiscid import _LIB, FEATURES
File "C:\Users\bob\Documents\PRG\isrcsubmit-2.1.0-win32\discid\libdiscid.py", line 108, in <module>
_LIB = _open_library(_LIB_NAME)
File "C:\Users\bob\Documents\PRG\isrcsubmit-2.1.0-win32\discid\libdiscid.py", line 99, in _open_library
return ctypes.cdll.LoadLibrary(lib_name)
File "C:\Users\bob\AppData\Local\Programs\Python\Python310\lib\ctypes\__init__.py", line 452, in LoadLibrary
return self._dlltype(name)
File "C:\Users\bob\AppData\Local\Programs\Python\Python310\lib\ctypes\__init__.py", line 374, in __init__
self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'discid.dll' (or one of its dependencies). Try using the full path with constructor syntax.
:-/
Not really, When Picard submits the disc ID, it could also submit the ISRCs.
How would Picard be able to submit any ISRCs without actually obtaining them first by either reading and decoding the Q channel of a CD, or parsing some trusted 3rd party source such as EAC CUE file?
If Picard can calculate the disc ID by reading the CD, then why can’t Picard get the ISRCs off the CD?
I guess there’s rather a big technical difference if you only need to read the TOC (table of contents) or decode a specific subchannel. And some drives can’t read the latter at all.
Agreed, my point was that while a user is submitting a disc ID, it makes sense to submit ISRCs as part of a single set of actions. Obviously, they may not be available, so could be skipped.