Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a new set of glyphs and using with Gregorio score #1556

Open
fstirpe opened this issue Dec 2, 2021 · 28 comments
Open

Create a new set of glyphs and using with Gregorio score #1556

fstirpe opened this issue Dec 2, 2021 · 28 comments

Comments

@fstirpe
Copy link

fstirpe commented Dec 2, 2021

Hi All,
I’m looking for adding a new set of glyphs to use in a Gabc score.
Even if i found the way for adding few neumes using GregorioTex commands i was not able to solve the other problem. My objective is to create the set of beneventan neumes/glyphs for transcribing some manuscripts both in modern gregorian notation and in “native” notation.

Consulting the https://github.com/gregorio-project/gregorio/wiki/Adding-new-glyphs wiki i found the following instructions edited by Henry So in 2015:
To add a family of glyphs generated by fonts/squarize.py:

  1. Typically, you will need to create a base form. Find another glyph similar to the form you are creating to copy/imitate. Name the base form {something}base.
  2. If the base form changes depending on ambitus, you will need multiple base forms. Again, try to find similar glyphs. Name these base forms {something}base{n}, where {n} is the ambitus.
  3. When creating the glyphs, if possible, make sure the "posts" which connect to "lines" are in the same place and are of the same width as other figures.
  4. Modify src/gregoriotex/gregoriotex.h and add a value to the gtex_type enum.
  5. Modify fonts/squarize.py and add a shape constant (that begins with S_) and give it a camel-case string value made of only ASCII letters.
  6. Modify fonts/squarize.py to generate the shapes (exactly how depends on the shapes).
  7. Run fonts/squarize.py and check the resultant fonts. Watch especially for figures which don't connect properly.
  8. Modify the gregorio source code to parse the gabc for the new shapes, dump them properly, and generate them as GregorioTeX.

I have installed Texlive 2021:
• I didn’t find the src/gregoriotex/gregoriotex.h (point 4). Where i can find it?
• What is shape constant (point 5)?
• I don’t know what is the gregorio source code to modify (point 8)?
• Does it exist a documentation i can study for learning?

Thanks in advance for your help.
Fabio.

@rpspringuel
Copy link
Contributor

You’ll need to clone the repository in order to do what you are trying to do. Some of the files referred to are source files not included in a TeX Live installation.

You’ll also need to have all the tools needed to compile and install everything, which means you need to be on Linux or Mac. See the installation page for you platform to see the full list of dependencies needed when working with the sources:

http://gregorio-project.github.io/installation-linux.html

http://gregorio-project.github.io/installation-mac.html

Sent with GitHawk

@fstirpe
Copy link
Author

fstirpe commented Dec 3, 2021

Thank you very much for your answer.
From what you reported above i understood that it's not possible doing the development in Windows and it's mandatory install a Linux partion (or differently Mac).
Am i correct?

Regards.
Fabio.

@rpspringuel
Copy link
Contributor

Correct. So far as I know, there’s no build tools for Windows that our code base is compatible with. Now that may simply be because I don’t know enough about software development on Windows, but no e of the developers, past or present, has ever built Gregorio on a Windows machine. We use a cross-compiler to make the Windows binary.

Sent with GitHawk

@fstirpe
Copy link
Author

fstirpe commented Dec 5, 2021

Thanks, i really appreciate.

So, i'm going to install Linux on my new PC.
Since i used Red Hat distro on my old PC, i would ask you if there is any preferred distro you suggest me to install:
Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04, Debian, Kali Linux, OpenSUSE Leap 15.1, SLES 12 SP5, SLES 15 SP1, Fedora Remix per WSL.

Also, do you think could be enough the WSL environment, or virtual machine or really needed a physical partitioning dual boot?

Thanks in advance.
Fabio.

@rpspringuel
Copy link
Contributor

I've never used the WSL environment, so I don't know for sure that it will work, but assuming that it enables all the required build tools to run, it should, in principle, work.

I do run virtual machines on a regular basis (I use VirtualBox), and while my host is a Mac, I have run the full build process inside a virtual machine running Linux, so that is certainly possible.

