All Projects → paopre → Spontini

paopre / Spontini

Licence: GPL-3.0 license
A text-combined-with-graphic music editor for creating professional scores with LilyPond

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
LilyPond
23 projects
HTML
75241 projects
CSS
56736 projects
VBScript
123 projects

Projects that are alternatives of or similar to Spontini

Edsp
A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.
Stars: ✭ 116 (+169.77%)
Mutual labels:  music-library
json-head
JSON microservice for performing HEAD requests
Stars: ✭ 31 (-27.91%)
Mutual labels:  asgi
async-asgi-testclient
A framework-agnostic library for testing ASGI web applications
Stars: ✭ 123 (+186.05%)
Mutual labels:  asgi
Beets
music library manager and MusicBrainz tagger
Stars: ✭ 10,522 (+24369.77%)
Mutual labels:  music-library
I dropped my phone the screen cracked
web audio, cracked.
Stars: ✭ 245 (+469.77%)
Mutual labels:  music-library
mongox
Familiar async Python MongoDB ODM
Stars: ✭ 113 (+162.79%)
Mutual labels:  asgi
Nicemusic
A Nice MusicPlayer Powered by StarrySky
Stars: ✭ 107 (+148.84%)
Mutual labels:  music-library
vue-music-player
🎵 basic music player, keeps your favorite musics
Stars: ✭ 77 (+79.07%)
Mutual labels:  music-library
Spotitube
Synchronize your Spotify collections downloading from external providers
Stars: ✭ 250 (+481.4%)
Mutual labels:  music-library
music
Repository of scores typeset using Lilypond & Ripple
Stars: ✭ 19 (-55.81%)
Mutual labels:  lilypond
React Native Track Player
A fully fledged audio module created for music apps. Provides audio playback, external media controls, chromecast support, background mode and more!
Stars: ✭ 2,175 (+4958.14%)
Mutual labels:  music-library
Maloja
Self-hosted music scrobble database to create personal listening statistics and charts
Stars: ✭ 223 (+418.6%)
Mutual labels:  music-library
asgi-caches
Server-side HTTP caching for ASGI applications, inspired by Django's cache framework
Stars: ✭ 18 (-58.14%)
Mutual labels:  asgi
Rhythmbox
A Rhythm Box System for your iOS app written in Swift. 🎵
Stars: ✭ 116 (+169.77%)
Mutual labels:  music-library
discoverweekly.dev
The playlists made by devs, every Wednesday.
Stars: ✭ 18 (-58.14%)
Mutual labels:  music-library
Rompr
Web client for Mopidy and MPD
Stars: ✭ 115 (+167.44%)
Mutual labels:  music-library
fastAPI-aiohttp-example
How to use and test fastAPI with an aiohttp client
Stars: ✭ 69 (+60.47%)
Mutual labels:  asgi
superfomus
SuperCollider bindings to Fomus Music Notation
Stars: ✭ 23 (-46.51%)
Mutual labels:  lilypond
dashboard
An admin interface for ASGI Web frameworks.
Stars: ✭ 120 (+179.07%)
Mutual labels:  asgi
fastapi-project
FastAPI application without global variables(almost) =)
Stars: ✭ 26 (-39.53%)
Mutual labels:  asgi

Spontini-Editor logo

An advanced GUI assistant for LilyPond

Complex music engraving made possible and fast


Spontini-Editor is a text-combined-with-graphic music editor that strongly speeds up the creation and fine graphic tuning of complex scores edited with LilyPond through two main features:

  • It allows the positioning of musical objects (articulations, texts, pedals, curves, brackets etc.) with the mouse, both for "avoid-collisions" properties (X/Y-offset, staff-padding, outside-staff-padding, padding) and for extra-offset property. Once the positioning is graphically done, the text editor reports the corresponding changes on the input file: these changes are written in standard LilyPond code and do not require any additional software to be compiled.

  • It assists in the creation of piano music by inserting notes in tabular and formatted form. It also supports cross-staff scores through a set of work-arounds (invisible to the user) that solve many issues of the native cross-staff functions.

Other main features:

  • Multi-platform (written in Javascript and Python 3)
  • Web server + HTML client architecture: the client runs, without any installation, on the main browsers (currently compatible and tested on: Chrome, Chromium, Firefox, Brave. Not compatible with Pale Moon, nor with Safari), thus allowing to edit LilyPond documents with cheap and small boards, like Raspberry PI. The client works on Android tablets too, provided you use a keyboard + touchpad or mouse with them.
  • The application server is made with a main layer which runs on the main Python ASGI platforms, like Uvicorn, Daphne etc; it supports both SSL and Tor for security, and all the features provided by the Python ASGI servers
  • Plugin engine that can interface to any library/utility suitable for LilyPond; implemented plugins currently support: Abjad, python-ly, musicxml2ly and VLC; plugins can be created as well by the users through a XML API (which interfaces to external scripts)
  • Python 3 scripting interface
  • A pure HTML MIDI player is included (Magenta through html-midi-player, ready to be used on the browser)
  • Pan-zoom advanced interface
  • Multiple layouts
  • "Fork-mode" for collaborative remote editing
  • Code completion
  • Quick insert for a set of notation symbols
  • Self-installable in embedded environment (venv)
  • Smart tools for extracting parts from the score
  • Customizable score templates
  • Expandible ruler and draggable axes to examine the generated score with accuracy
  • Filter tool for including/excluding sections/pages/systems or single measures of the score on the fly
  • PDF export command
  • MIDI input through the browser (Web MIDI)

Note that Spontini-Editor is NOT a WYSIWYG notation editor (like Finale, Sibelius etc.). It only uses the graphical interface to avoid the waste of time caused by LilyPond functions that require the trial-and-error process. All the functions that do not require this process have been intentionally left to be implemented with the only text editor, in pure LilyPond language, which must therefore be known in advance by the user: through the knowledge of this language, and adding the Spontini-Editor functions to it, you can get a much faster editing process than WYSIWYG editors. In addition, as can be seen in the documentation below, the conversion of the Spontini-Editor functions into native LilyPond code can be obtained by changing simple strings in the corresponding musical expressions.

Spontini-Editor's text editor component uses Codemirror library, which it will automatically download from the cloud.

Where are the installer files for Windows, macOS and Linux?

Well: you don't need them! Spontini-Editor is NOT packaged. You just have to install an official Python 3.6 or newer version and then Spontini-Editor is ready to run. This doesn't require any additional operation for the user compared to a packaged application and:

  1. ensures strong compatibility between different operating systems
  2. avoids me (Paolo) to maintain the distribution of the software, which is a very tedious and time-consuming operation

Thanks to Aaron Hill, Thomas Morley, Martin Tarenskeen, Alexis Jeandeau and the #regex, #javascript and #python irc channels (libera) for the support in doing this!

img



INSTALLATION (all platforms)

1) Install LilyPond with version >= 2.19.84 (included) and <= 2.23.80 (included)

NOTE: version 2.23.7 is not supported.

2) Install Python 3.6 or newer

NOTE for Linux users: on Debian based distros (Ubuntu, Mint etc.) just use:

sudo apt install python3 python3-tk python3-pip python3-venv



QUICK START

1) Copy the Spontini-Editor directory wherever you want, run SpontiniServer.py with Python 3 and wait until the setup has been completed.

2) Open the page: http://localhost:8000/spontini-editor with your browser. The editor will appear and it will allow to edit and compile files in the default workspace, which is the "examples" directory of the project.



IMPORTANT NOTE! Keep ALL the files in the main directory at their place, otherwise SpontiniServer.py won't work.

NOTE for Windows users: you can launch SpontiniServer by simply double-clicking on SpontiniServer-WIN.vbs (or SpontiniServer-WIN.bat).

NOTE for macOS users: you can launch SpontiniServer by right-clicking on the file and then choose "Open with" ---> "Python launcher". Make sure that Python launcher is configured for running python 3, as the following image shows:

img



GO TO THE DOCUMENTATION



Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].