Git Product home page Git Product logo

website-polish-scores's Introduction

Polish Music Heritage in Open Access website

This repository contains the jekyll-based front-end website for https://polishscores.org.

Data and data server

Source edition images

Presentations

  • Jacek Iwaszko and Craig Stuart Sapp, Polish Music Heritage in Open Access at The Future of Digital Editions of Music, Northumbria University, Newcastle upon Tyne, 28โ€“30 March 2023.

See also

  • Promotional booklet about Polish Music Heritage in Open Access (2022): English, Polish.

website-polish-scores's People

Contributors

craigsapp avatar jacekiwaszko1 avatar mkonik avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

nifc

website-polish-scores's Issues

Add link to VHV

Add a link to VHV for the currently viewed score on a work page.

Adjust composer name on work page

The current composer display, such as:

http://127.0.0.1:3434?id=pl-kk--kk-i-356--002

Screen Shot 2021-10-20 at 2 52 28 PM

Has a problem in that ? may be interpreted as uncertainty about the authorship of this work. Better will be to use i for "information"/"informacja" in the circle.

Also, maybe make the composer's name red. This will help with any (small) confusion as to if the name is part of the title, and will also additionally imply that the composer's name can be clicked on to do something (which is also the purpose of the "i' icon).

Other headers on browse page

Discussed in #5

Originally posted by mkonik October 5, 2021
There are two headers on browse page: Composer, Title. There should be two other: Source, RISM record.

  1. Source should be displayed as combined RISM siglum and shelfmark - e.g.: PL-Kk: Kk.I.10. It should link directly to the digitized source in repository / portal (depending on what works better)
  2. RISM record should be displayed as See in RISM \ Zobacz w RISM and shoul link to parent record in RISM Opac.

Composer info on work pages

Allow clicking on the composer name on work pages to toggle display of information about the composer below the name and above the work title.

There should probably be a ? icon after the name to indicate that the composer name can be clicked on.

Composer information should show the composer portrait, if available, composers dates, and links to resources about the composer. This should be similar to the auto display of composer information when a specific composer is selected on the browse page.

Nationality filter

Discussed in https://github.com/craigsapp/polishscores/discussions/3

Originally posted by mkonik October 5, 2021
It would be better not to use nationality filter (at east not on front page, maybe in advanced searching). There are two reasons for that:

  1. this is Polish music project - some people might be surprised by the fact that we have plenty of foreign composers (this is obvious for us because we are source-focused)
  2. it might be a bit tricky to determine someone's nationality in 16. or 17. centuries

Add workpage view history

Keep track of the scores viewed during a session, and show a list of these scores with some command (maybe using the search-results list on the browse page).

They should be sorted most recent first, and duplicate views should probably be removed.

Link pitch search on browse page to work page pitch search

Pitch searching on the work page should be implemented so that the notation is rendered once, and then the search results are highlighted in the score rather than rerendering the score. This will speed up searches within a work (compared to POPC-1 and Tasso method of rerendering to highlight the matches).

Add sounding score option to notation configuration menu

Add a checkbox option to toggle between sounding and written scores. This will display transposed instruments at sounding pitch (there will be complexities related to clefs).

Probably keep instruments transposing an octave (contrabass, piccolo, for example) as transposed pitch. Perhaps keep similar octave+interval transposing instruments within their original octave, such as bass clarinet which is transposed down a major 9th (showing down a major 2nd from written would be better without changing clef).

Stems will needs to be removed to display in new transposition.

Double rendering of scores

When a work page is entered, verovio runs twice. Probably the first time causes the container that the notation is in to expand. This in turn causes the mutation observer to retrigger a rerendering of the notation for the changed width (but the difference is very small).

Try to figure out how to avoid this double rendering.

Sort search results by column

Allow for clicking on the search results table header to sort by each column type (shelfmark, composer, title).

The default sort order should probably be the composer's name (middle column).

Sorting by shelf mark should be the easiest as it will be independent of other columns (but two extra columns of metadata from the spreadsheet will need to be added in order to sort entries within a shelfmark.

These extra fields for the work/movement number within the shelfmark will also be necessary to identify work-level groupings in the titles. Sorting by title should not split works, and works should not be internally sorted by movement title; rather they should remain in movement sequence order.

Composer's should sort alphabetically, but secondarily by title (and not altering movement orderings within works).

Currently the SCORE_INDEX is sorted by cenid. There is a parameter _seq which encodes this ordering. The best way to implement searches is to add additional _seq-like fields that give the order when sorting by shelfmark, composer and title, such as _seq_shelfmark, _seq_composer and _seq_title.

In order to do sorting by title, the title/subtitle information in the spreadsheet need to be mapped to OPR for the work title and OTL for the movement title.

Single-movement works have the spreadsheet title map to OTL, and groups have the title map to GTL (group title) and the subtitle map to OTL (currently groups cannot contain works with movements).

Allow direct link to work pages

Currently the browse page is displayed when going to the website. Allow a work page to be displayed if there is an id parameter in the URL.

Show Eyecon in download section

Maybe add an Eyecon:

Screen Shot 2021-10-16 at 1 11 10 AM

next to the file icon in the download section:

Screen Shot 2021-10-16 at 1 11 18 AM

The icon would open the contents of the Humdrum/MEI/MusicXML/PDF files in a new tab rather than download the file. This would be useful for quick copy-and-paste of the file's content, and also allow people to see the text content of the files (MEI and MusicXML files are otherwise hard to view the XML text).

As mentioned previously, perhaps also add the VHV icon for Humdrum/MEI/MusicXML download entry for loading into VHV rather than downloading.

Hide shelfmark in basic browse mode

When in basic browse mode, the shelf mark column should not be shown in the results table:

Screen Shot 2021-10-14 at 11 50 42 AM

This would be similar to narrow mode, where the shelfmark column is hidden:

Screen Shot 2021-10-14 at 11 51 28 AM

Add URL link copy for work pages.

When viewing a score on the work page, have a button in the toolbar that copys a URL directly to that score onto the system clipboard. This will allow people to bookmark certain scores in their browser (but also there could be a bookmark system added to the website for people to store a list of their favorite works).

new background image needs fixing

The new background image needs fixing. There are two general problems:

(1) The image is 3MB in size. This is too large because it will slow down the loading of the page (it exceeds the size of the Verovio toolkit, for example). The previous background image was 200 KB, which is a good target side for a decorative background. This can be done either by heavily compressing the image in the JPG format, or reducing the colors in a PNG format (this is how I reduced the POPC1 background image from 800 KB to 200 KB for the initial POPC2 background image).

(2) The viewable part of the image in the borders is a bit confusing as to if it is actually music notation:

Screen Shot 2021-10-09 at 2 35 52 AM

A more zoomed-out view of music might give more interesting details in the visible margins. Also, there could be some sort of transparency maybe in the top left/right corners to show some interesting but not too distracting details of the background image.

Header/Footer Logos

We need to have logos at the page footer. We also need (this is very important) to have EU flag at the page header. It must be seen when opening page without scrolling.

On chopinmusicsources.pl footer is done with this code:

<div class="footer_imagesWrapper__1y2Rv"><img src="data:image/png;base64,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" alt=""><img src="data:image/png;base64,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" alt=""><img src="data:image/png;base64,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" alt=""><img src="data:image/png;base64,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" alt=""></div>

Add notation configuration menu on work page

On work pages, there is a notation configuration icon (wrench) in the toolbar:
Screen Shot 2021-10-19 at 11 37 38 PM

Clicking on the wrench will toggle display of the notation configuration menu. Currently a dummy menu is implemented:

Screen Shot 2021-10-19 at 11 38 10 PM

(It will probably be larger when implemented).

Things that can be added are things like:

  • show/hide hidden notes
  • transpose music? (useful for singers and accompanists)
  • widen/narrow musical spacing (size is in main toolbar)
  • part extraction
  • modern clefs (bass, treble, vocal tenor)

Add pre-calculated incipits

Prepare musical incipits for all works in the Humdrum data server. The width of the incipit will be 1000px, but the SVG image will shrink when the browser window is narrowed. When the browser window is in full-width mode, the SVG image should be limited to 1000px (otherwise will zoom in too much for very wide screens).

Allow for musical incipits to be displayed in search results list. This will probably require paging the search results list, limiting to 20/50/100 entries per page (possibly allow the user to select the limit).

Also allow for musical incipits to be displayed on the work page for multi-movement works.

Add keyscapes

Add key icon to work toolbar to toggle display of keyscapes. The keyscapes should probably be shown beneath the work title, or at the top of the page where the download menu is shown.

At least four keyscapes styles could be shown.

(1) Absolute colors (C = green, D = dark blue, E = red, etc.)
(2) Relative colors (tonic = green, supertonic = dark blue, median = red, etc.)
(3) Raw keyscape with no post processing
(4) Post-processed keyscape

Possibly allow for choosing the prototype weights, which will give different analysis results. Probably too many options since that would go from 4 to 20 images to prepare for each score.

Probably allow for two keyscapes with a color legend shown in between them. Probably implement in a canvas object to allow kerning of the legend and the two pictures. This will also allow an interactive mouse to explain the color mapping in a manner similar to the keyscape interface on VHV:

Screen Shot 2021-10-19 at 11 57 22 PM

For relative coloring, there needs to be a key designation in each file. Add automatically assigned keys to the score, and then examine the relative keyscapes to check for errors in the automatic analyses.

After the first round of adding key designations to the current scores, the Humdurm data entry personnel should add key designation to all of their submitted scores from now on (since it is better for a musician to determine the key than to rely on automatic assignment).

There are also modal encodings that are possible:

*C:        = major
*C:ion   = ionian
*c:dor   = dorian
*c:phr   = phrygian
*C:lyd    = lydian
*C:mix   = mixolydian
*c:         = minor
*c:aeo   = aeolean
*c:loc    = locrian (mostly theoretical and not historical)

Automatic analysis has difficulty with modal assignments, so if the 3rd scale degree is a minor third, it will be assigned to minor. Or if it is a major 3rd, then it will be considered in a major mode.

Add browse toolbar

Add a browse-page toolbar similar to the work toolbar at the top of the page.

  • Bookmark icon: Show list of bookmarks
  • History icon: Show view history (most recent first)
  • Random icon: Show button to show a random score

Probably move icon buttons from inside of form to the top browse tool:

  • Backspace icon: clear browse fields
  • Expand/contract for verbose/minimal browse search fields
  • Link icon: link to browse page with currently selected queries

Polish translations of "match"/"matches"

What are the Polish equivalents of "match" and "matches" (as in "search matches")?

In other words, translations for these cases are needed:

0 matches
1 match
2 matches
3 matches
4 matches
5 matches
...

Presumably everything above at least five uses the same plural ๐Ÿ˜› ...

Change text buttons on browse page to icons

The clear/link/less buttons in the browse form:

Screen Shot 2021-10-16 at 12 46 10 AM

Should be turned into an eraser (or similar), link and expand/contract icon. Or alternately leave this button as a text button since those two icons will not be very clear to the first time visitor.

https://www.fontawesomecheatsheet.com/font-awesome-cheatsheet-5x

Backspace or erase for the clear button:

Screen Shot 2021-10-16 at 12 50 54 AM

link button (as on the work page):

Screen Shot 2021-10-16 at 12 52 31 AM

Expand/compress (as on the work page for incipit/full score display):
Screen Shot 2021-10-16 at 12 53 20 AM
Screen Shot 2021-10-16 at 12 53 38 AM

This will help also with internationalization for languages other than English/Polish.

Another possibility is to create a browse toolbar similar to the work toolbar, and place the link and expand/contract button into that toolbar (but the clear button would be most useful still next to the query fields).

NIFC logo

Related to EU flag and other logos at the bottom of the page, should a NIFC logo be added? Presumably next to the EU Flag? Or on the other side of the flag.

Score is getting stuck on

Scores are displaying still on the browse page when returning from the work page after the last commit:

Screen Shot 2021-10-16 at 12 44 42 AM

Add data server mirroring

Set a primary and secondary location for downloading digital scores. When the primary server is down, automatically switch to the, or a, mirror site.

Add work bookmarks

Create a system for bookmarking scores to save favorite scores that persists between sessions.

Somewhat related to issue #27, but probably an independent bookmark page should be created.

Keyscape style checkboxes

Above or below the key information display on a keyscape, add two check boxes to select two possible styles:

  • "Relative" which means transpose the music to C major so that green means tonic, light blue means dominant, yellow mean subdominant, etc. When in this mode, the key will be reported as Roman numerals, with upper case for major and lower case for minor. For example "IV" (displayed in yellow) would mean subdominant, and "vi" would mean subdominant (display in purple).

  • "Clean" which means to post process the keyscape to remove likely errors in the key analysis. Real key regions must be attached to the bottom of the plot. If there is a color region that does not touch the bottom of the plot, then it is unlikely to be correct. This region will be blanked out, and then any adjacent region which is the second best key will fill in the blanked out region. In addition, if a region can be surrounded by a larger region, it will be clipped to the encompassed region. Also, the left/right corners of the keyscape will be checked for a matching color, indicating that the starting and ending keys of the movement/work are the same. This will cause a line to be traced along the edges towards the triangle peak to connect the two regions.

Add musical text font from VHV

Add the same text font for the music that is used in VHV:

Screen Shot 2021-10-20 at 12 12 04 AM

Currently is Times Roman with font substitutions for missing characters:

Screen Shot 2021-10-20 at 12 12 31 AM

Add horizontal display mode

Related to full screen notation display:

Screen Shot 2021-10-20 at 2 00 11 PM

http://127.0.0.1:3434/?id=18xx:10

It would be useful to have a continuously scrolling horizontal mode where there are no system breaks. This is particularly useful for orchestral scores, where the music is difficult to follow on a screen between systems.

Top margin moved

The top margin of the white region changed, probably due to the MIDI progress bar. Now the configuration menu (as well as downloads) are display too high:

Screen Shot 2021-10-26 at 1 48 33 AM

Add sic correction option

On the configuration menu, add an option to automatically correct sic problems (if the correct is encoded).

Add documentation page(s)

Add a /info page to the website. The /info/index.html page will give an overview of the website.

Also additional documentation pages can be stored here such as /info/keyscape for documentation about keyscape plots. As well as advanced feature documentation and similar.

info is used since it is the same in Polish (informacja) and English (information).

Add PDF footer

Add a footer to PDF files, which includes the page number and URL to the workpage where the PDF was generated. Also could include NIFC logo and other information.

Could not locate navigator

After latest commit jekyll stoped building page with error:
Liquid Exception: Could not locate the included file 'navigator/work-navigator.html'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.