Git Product home page Git Product logo

jgabc's Introduction

Users:
    See http://bbloomf.github.io/jgabc/ for a live example.

Developers:
To get started, install Node.js from: https://nodejs.org

On Linux/OSX:
    Verify node installation from terminal with:
        node -version
    Install npm with:
        sudo npm install npm@latest -g
    From the jgabc directory run:
        sudo npm install -g http-server
        sudo http-server -a localhost -p 80
    Visit the local directory from your browser:
        http://127.0.0.1

jgabc's People

Contributors

asbloomf avatar bbloomf avatar e-wojtacki avatar ksandigo avatar marekklein avatar nate-g avatar nklamann avatar rinkla3024 avatar sethborders avatar sirpl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jgabc's Issues

accented vowels not detected

on transcriber.html

try this notation:

initial-style: 1;
%%
c4 ed g hj jji hg hi hg g. ;
g ijk j ji hg h gf e.d. :
dh h' g hiwji hg hi. hg g. ;
h h' g fe d efg fe e. ::

with this text

Novàne das lucem Deus,
Nos inchoàre? nec reis
Jus est petèndi, nec decet
Optàre devòtos tibi.

it dosent work quite right. it lines up if you replace the accents with regular vowels though

Support multiple languages?

Hello,

I keep recommending it to people around me, but they usually are not fluent in Latin nor in English. I18n would be a good feature to have, have you thought about it already?

I just saw in another issue that you plan to refactor the code before adding new features. If you need any help with this, I can help, as I have a bit of spare time at the moment.

God bless you for your excellent work.

com.borismus.webintent plugin does not install

I think this is because it is being fetched from https://github.com/Initsogar/cordova-webintent which does not exist, or there is a conflict with cordova-webintent,

