/neanes

Neanes is a free and open source scorewriter for notating Byzantine chant in Byzantine notation.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

Neanes - A Byzantine Chant Scorewriter

CI

Neanes (pronounced neh-ah-ness) is a free and open source scorewriter for notating Byzantine Chant.

Demo Screen

Features

  • WYSIWYG design
  • Rapid entry of neumes and lyrics
  • Automatic alignment of supporting neumes (i.e. fthoras, accidentals, klasmas, gorgons, et al)
  • Automatic calculation of martyria
  • Print or export to PDF
  • Export to HTML using ByzHtml web components
  • Export to PNG

Purpose

This software is intended to create simple scores that contain:

  • A title
  • A mode signature
  • Neumes and lyrics

It is not intended to be a fully-featured word processor.

Examples

Example files can be found in the examples folder.

How to Download

Download the latest release on the releases page. The latest release can also be found here.

A web version of the app with reduced functionality can be found here.

How-to Guide

To learn how to use the software, read the guide.

Building

Prerequisites

  • Node.js 20.x or later

Project Setup

First install the project dependencies:

corepack enable npm
npm install

Release Build

To create a release build, type:

npm run build

The build artifacts are found in dist/. For Windows, the installer will be called Neanes Setup [version].exe. The raw files can be found in dist/win_unpacked.

Development

To run the development server, type:

npm run dev

This will launch the application in development mode. As changes are made to the source code, the app will reload automatically.

The Vue Devtools extension is available in development mode. To access it, go to Help, Toggle Developer Tools and select the Vue tab.

Any change that updates package.json must include the corresponding update to package-lock.json after running npm install.

Linting

To check that the code is linted, type:

npm run lint

To automatically fix any lint issues, type:

npm run lint:fix

Tests

To run tests before committing, type:

npm test

IDE Support

When using Visual Studio Code, install the following extensions:

Localization

To test localization support, add the following to .env.local and/or .env.web.local:

VITE_PSEUDOLOCALIZATION=true

This enables pseudolocalization for all localized strings.

License

This project is licensed under the GNU General Public License, version 3.

The following bundled fonts are licensed under the SIL Open Font License (OFL), version 1.1:

Acknowledgements

This software uses the "EZ" Byzantine Music Font Package created at St. Anthony's Greek Orthodox Monastery. See the monastery's website for more details. Thank you for your work on these fonts, without which this program would not be possible.