gly - alternative Gregorio input format
  • igneusigneus
    Posts: 354
    I would like to announce first release of gly - a modified Gregorio input format separating lyrics from music (in a way similar e.g. to LilyPond) and allowing more than one score per file.

    I designed it to fit my needs as "composer" writing on computer. For composition (as opposed to transcription) workflows the default Gregorio GABC isn't very practical and gly attempts to address the most painful issues.

    I don't expect everyone will be excited and start using gly, but possibly some of the readers will find it as practical as I do.

    Comments are welcome.
  • Adam WoodAdam Wood
    Posts: 6,451
    HOLY CRAP THAT'S AWESOME
  • CHGiffenCHGiffen
    Posts: 5,151
    This is great ... thank you so much!
    Thanked by 1Jes
  • BenBen
    Posts: 3,114
    I am very interested by this!
  • nun_34nun_34
    Posts: 66
    This looks really good. Thank you!
  • It's so funny to me how I was about to start a thread asking for help using Gregorio without having to use a web editor, and then I notice this post! I'm not really hip to how engraving works... Besides gly, what other programs do I need to make it work if any? It should probably be noted that I'm working from a Macbook. I'll be reading up on this in the meantime!
  • igneusigneus
    Posts: 354
    @barnabus1898 gly isn't (in my opinion) a good way to start with gregorio on desktop, because it expects a working gregorio and lualatex installation. It is also good to have at least basic experience with the normal gregorio workflow for the case that gly fails to compile your scores and you have to look for the source of trouble. (Which often means inspecting the gabc and tex files generated by gly.)

    For the case you still want to know the prerequisites necessary to make gly work:
    you need runtime environment of the Ruby programming language. It is possible that it's already present on your system. Try typing
    ruby -v

    in the console/command line/terminal (I don't know which of the names is most common among the Mac people)
    It should output something like
    ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]

    (The ruby 2. part is important - gly isn't compatible with rubies older than 2.0.)

    The next executable to check is gem:
    gem -v


    Once both are present, you need to install the gly gem:
    gem install gly


    The operation may require superuser privileges. Then use
    sudo gem install gly

    instead.
    Thanked by 1davido
  • igneusigneus
    Posts: 354
    gly attempts to be for gregorio what e.g. coffeescript or TypeScript are for JavaScript: once you know the low-level tool (gregorio/JavaScript), the higher-level tool (gly/coffeescript,...) can help make you more productive and enjoy your work.
    Thanked by 1Adam Wood
  • Gotcha. I'm used to manually inputting code in Gregorio for my documents. I've just used the online transcription tool because I didn't understand how to use TeXworks on my mac. It may be something that takes a good bit more research to make useful. Thanks for the help!
  • In case it helps Mac people:

    * the word igneus was looking for is 'Terminal'. ('Console' is another thing entirely in the Mac world.)
    * If you are fully updated, then your ruby and gem versions should be OK.
    * You will need to run the 'gem install' as sudo, almost certainly (unless, for some odd reason, you've given yourself privileges to write to /Library/Ruby/Gems/2.0.0 directory, which is unlikely)
  • Adam WoodAdam Wood
    Posts: 6,451
    Just wanted to mention that I used this yesterday for the first time. Works great. Other people should look into it.
  • AnthonyFok
    Posts: 8
    Will be packaged for Debian soon, hopefully: https://bugs.debian.org/824820
  • igneusigneus
    Posts: 354
    @AnthonyFok Oh, is it a good idea? It's of course great to have one's piece of software packaged for Debian, but gly isn't mature yet - it has only had one public release.
  • Adam WoodAdam Wood
    Posts: 6,451
    Can Debian not gem install like everybody else?
  • igneusigneus
    Posts: 354
    @Adam Wood of course it can.

    But people often hate using several package managers. (Don't you hate installing ruby packages by gem, node.js packages by npm, python packages by pip, ...?)
  • AnthonyFok
    Posts: 8
    @igneus Worry not. "Hopefully soon" is my way of saying that it could be a rather long wait before gly actually ends up in Debian:

    1. I haven't worked on any Debian package for Ruby, so I will have lots to learn before I have anything ready to upload to Debian, see https://wiki.debian.org/Teams/Ruby/Packaging. (I need to wait for approval to be accepted into the Debian Ruby Team first too.) Which just means that I will likely procrastinate for months before anything happens. :-)
    2. Once uploaded to Debian, since it is a new package, it will need to be manually verified by the Debian FTP master team. This can take anywhere from a few days to a month or two before the uploaded package enters Debian unstable (sid) which is used by people who love the cutting edge. That also means limited exposure.
    3. After it enters Debian unstable (sid), it takes two more weeks before it enters Debian testing (stretch), i.e. the future Debian 9.0, which might be released 12 months from now.
    4. On the other side, once gly enters Debian, Ubuntu will soon pick it up for its next release if it hasn't entered into a freeze yet. So, the soonest gly would be seen by most Ubuntu users would be near the end of October 2016 when Ubuntu 16.10 (Yakkety Yak) is scheduled to be released.


    I think the real question is not so much whether gly is matured yet or not. Adam's endorsement "Just wanted to mention that I used this yesterday for the first time. Works great. Other people should look into it." is good enough for me. :-) Furthermore, gly is a standalone program and not a Ruby library, so there is no worry of API changes affecting other Ruby libraries and programs or whatnot. That means: feel free to change gly as wildly as you can to bring it to maturity, as there is no negative consequences whatsoever. :-)

    The real question, then, is whether I, as the Debian maintainer for gly, could keep the gly packge up-to-date so that Ubuntu 16.10 will find the latest and greatest version of gly in October, and a year from now for Debian 9.0, and so on.

    @Adam the Debian way is too entrenched in my mind, and I tend to avoid things like "gem" and "npm" (which may need to be run as root and write to local system directories without file tracking...) unless I absolutely have to...

    Furthermore, having gly available as a Debian package will gain gly wider exposure and ease deployment. :-)
    Thanked by 1igneus
  • igneusigneus
    Posts: 354
    (Is this a case of the much hated "old thread resurrection"?)

    gly 0.0.4 is out. Enjoy. If you installed the previous version using Rubygems, "gem update gly" is the command you are looking for.
  • Adam WoodAdam Wood
    Posts: 6,451
    Don't you hate installing ruby packages by gem, node.js packages by npm, python packages by pip, ...?


    OMG YES IT IS TERRIBLE. HOW CAN I POSSIBLY LIVE WITH THIS CONFUSION?!


    I'm on a Mac. Anytime I can avoid Homebrew, I'm happy.