I really look forward to trying this out when that's fixed, or if you can suggest a workaround. It's a subject I'm very interested in both as a listener and a developer. I spent a while thinking about this problem a few years ago, in the hope of making a music player that could tell you things like "what other recordings of this work are there?", "what else can I listen to that is arranged for cello, violin, and piano?", "suggest one recording of each of Carl Nielsen's symphonies", etc. Or even apparently very simple things like "play the symphony from this album, but stop when you reach the end of the work, don't play the overture they stuck on the end to fill up the CD". At the time I was still imagining something based on a mixture of local CD rips, things available on download services (which could be suggested but not necessarily played), etc.
Anyway, I didn't really do anything -- I got only as far as throwing together this messy RDF dataset http://dbtune.org/classical/ -- and I haven't returned seriously to the problem since. It's remained on my mind though, not least because I would still love to be able to use such a thing, and I'll be very interested to see how you're approaching it.
sudo pacman -S asar
cd Concertmaster/resources
asar e app.asar app
rm app.asar
printf "1018a1019\n> var listul = '';\n" | patch app/js/lib.js
I was able to start playing something, but then it freezes. Currently looking into that...Only complaints so far: the horizontal scrollbar is a bit thin and hard to grab; and, er, when I click the yellow button at top right (of the three Mac-style blobs) the window disappears entirely without leaving any way I can find (under Gnome) to get it back again.
Terrific work though.
Concertmaster is built over Electron and, as such, it is 100% JavaScript. In fact, it's not a more convenient website only because of Spotify's limitations.
It would be possible to make Concertmaster open source, but it's far from professional - it's more like a hobby I'm keeping for 3, 4 years.
(Concertmaster is more than the client. It has several server-side functions as well.)
After a few seconds, it still freezes for me, so that's one thing I could try to fix :)
https://i.imgur.com/WJZKiUA.png
After that, the GUI elements just don't respond at all. There is no CPU usage, so it's probably not an infinite loop.
I enabled logging, but don't see anything significant.
Classical music has a very complex taxonomy and the so-called “metadata problem” hasn’t been solved by any streaming provider so far. There are some guys in Berlin that are creating a completely new streamer called Idagio, and it seems promising. But they are struggling to sign deals with labels, the process of adding recordings to their database is understandably slow, and subscribing a new streamer implies an additional cost to listeners.
I tried to solve the “metadata problem” using existing infrastructure: Spotify and All Music Guide. (Scraping AMG website sits in a legal gray area, I know.)
DBTune looks very nice; I recall a similar app in early 2000s called ClassiCat. Anyway, if you have the UPC of an album, it’s fairly easy to play it in Spotify.
Cheers!
PS: I’m a Nielsen fan too :)
Further — the data is licensed freely, and there is an API to get at it all; no scraping needed.
I'm very sorry for the bug, it'll be fixed shortly.
Thanks for the reminder, as a matter of fact I think I'll put on his 3rd for lunch.
So far, it's amazing...great job!
I have the loading screen problem running the linux version aswell. Running the app with logging enabled gives the following output. Hopefully this helps you with debugging.
λ ~/ export ELECTRON_ENABLE_LOGGING=1 && /opt/Concertmaster/concertmaster --remote-debugging-port=8315
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token )", source: /opt/Concertmaster/resources/app.asar/js/jquery.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token )", source: /opt/Concertmaster/resources/app.asar/js/jquery.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected string", source: file:///opt/Concertmaster/resources/app.asar/js/jquery.mousewheel.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token =", source: file:///opt/Concertmaster/resources/app.asar/js/jquery.leanModal.min.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Invalid or unexpected token", source: file:///opt/Concertmaster/resources/app.asar/js/html.sortable.0.1.3.js (1)
[20025:1213/104849:INFO:CONSOLE(2)] "Uncaught SyntaxError: Unexpected token }", source: file:///opt/Concertmaster/resources/app.asar/js/toggles.min.js (2)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Illegal return statement", source: file:///opt/Concertmaster/resources/app.asar/js/select2/js/select2.js (1)
[20025:1213/104849:INFO:CONSOLE(96)] "Uncaught SyntaxError: Error parsing /opt/Concertmaster/resources/app.asar/node_modules/@exponent/electron-cookies/package.json: Unexpected token e in JSON at position 2", source: module.js (96)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token )", source: file:///opt/Concertmaster/resources/app.asar/js/lib.js (1)
[20025:1213/104849:INFO:CONSOLE(41)] "Uncaught ReferenceError: request is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (41)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/PetitaMedium.ttf", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/Sanchezregular.otf", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(153)] "Uncaught ReferenceError: $ is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (153)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/PetitaMedium.ttf", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/Sanchezregular.otf", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(284)] "Uncaught ReferenceError: spotinit is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (284)
[20025:1213/104849:INFO:CONSOLE(347)] "Uncaught ReferenceError: $ is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (347)
[20025:1213/104849:INFO:CONSOLE(360)] "Uncaught ReferenceError: $ is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (360)
System info: λ ~/ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
λ ~/ uname -a
Linux thom-laptop 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
λ ~/
Thanks for trying the app. Very surprised by the repercussion!
Well, the current version of Concertmaster has a known bug which freezes the app in its first run. (This issue will be solved in a major update January, but I’m seriously thinking of releasing a fix today or tomorrow.)
Please try closing the app and running it again. It may work