openopus-org / concertmaster_player Goto Github PK
View Code? Open in Web Editor NEWClassical music front-end for Spotify (Player)
License: GNU General Public License v3.0
Classical music front-end for Spotify (Player)
License: GNU General Public License v3.0
Choose to view Favorites sorted by either composer or the primary artist associate with the album.
This issue is on mobile only!
It's not possible to list all works of a selected composer on its details page, you always have to select a filter. You start without any filtering, but once you selected a filter, you cannot deselect it.
It would be nice to be able to uncheck the filter. And while we're at it: add the possibility to filter on more than one type of composition.
It is possible to run a session in a browser and one in an installed PWA, or a session in two different browsers and play a different song at the same time. Should this be possible? Is the limitation on the Spotify side or on Concertmaster?
Note: sometimes one session is paused when you start playing in the other session, but this doesn't happen all the time. You have to play around with the different browsers, starting songs in different sessions. In the end I always get it working.
Currently the favourites are in three categories: recordings, compositions and composers. Each filter uses its own favourites category. Only the composition favourites end up in the sidebar favourites playlist. This is very confusing for the user. I expect all favourites to show up in the sidebar.
When making an album a favorite, please don't navigate to the favorites playlist. Add an option to the settings to prevent this, if you want to keep this feature. I think it's very annoying ;)
When I attempt to play any track with Firefox for Windows or Linux, Concertmaster displays "Tuning..." indefinitely and doesn't play the track. The issue doesn't seem to affect Firefox for Android or Chrome. Not sure if it's relevant, but the logs show the following:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://api.spotify.com/v1/track-playback/v1/devices. (Reason: CORS request did not succeed).
Uncaught ReferenceError: device is not defined
cmas_spotifyplay https://concertmaster.app/js/lib.js:216
cmas_toggleplay https://concertmaster.app/js/lib.js:286
<anonymous> javascript:cmas_toggleplay();:1
I've noticed that very often, while using the radio mode, when a piece is done, it will often start the next piece (the UI will show the next piece) and then immediately skip it and choose another piece to play. This will often happen repeatedly. In the JS console, it will repeatedly say "Over, next".
This probably requires a lot of work, but here's an advanced search feature that would be amazing:
A way to filter by record label after choosing the composer - say, if I'm looking for all the recordings made by "Deutsche Grammophon" with works from Beethoven - because that usually makes a huge difference in terms of recording quality and choice of musicians. It works in the normal Spotify search by adding "label:" before typing the search keywords, so the metadata seems to be within reach.
Anyway, fantastic app! Thanks for making it, it brings a lot of joy :)
The Spotify SDK supports setting the volume of the played song, so it would be nice if the Concertmaster.app supports this as well by adding a volume slider to the interface.
I realize this would require the introduction of user accounts, which is a non-trivial enhancement. But syncing favorites across my mac/iphone/ipad would make concertmaster 10x more usable.
Now you first have to start playing a recording before you can add it to a playlist (at least on mobile). It would be nice to be able to add a recording to a playlist from the overview of recordings.
Currently, the following options are available to report a work as correct or wrong:
There is no way to report works that are real recordings (6.) of the correct (5.), original (4.) work, including all movements (3.) and with correct performer medatada (2.), but with wrong movement metadata.
An example of such a work is https://concertino.app/u/7295/1452416576/1: All movements are named 1999)
or 1999]
and the global track slider doesn't separate by movement.
BTW, a list of the correct movement names can be found here: https://www.klassikakzente.de/claudioabbado/musik/the-symphony-edition-186846, CD 33 and 34.
It would be nice if could listen to the whole album after you navigate to a certain piece via the composer and you like the piece.
When using the back button in the browser, or if you installed the PWA on Windows, at the top of the window, the player on the left is navigating back to the previous song, but I would like the right side to navigate back to the list of all works by the selected composer.
When i tried to go to the site concertmaster.app I was met with this in Firefox (win10):
I checked my OS clock and it was accurate.
In Chrome it looks like this:
I hope the last sentence in the Chrome message is correct and that this is a fleeting problem.
Interesting project that I'm keen to try out!
I am thinking about splitting your code (index.html and lib.js) up into reusable components and bundle the external dependencies. This way the bundler (either webpack or roll-up) can get rid of unused pieces of code.
The framework I am thinking of using is Svelte , which is actually a compiler, and really fast. But if you have other ideas, let me know (like Vue, Angular or React). If you don't like it I will maybe try it as an exercise, to get some experience with Svelte.
It's really hard to click on the add to playlist (+ sign) button on mobile, without click III NG the 'Listen on Spotify' link (which has a width of 100%). For mobile it's better to use larger buttons, because they are easier to hit with your fingers.
The left side of the screen is a bit big and takes up too much space (in my opinion). It would be nice if I can collapse that pane (with favorites and now playing). You could also move the now playing info to the toolbar at the bottom (like Spotify does) and make the favorites a filter option (when selected it will only show composers which you selected as favorites).
Actions in the "verify" section in the expanded "Now playing" section can be destructive, such as reporting a work as "Wrong work", which removes it from the catalog for all users.
No confirmation is required when you click this button, and there is no way to undo if you clicked it by mistake.
Also, no confirmation is required if you submit metadata changes in the "Complete but missing information" view (and maybe other views too).
Lastly, this view should contain a "Back" button.
Edit: I just realized that the textarea label (e.g. Thanks for your collaboration! Edit the performers in the field below. One per line. Specify their roles (instrument, voice etc) after commas.
) is clickable and acts as a back button. It is not obvious that the label behaves like this before you clicked on it. A button should be added and the function removed from the label.
Currently only the text of the category filter is clickable. It would be easier if the whole
It's more logic to first select a period and then the composer. When you now select a period, the list of composer above the list with periods is filtered, which feels unnatural.
In the composer view you have two buttons next to the name of the composer. What does the bottom icon mean? Maybe it's a good practise to notify the user what he has changed by clicking either button (like when you click the top one, a snackbar at the bottom appears, saying "you added the composer to your favorites".
Display Favorites as a tree view collapsed by composer (or primary artist if that feature is added).
Steps to reproduce: resize the height of the browser/PWA when on a composer details page until the player is overlapping the genres filter list (around 660px height)
Notice: the genres list is not scrollable but all other lists (compositions, playlists) are.
It would be really nice to be able to jump to a position in the track that is currently playing
I was looking for Antonio Lotti, which is present on Spotify, but Concertmaster could not find him. Is the list with composers hardcoded or generated by scraping the Spotify catalog.
If it's hardcoded, could you add Antonio Lotti to the list?
It is hard to click the navigation arrows. It is preferred to use at least 40 pixels (width and height) for buttons when used on mobile touch devices.
Search recordings by any of the associated performers. Ideally as a combined keyword search including composer, so I could search for "sibelius karajan" and see all of Karajan's recordings of Sibelius.
Steps to reproduce:
It would be nice if the filter is remembered and restored when the user returns to the composer overview.
Using Android 10 and the current Firefox release 82.1.1, I get the message that my browser is not supported and 'Concertmaster works on Chrome and Firefox, desktop and Android versions.'
It works fine in Chrome on android for me. Is it possible that Firefox is no longer supported since Firefox android switched to the new codebase known as Fenix earlier this year? (Formerly known as Firefox Preview).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.