As for version, I've managed the build process on both Ubuntu and Fedora in the past, and I believe that other developers have used Archlinux. Other flavors should also be feasible, but I have no experience with them. The biggest issue is cross-compiling the Windows executable. Currently the build management scripts are only setup to build a 32-bit Windows executable using mingw which doesn't work on the most recent builds of Ubuntu. I still maintain a 14.04 virtual machine specifically for building the Windows executable. Updating to use a more recent cross-compilation package is on the list of things to do (#1289), but no one's had the time to do it yet.

@fstirpe
Copy link
Author

fstirpe commented Dec 6, 2021

I installed virtual box and created the VM just now.
I'm goingo to install Ubuntu on the VM. Anyway before to do this i have another question.
You said that the cross compiler for Windows 32 bits is not available on more recent Ubuntu release.
From discussion #1289 i understood that i can anyway use any Ubuntu version to write executable files (so also Ubuntu 21.10) and in case cross compile it later with a different Ubuntu version (for examlpe 14.04) which support the 32 bit cross compiler.
Did i understand correctly?

Thanks for your patience.
Regards.
Fabio.

@rpspringuel
Copy link
Contributor

Yes. If you’re looking to install on the machine doing the building, any version of Ubuntu will do (including the most recent). It’s only the cross-compilation for Windows which currently has version issues.

Sent with GitHawk

@fstirpe
Copy link
Author

fstirpe commented Dec 19, 2021

Hi All.
Currently i have the virtual machine with Ubunto installed.
Also i followed the instructions above to install TexLive, before, and after Gregorio by using two scripts reported in the page (build.sh and install.sh).
While installing Gregorio, running build.sh script, Ubunto reports several errors mainly due to missed file .sty (appendix.sty, fontspec.sty, xparse.sty, also xparse.dtx) which i downloaded, one each time, from CTAN site.
The last show stopper is "fontspec.dtx not found" that i downloaded but probably put in the wrong directory.
All the stops above occur during GregorioRef.pdf generaation.
Maybe i downloaded an incomplete TexLive version, not including all the packages, even following the instruction on Gregorio site?
I would avoid going ahead downloading each missed file, even because i don't know, at this point, how far i'am from the end of installation.
I wonder if you could suggest me a way to efficiently complete the installation of Gregorio.

Thanks in advance.
Regards.
Fabio.

@rpspringuel
Copy link
Contributor

rpspringuel commented Dec 21, 2021 via email

@leduc006
Copy link

leduc006 commented Dec 21, 2021 via email

@fstirpe
Copy link
Author

fstirpe commented Dec 21, 2021

How did you install TeXLive on Ubuntu? Did you install the whole thing, or just some subset of it? ✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝✝ Fr. Samuel, OSB (R. Padraic Springuel) St. Anselm’s Abbey 4501 South Dakota Ave, NE Washington, DC, 20017 202-269-2300 (c) 202-853-7036 PAX ☧ ΧΡΙΣΤΟΣ

On Dec 19, 2021, at 4:26 AM, fstirpe @.***> wrote: Hi All. Currently i have the virtual machine with Ubunto installed. Also i followed the instructions above to install TexLive, before, and after Gregorio by using two scripts reported in the page (build.sh and install.sh). While installing Gregorio, running build.sh script, Ubunto reports several errors mainly due to missed file .sty (appendix.sty, fontspec.sty, xparse.sty, also xparse.dtx) which i downloaded, one each time, from CTAN site. The last show stopper is "fontspec.dtx not found" that i downloaded but probably put in the wrong directory. All the stops above occur during GregorioRef.pdf generaation. Maybe i downloaded an incomplete TexLive version, not including all the packages, even following the instruction on Gregorio site? I would avoid going ahead downloading each missed file, even because i don't know, at this point, how far i'am from the end of installation. I wonder if you could suggest me a way to efficiently complete the installation of Gregorio. Thanks in advance. Regards. Fabio. — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.

Hi.
I have installed TexLive following instructions reported on the link you can find on Gregorio project site:
https://www.tug.org/texlive/
After downloaded package "install-tl-unx.tar.gz", after unzipping it, i followed "quick installation instructions" section, executing also the example proposed by the guide. So in my mind all was ok at that point.
Then i have downloaded gregorio-6.0.0 package and I'm following the instruction as reported in the" buiding and installing section" over Greogorio site: http://gregorio-project.github.io/installation-linux.html
Doing this i'm finding all stops reported above due to missed files (mainly .sty files).
So it is not clear to me if i have to go ahead in this way, step by step, or if there is an easier and more suitable way.
I'm not an expert but i think that an installation completed in this way couldn't be stable and reliable.

Thanks for your patience helping me.
Regards.
Fabio.

@rpspringuel
Copy link
Contributor

rpspringuel commented Dec 22, 2021 via email

@fstirpe
Copy link
Author

fstirpe commented Dec 22, 2021

Thanks for your answer...
So, i'm now a little bit confused.
Referring to your answer, 20 days ago, to my first issue on this thread, i was undersanding that i must install Linux and clone the Gregorio repository (there were also instructions reported there) since files i mentioned are source not included in Tex Live installation.
Did i understand correctly?

Thanks.
Fabio.

@rpspringuel
Copy link
Contributor

rpspringuel commented Dec 23, 2021 via email

@fstirpe
Copy link
Author

fstirpe commented Dec 23, 2021

Neverending story... Sorry!

Running "tlmgr update --all" then i have the following returning: "unexpected return value from verify checksum -5".
So running the command "tlmgr update --all --no-verify-downloads" i got the answer "Local Tex Live (2019) is older than remote repository (2021)".

Does this mean that on my PC i installed an old TexLive and not TexLive 2021?
I cannot explain this since i downloaded it from TexLive 2021 and on the PC the directory is just called 2021.
Do you think it would be advisable to unistall current TexLive and start again from zero?

Thanks and regards.
Fabio.

@leduc006
Copy link

leduc006 commented Dec 23, 2021 via email

@rpspringuel
Copy link
Contributor

rpspringuel commented Dec 23, 2021 via email

@fstirpe
Copy link
Author

fstirpe commented Dec 25, 2021

When I installed from the Ubuntu software manager, it gave me the 2019 distribution. Ubuntu is notorious, I guess, for not keeping the preferred sources in the software manager up to date. Not sure how this happened to you but if you run a simple TeX file, you should be able to see in the log what version it is actually using. I gave up trying to get TeX Live 2021 to work under Ubuntu. But I am not terribly skilled. Rob No dia 23 de dez de 2021, às 07:22, fstirpe @.***> escreveu:

Neverending story... Sorry! Running "tlmgr update --all" then i have the following returning: "unexpected return value from verify checksum -5". So running the command "tlmgr update --all --no-verify-downloads" i got the answer "Local Tex Live (2019) is older than remote repository (2021)". Does this mean that on my PC i installed an old TexLive and not TexLive 2021? I cannot explain this since i downloaded it from TexLive 2021 and on the PC the directory is just called 2021. Do you think it would be advisable to unistall current TexLive and start again from zero? Thanks and regards. Fabio. — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.

Thanks for your answer.
I think definitively it is old version since in a compiled doc (as per your suggestion) i obtained 3.14159265 while the most recent would be 3.141592653. Also the header of the log file reports "(.......Tex Live 2019 Debian)". I think it is confirmed that is is an old version and there is some mismatch with updating. I still don't know how it can happen since i downloaded the version on TexLive 2021 site.

Regards.
Fabio.

@fstirpe
Copy link
Author

fstirpe commented Dec 27, 2021

When I installed from the Ubuntu software manager, it gave me the 2019 distribution. Ubuntu is notorious, I guess, for not keeping the preferred sources in the software manager up to date. Not sure how this happened to you but if you run a simple TeX file, you should be able to see in the log what version it is actually using. I gave up trying to get TeX Live 2021 to work under Ubuntu. But I am not terribly skilled. Rob No dia 23 de dez de 2021, às 07:22, fstirpe @.***> escreveu:

Neverending story... Sorry! Running "tlmgr update --all" then i have the following returning: "unexpected return value from verify checksum -5". So running the command "tlmgr update --all --no-verify-downloads" i got the answer "Local Tex Live (2019) is older than remote repository (2021)". Does this mean that on my PC i installed an old TexLive and not TexLive 2021? I cannot explain this since i downloaded it from TexLive 2021 and on the PC the directory is just called 2021. Do you think it would be advisable to unistall current TexLive and start again from zero? Thanks and regards. Fabio. — Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you commented.

Hi Rob,
I'm still trying to install the TexLive 2021 on Ubuntu VM following suggestions provided by Br. Springuel, unsuccessfully.
You said you gave up using Ubuntu for installing TexLive 2021.
Could you say me what Linux distro you used for doing that successfully?
Also to me Ubuntu persists to use 2019 even if it is present the 2021 one.
Moreover i'm able to generate a tex doc by TexLive 2021 but if i run the build.sh script for Gregorio it get the 2019 one.
I hope you can help me.

Thanks and regards.
Fabio.

@leduc006
Copy link

leduc006 commented Dec 27, 2021 via email

@rpspringuel
Copy link
Contributor

Ubuntu will run TeX Live 2021 just fine. I have a VM of my own setup that way. If something is “getting in the way” it’s not simply some part of Ubuntu, but something about the way you have it configured.

Try running contrib/system-setup.command and posting the results here.

@fstirpe
Copy link
Author

fstirpe commented Dec 29, 2021

Ubuntu will run TeX Live 2021 just fine. I have a VM of my own setup that way. If something is “getting in the way” it’s not simply some part of Ubuntu, but something about the way you have it configured.

Try running contrib/system-setup.command and posting the results here.

Hi.
I have run the script.
In attached the results.

Thanks. Fabio.

system-setup.log

Update Dec 31
Hi.
I run the script provided by you a second time after running the following:
PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH
INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:$INFOPATH
MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:$MANPATH

And i obtained a different file system-setup.log, reported `here:
system-setupII.log
Here i see TexLive 2021 mentioned.

Maybe it is enough update a configuration file with the PATH above?

Thanks and regards.
Fabio.
`

@rpspringuel
Copy link
Contributor

Yeah, it looks like changing your PATH as proposes should be a solid fix. The first log definitely indicates a version conflict with the older TeX Live taking priority over the more recent one.

@fstirpe
Copy link
Author

fstirpe commented Jan 5, 2022

Hi.

Finally I have Greogrio 6.0.0 working with TexLive 2021 installed on my Ubuntu VM.
Problem I encountered are:

  1. related to configuration;
  2. related to missed packages not installed by TexLive 2021 as default.
    For the point 2 i wrongly installed several times texlive-full package that is for TexLive 2019 from what I understood.

Summarizing i did essentially the following:

  1. Followed the instructions provided in the install guide on the TexLive site (full installation doc)

  2. Added the following directories to the path in the /etc/config file
    PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH; export PATH
    MANPATH=/usr/local/texlive/2021/texmf/doc/man:$MANPATH; export MANPATH
    INFOPATH=/usr/local/texlive/2021/texmf/doc/info:$INFOPATH; export INFOPATH

  3. While running ./build.sh in the gregorio-6.0.0 directory I studied the .log files generated at each show stopper.
    This operation required me to install the following two packages (idon't remember if also a third one) not presents in the TexLive package:

sudo apt-get texlive-luatex
sudo apt-get install python3-pygments

  1. Run ./install.sh script in the greogrio-6.0.0 directory getting "Installation complete" message.
    I successfully generated a pdf with Gregorio.
    Next step is to understand how to generate and apply the new Glyphs that is the original question of this thread.

Thanks for your help.
Regards.
Fabio.

@bbolognese87
Copy link

Dear Fabio,

Just to let you know that my collaborator and I have done just that. See issue #1557.

Best,

@fstirpe
Copy link
Author

fstirpe commented Jan 22, 2022 via email

@bbolognese87
Copy link

bbolognese87 commented Jan 23, 2022

Dear Fabio,

Sorry, my statement was probably really cloudy. What I meant is that my collaborator and I have done what you asked in your initial post in this issue: we created a selection of fonts which are specifically designed for the transcription of Old Roman and Beneventan chants, and we have implemented a fork of Gregorio which works with them, i.e. added them to the fonts which already existed and assigned them some specific syntax in the gabc code. The issue we opened about it is the one right after this one, go and take a look if you like, there is also a display of other fonts and we are currently working towards having them integrated in the main development branch of Gregorio (and after you have done that, maybe you'll want to write to us so we can chat about it more directly: our email is on our website )

@fstirpe
Copy link
Author

fstirpe commented Jan 29, 2022

Dear Barbara,
sorry for my late answer (it was a long busy week) and thanks for your prompt one.
Thanks to advise me on works done by you and your collaborator.
My "Beneventan" work is still at the initial stage and it would take long time from now.
I have many technical issue to understand and solve before to go inside the real scientific problem.
I will not hesitate to share and ask help on this forum to You and All as done up to now.

Thanks and regards.
Fabio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants