Skip to content

GGracieux/bagpipe-scores

Repository files navigation

Bagpipe Scores

Bagpipe-scores is a textual score editor for bagpipe with PDF and MP3 generation.
Live demo is accessible at www.partitions-cornemuse.com.
screenshot

Project structure

Project is composed of 5 repositories :

  • bagpipe-scores : This repo. Bagpipe scores frontend, it converts simplified score notation to Lilypond format.
  • codemirror-bps : Code mirror mode for simplified score notation syntaxic coloration.
  • lilypond-api : A REST API used to convert Lilypond format to PDF and MIDI.
  • midi2mp3-api : A REST API used to convert MIDI files to MP3.
  • bps-orchestration : Project orchestration & deployment files.

Container infrastructure

Project is composed of 3 containers, docker images are available at dockerhub.com :

Tech & Tools

Frontend

frontend

Backend

backend

Deployment

deployment

Tools

tools

Third party

third party

Prerequisite

Start

Installation

npm install

Build

npm run docker-build

Run

docker-compose up

Development tools

Run with nodejs

npm start
  • Compiles, serves application at http://localhost:4200 and opens it in browser.
  • Recompiles and refresh page on modification.
  • External APIs are not available.

Compiles

npm run build
  • Compiles into dist.

Compiles & Build

npm run docker-build
  • Compiles into dist.
  • Creates bagpipe-scores docker image

Compiles, Build & Run

npm run docker-build-up
  • Compiles into dist.
  • Creates bagpipe-scores docker image
  • Launches containers from images bagpipe-scores, lilypond-api and midi2mp3-api
  • App is accessible at webroot : http://[docker-machine]/
  • lilypond API endpoints are exposed at : http://[docker-machine]/api/v1/lilypond/*
  • midi2mp3 API endpoints are exposed at : http://[docker-machine]/api/v1/midi2mp3/*

Stop all running containers

npm run docker-stop

Also read