in package.json

    "dependencies": {
        "com.borismus.webintent": "https://github.com/cordova-misc/cordova-webintent.git",
        "cordova-android": "^8.0.0",
        "cordova-ios": "^5.0.0",
        "cordova-plugin-whitelist": "^1.3.3",
        "cordova-plugin-x-socialsharing": "^5.4.4",
        "cordova-webintent": "git+https://github.com/cordova-misc/cordova-webintent.git",
        "es6-promise-plugin": "^4.2.2"`

https://github.com/cordova-misc/cordova-webintent.git vs git+https://github.com/cordova-misc/cordova-webintent.git ??

PS C:\Users\Richard\source\repos\Chant Tools> npm install
npm WARN [email protected] No repository field.

audited 1540 packages in 6.707s
found 6 vulnerabilities (3 moderate, 3 high)
  run `npm audit fix` to fix them, or `npm audit` for details
PS C:\Users\Richard\source\repos\Chant Tools> npm audit
npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your package-lock.json, run  npm install  to fix them.
npm ERR!     Missing: com.borismus.webintent@https://github.com/cordova-misc/cordova-webintent.git

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Richard\AppData\Roaming\npm-cache\_logs\2019-05-05T05_23_45_958Z-debug.log

That helps...🤣

Debug log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'audit' ]
2 info using [email protected]
3 info using [email protected]
4 verbose npm-session e2e12a29b18a3f79
5 verbose stack Error: Errors were found in your package-lock.json, run  npm install  to fix them.
5 verbose stack     Missing: com.borismus.webintent@https://github.com/cordova-misc/cordova-webintent.git
5 verbose stack     at lockVerify.then (C:\Program Files\nodejs\node_modules\npm\lib\audit.js:163:19)
6 verbose cwd C:\Users\Richard\source\repos\Chant Tools
7 verbose Windows_NT 10.0.17763
8 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "audit"
9 verbose node v10.15.3
10 verbose npm  v6.4.1
11 error code ELOCKVERIFY
12 error Errors were found in your package-lock.json, run  npm install  to fix them.
12 error     Missing: com.borismus.webintent@https://github.com/cordova-misc/cordova-webintent.git
13 verbose exit [ 1, true ]

Command line use

It would be nice if there were command-line versions of the tools, so one could do something like

gabctranscribe words.txt music.gabc > words-and-music.gabc

and produce combined GABC files in batch that way. The psalm tone tool would likely be somewhat tricky to set up this way given its large number of configuration options, but the GABC transcription tool is quite simple by comparison. It would ‘just’ be a matter of pulling out the actual code which integrates words and music together into a separate module which could be used both by the web tool online, and by a Node.js-powered command line tool.

Dagger text feature request

The psalm tone tool has an option field to set the asterisk text. It would be helpful to be able to also be able to set the dagger text as well as I need to replace it to get it to work with my version of LaTeX.
image

Issues rendering today's propers

The Android app seemed to have difficulties rendering today's Alleluias as Psalm tone.

When I get a chance later I'll try it in chrome and see if there's a script error. If I can figure out the issue, I'll submit a Pull Request.

Would there be a way to create an iFrame service ?

Hi, thanks for this awesome project that I use every week.
This is not an issue, it's more like a feature request
Would it be possible to include an iframe for any of the included score ?
That would be incredibly helpful to integrate a gregorian chant score inside a markdown / Obsidian note, or inside Outline wiki note / Flarum forum post for instance !
Thanks !
French gregorian singer

Outdated version of Gregorio?

I reported a similar issue over on GregoBase, but it is happening in jgabc as well (in fact, this is where my schola noticed the issue).

I'm reporting over here as well for your benefit.

Gloria XI is not rendering a quilisma in the final Patris before the Amen. It works fine when I run the gabc manually in Gregorio 5.0.1.

Dark theme and UI/UX refactor

A bright white screen at mass or in the dark is very disturbing.
It would be very nice to improve a little bit the UI/UX of the website and Android app, as well as the possibility to change police, layouts...

It could be an open discussion and I could maybe help.

Outdated version of exsurge causing issue with flats

With the current version of exsurge in use, flats are (at least sometimes) carried over quarter bars. Take the following gabc:

(c4) Dó(ixjhi)mi(gf)ne.(fhg___) (,) (jkijh./fhg/hggf.) (::)

The flat is correctly canceled by a quarter bar when createMappingsFromSource is called, but when updateMappingsFromSource is called the value is no longer correct. To reproduce, you can run the following code:

var gabc = "(c4) Dó(ixjhi)mi(gf)ne.(fhg___) (,) (jkijh./fhg/hggf.) (::)";
var ctxt = new exsurge.ChantContext();
var mappings = exsurge.Gabc.createMappingsFromSource(ctxt, gabc);
var score = new exsurge.ChantScore(ctxt, mappings);
console.dir(score.mappings[3].notations[0].notes[2].pitch)
// { step: 11, octave: 1 }
exsurge.Gabc.updateMappingsFromSource(ctxt, score.mappings, gabc);
console.dir(score.mappings[3].notations[0].notes[2].pitch)
// { step: 10, octave: 1 }

I've tested this same code with the latest version of exsurge and verified that this does not occur there.

S. Hildegard doesn't compile

It seems to be complaining about the _3, _5 scattered throughout the gabc. I had to remove them to compile correctly.

Document how readings tool Tone customization works

The readings tool is amazing but it seems like the GABC modification inputs are a bit of a black art. I tried looking through the code in readings.js but I couldn't easily find the implementation of their parser, not even an eval call.

Thanks

Electron build

There is the Chant Tools app on Android, but I miss the same app on Linux. It would be great to have jgabc built with Electron so it could run as a desktop app. Then it could be packaged in Flathub.

If I have the time, I'll contribute to this if you agree on the feature.

Circumvent new autoplay restrictions on modern browsers

When I try to play the music on: http://bbloomf.github.io/jgabc/transcriber.html

I get the error: "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. "

Related Stackoverflow: https://stackoverflow.com/questions/55026293/google-chrome-javascript-issue-in-getting-user-audio-the-audiocontext-was-not

If I understand correctly the Audiocontext in Tone.min.js with line !i.context && (i.context = new window.AudioContext, should be created when the user clicks something to circumvent this error.

EDIT: The tones.js library shows how to fix this: https://github.com/Tonejs/Tone.js#starting-audio

Accents

Dear Benjamin,

I have performed a little "Accenteur", i.e. a JS application to accent latin texts (https://github.com/BrRoman/accenteur, test here).
It is quite stable, even if some errors still occur (Iésu, Mariǽ).

So I was wondering if you would be interested by this feature in your Transcription tool: the user, in mode "two boxes separated", would have a checkbox "Accents auto", so that when he types an inaccented word, your app would put the correct accent (or at least suggests accented forms).
I am not wed to this idea (in french: "Je n'y tiens pas mordicus"), and I have not a lot of time for that, but if your are interested, I would be glad to participate to the elaboration of this feature.

Yours in Christ
Brother Roman Mary

Get test.html working

Hello,
First of all, I'd like to apologize for my english and say that I very appreciate work you've done. jgabc is almost exactly what I need. Almost, because I'm looking for a way of getting fully passive behavior of jgabc. More accurately: the way test.html was working in one of the first releases (i.e. a0ce9fd). So rendering based on gabc source in div, no interactivity (no neumes color change on hover, no textbox to edit syllables, no playback).
Is it hard to get it working that way?
Thank you for help and/or responses.

Psalm texts deleted after exclamation point

The psalm tone tool omits all text from an exclamation point to the end of the hemistich. Found this on verse 5 of psalm 119, Heu mihi! quia incolátus meus prolongátus est: † habitávi cum habitántibus Cedar: * multum íncola fuit ánima mea. Experimented a bit and confirmed it happens whenever there's an exclamation point in the psalm text.
Screenshot from 2019-10-31 20-53-02

Psalm toned alleluia verse does not always match the clef

If you select "psalm toned" for the alleluia of the 3rd Sunday after Easter, the clef is 3f, even though the psalm tone for mode 4 expects the clef to be c4, and so the neumes it gives for the psalm tone need to be transposed, but aren't currently

Feature: Add option to add dashes between sylables

It would be nice if there was an option to add a dash within the preparatory and accented syllables when they are "next" to another syllable.

Example off:

\item Dóminus opem ferat illi super lectum dolóris \textbf{e}jus: * univérsum stratum ejus versásti in infirmitá\textit{te} \textbf{e}jus.
\item Verbum iníquum constituérunt ad\textbf{vér}sum me: * Numquid qui dormit non adjíciet ut \textit{re}\textbf{súr}gat?

Example on:

\item Dóminus opem ferat illi super lectum dolóris \textbf{e-}jus: * univérsum stratum ejus versásti in infirmitá\textit{-te} \textbf{e-}jus.
\item Verbum iníquum constituérunt ad\textbf{-vér-}sum me: * Numquid qui dormit non adjíciet ut \textit{re-}\textbf{súr-}gat?

Another part is if it would also "prefer" the left or the right side. Namely if there is a preparatory syllable adjacent to an accented syllable should the dash be part of the preparatory, or the accented, or neither and be between.

Podatus rendering problem

I'm not sure if it's my computer only, or 'global' problem. Most of podatus' are badly rendered. I deleted all caeciliae fonts I had installed, but the problem still occurs.

Podatus problem

Simplified graduale

I'll mention you that on simplified graduale here, the last verse is not psalm toned.
If you want to add this possibility (a long and fastidious work…)

ocba crashes exsurge

It's an exsurge bug but frmatthew's version doesn't have that bug and there's no issue tracker on your fork.

<i>om</i>(h)<i>nis</i>(ih gr[ocba:1{]) <b>ter</b>(gf[ocba:0}])ra.(e)
Actually, only the first one causes the crash. If you put ocb instead it works. Changing the 2nd one to ocba doesn't have any consequence.

With your transcription tools, the script just stop rendering anything more. But in the Source & Summit Editor the whole page gets blank.

Psalm Tone Error

Comparing what the psalm tone generator does for the Graduale on Christmas Midnight Mass and what is in the back of the Liber Brevior. There seems to be a discrepancy in where the rising nume goes. (at spelndoribus sanctorum)

Side note: how hard would it be to have the psalm tones be provided like the full propers are in gabc format?

Brevior:
image

JGABC:
image

Provide new function for "Psalms tones"

Excuse my bad English, but is it possible to add a function to repeat the first psalm verse, or a "format verse" full-tex (tex-plain) to introduce a psalm in a tex document (and download all psalms in full-tex !) ?
Thank you to your work !

Wrong Offertory for Mass 26. November

Hello,
first of all big thank you for work you have done. Unfortunately when I generated propers for today's Mass (26 Nov, Saint Sylvester) I realized, that there is a mistake. Offertory should be "Desiderium animae eius", but there is "Desiderium pauperum". Could you correct this?
Thank you for your response.

No big initial for ℣

Unlike in gregorio and the legacy editor. Not sure it's actually used anywhere in literature though...

Replaces V/ and R/

Like with the replacement of ae with æ it would be cool if V/ was replace with and R/ was replaced with .

Incorrect psalmed toned when there is a star at the end

Here, it seems the psalm toned feature does not work when there is a star at the end of the piece like for Ascentio Alleluia:

https://bbloomf.github.io/jgabc/propers.html#sunday=Asc#styleIntroitus=psalm-tone#styleTractus=psalm-tone;1f#styleAlleluia=psalm-tone#styleOffertorium=psalm-tone#styleCommunio=psalm-tone#styleGraduale=psalm-tone

Here is what it does:

image

This is what I believe it should do:

image

This seems caused by a star at the end of the piece:

image

%font-family no longer works

As in title. E.g.,

%font-family: "Times New Roman";

produces no result.

Adding

    ctxt.setFont(ctxt.lyricTextFont, 19.2 / 0.9);

above the ctxt.setGlyphScaling line in transcriber.html.js, setupFontFromHeader produces a result, but the drop-cap is severely misaligned (which it is not, when using "Crimson Text".)

I guess this feature was somehow lost in all the Exsurge changes?

MIDI playback not working

I tried FireFox and Chromium, and it plays, but I am not hearing anything. I tested Pentecost Sunday's propers.

Firefox console gives:
An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page.

NABC

Hello,
since Version 4.0.0 there is a possibility in Gregorio to typeset also adiastematic neumes;
NABC "language" is defined (as described here: GregorioNabcRef.pdf
Although it would be great to have it implemented to your tool too, all I would like to ask for is to teach your transcriber to ignore it (to be able to parse it correctly and write the quadratic neumes as if the nabc code was not there).
All you need to know is probably in following lines from the reference:

To describe adiastematic neumes in gabc, the header should contain nabc-lines: 1; line, like:
nabc-lines: 1;
(f3) AL(ef~|ta>)le(fg/hggf|peclhgpi)lú(ef~|ta>)ia.(f.|ta-) (,)
(ii//|bv-|gh!ivHG//|vi-hhppu2su1sut1|fhg/|to|eef.|pt) (;)
The nabc snippets are then separated by | character from gabc snippets or other nabc snippets. Every gabc snippet may be followed by multiple nabc snippets. The maximum number of consecutive nabc snippets is the number declared in the header field nabc-lines: x;. After reaching that number of consecutive nabc snippets another gabc snippet followed by nabc snippets can
follow.

Best regards,
Marek Klein

Warning message in GABC Transcription Tool

When using the web inspector tool in the GABC Transcription Tool it shows the following warning message under the console:

"DevTools failed to load SourceMap: Could not load content for https://bbloomf.github.io/jgabc/exsurge.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE".

This issue has replaced the Crimson font and default text size and has inhabilitated several settings such as "%drop-cap-text-color: ;", "%font-family: ;" and others.

Gloria patri is wrong on psalm tone 5

untitled

Notice it goes up on the 'ri' followed by a repeated lower note. I think its supposed to go up on the 'tu'

not sure how the tool determines which note to go up on.

Broken psalm-toned Alleluia

If I select Psalm Toned for the Alleluia (link), it includes an extra set of double bar lines containing just ij between the Alleluia and the verse:
image

If I select Completely Psalm Toned for the Alleluia (link), there's no Alleluia at all - it starts with the ij (with the "i" as a drop cap!) and goes right into the verse:
image

This doesn't happen for the 14th Sunday after Pentecost, but I tried some others (including all the Sundays after Pentecost) and it happens for them.

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.