GithubHelp home page GithubHelp logo

pfefferniels / probstuecke-digital Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 124.74 MB

A digital edition of the 24 Probstücke of the Oberclasse by Johann Mattheson.

Home Page: http://probstuecke-digital.de

License: GNU General Public License v3.0

JavaScript 98.62% XSLT 0.39% XQuery 0.54% HTML 0.05% CSS 0.02% SCSS 0.37%
digital-edition tei mei

probstuecke-digital's People

Contributors

dependabot[bot] avatar pfefferniels avatar rettinghaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

rettinghaus

probstuecke-digital's Issues

Missing characters in PDF export

Special characters like the long s (ſ) aren't rendered at all in the exported PDFs. And (which is even worse) – all raised sixths (6⃥) come out as plain 6ths. We should investigate, why this is happening …

improve toolbox

It would be nice to have an option to normalize text (umlauts and long s).

Also the Staves and Clefs option should only appear, when there are actually staves and clefs (i.e. not on the front page).

View occurrences fails

Trying to "view occurrences" in the bibliography throws this:

failed fetching references SyntaxError: The string did not match the expected pattern

svg highlighting

As the svg rectangles in layer elements overlay the staff lines (e.g. see http://probstuecke-digital.de/7) it may be good to use pure css to highlight something.
We could introduce something like:

g.blink {
animation: blinking 1s infinite;
}

@keyframes blinking {
  0% {fill: red;}
  50% {fill: black;}
  100% {fill: red;}
}

and use js to change the class of all referenced elements on click.
The continued blinking helps to better track down the highlighted elements.

displaying Mattheson's annotations

In some pieces (e.g. PS11) there are annotations by Mattheson in the left hand. These too shouldn't be displayed by default in the edition. That can be achieved by XSLT easily. Question is: how to encode it in a good way?

Replace React favicon

The website shows the favicon from React.
Maybe we want to exchange it with something better?
I tried to style the "O" from "Organisten-Probe" from the title page:
favicon

Add "about" page

We should add a page that states:

  1. the goal of the edition
  2. How to use it
  3. the edition guidelines
  4. the persons involved

improve MEI header

It would be nice, if the headers would be brought in line and enriched with more information.

title page

We should have a 'real' title page, stating the name of the project etc.

Also, the regularized text I added to the front page is shown normally, but should be a tooltip or pop-over ideally …
For now I would simply make:

tei-choice tei-reg {
  display: none;
}

Word breaks

I'd like to propose using <pc force="weak">-</pc> for the hyphens at line breaks (as suggested by the TEI guidelines). This could be added by a simple regex on all the TEI documents. I don't feel very good about the regex replacements by JS everytime a Probstück is loaded …
This would allow us to simply hide linebreaks by CSS: tei-pc[@force='weak'] { display: none } and tei-lb { display: none }

characteristics display

Opening the characteristics on key and meter is a bit tricky. Once opened, you have to click again on the key / meter to close it. Would be more convenient to close it by clicking somewhere outside (Bootstrap's dismissible popovers).

Trying to open it again then fails.

Don’t link to GND directly

Names with references to the GND shouldn't link directly. Better would be a pop-over showing the normalized name from the GND with a separate link.

What about Mattheson's remarks?

Following some Prob-Stücke there is a remark by Mattheson, especially that one below PS8. How to deal with those? Where should they be encoded and how?
(In the PS8 case we would then have two key-overlays)

provide ODD

For now it is enough to say something like "The encoding is based on the DTA-Basisformat", but in the long run, we should provide an ODD, not only to make sure that all files apply to our own rules.

Merge first and second edition

Ist das der "way to go"? Ich denke, der Erkenntnisgewinn ist deutlich größer als einfach stumpf Erst- und Zweitausgabe separat zu kodieren. Ist aber zugleich ziemlich aufwendig ...

Generate OA lists by npm script

Instead of encoding them manually, all facsimile_*.json files should be generated by an npm script that walks through all MEI and TEI files, extracts the information from the <facsimile> elements and compiles them into the JSON files.

IIIF support

Currently, all facsimile files are stored on the public/facsimile folder. All references between facsimiles images and the transcriptions are stored in the annotations_{1st|de}.tei file.

It would be good to structure the facsimile data in a better way:

  1. MEI files contain their own facsimile references as music is concerned
  2. TEI files contain their own facsimile references as text is concerned
  3. Additionally, an AnnotationList service is provided that keeps the combined data of (1) and (2) as IIIF annotations

An annotation on a whole page of music might look like this:

    {
      "@context": "http://iiif.io/api/presentation/2/context.json",
      "@id": "https://probstuecke-digital.de/iiif/1/annotation/facsimile_de-p386",
      "@type": "oa:Annotation",
      "motivation": "sc:painting",
      "resource": {
        "@id": "http://probstuecke-digital.de/iiif/1/score.mei#xpointer(//pb[n='386'])",
        "@type": "dctypes:Image",
        "format": "application/mei+xml"
      },
      "on": "https://api.digitale-sammlungen.de/iiif/presentation/v2/bsb10598495/canvas/386"
    },

Or an annotation on a measure of music:

    {
       "@context": "http://iiif.io/api/presentation/2/context.json",
       "@id": "https://probstuecke-digital.de/iiif/1/annotation/facsimile_de-measure1",
       "@type": "oa:Annotation",
       "motivation": "sc:painting",
       "resource": {
         "@id": "http://probstuecke-digital.de/iiif/1/score.mei#xpointer(//staff[xml:id='m-40'])",
         "@type": "dctypes:Image",
         "format": "application/mei+xml"
       },
       "on": "https://api.digitale-sammlungen.de/iiif/presentation/v2/bsb10598495/canvas/386#xywh=175,134,439,185"
     }

And of course annotations on the text ...

Any comments/suggestions? @rettinghaus ?

MEI version?

For some files MEI3 is use, others are in MEI4. If there isn't a good reason for this, all files should use the same version.

extra-space after highlighting

For some reason, after a <hi> element there is an extra-space inserted in HTML view., messing up punctuation. Any idea why this happens? Is this a CETEIcean bug?

combine pointers

Instead of splitting references up into different pointers, like in Prob-Stück 10:

<ref target="m-35">Die</ref> <ref target="m-57">erste</ref>
<ref target="m-80">Zeile</ref> <ref target="m-105">dieses</ref>
<ref target="m-128">Stückes</ref> spielet man

we could use <annot> in the MEI to collect all members with a @plist and point directly to the annotation, like:

<annot xml:id="annot-01" @plist="#m-35 #m-57 #m-80 #m-105 #m128" @label="Mattheson's first remark"></annot>

New bugs

Recently there popped up some errors, e.g.:

  • editorial notes aren't rendered correctly (i.e. not at all)
  • double bar line / end bar lines are not shown
  • musical examples are (always) shown with modern clefs

License

Some MEI files still have a GPL license remark. Should we move all of them to the Creative Commons Attribution 4.0 International License, as most of the our XML files are?

Facsimiles too small

The facsimiles are too small, the size cannot be changed (tested Safari, Chrome, Firefox).
I propose to add the IIIF bitonal option to the quality selection list.

improve TEI header

Similiar to #6 the headers of the TEI documents should provide more information

modern key signatures

In some pieces the displayed key signature disagrees with the tonality from a modern perspective.
On modernizing the clefs, shouldn't we also modernize the key signatures?

Bar numbers in examples

What to do with measure numbers in examples? If they were just extracts from the whole piece we could leave the original numbers in there. But usually they're more than that. Do they deserve a local independent numbering or should we just drop them entirely?
For pointing to measures in the score we use @corresp. From a technical perspective way to go. But it is not for humans. Should we give a @label with the corresponding measure number?

Deal with wrong normalizations

While generally text normalization using DTA's CAB service works fine, it introduces some mistakes, e.g. Schleiffer gets normalized to "Schluffer" and some more. Probably we should collect those and correct them after normalization again.

Move data to separate repo

As discussed some time ago, I'd like to start moving the MEI/TEI encodings into a separate repository, that we can include as a git submodule. Are there any objections, hints, comments?

How to deal with Probstück 24?

In the very long text on (or better: following) the 24th Probstück Mattheson reflects, just like in the "Vorbereitung zur Organisten-Probe", about all sort of things (temperature, notation problems etc.), but says nearly nothing about the Probstück itself. To which extent should we or shouldn't we reproduce this text?

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.