OOLOI.ORG
Menu

FRANKENSCORE

A Body Resurrected.

OVERVIEW

DOCUMENTATION

Booooring, Franz?

10/9/2024

0 Comments

 
Picture
No, documentation doesn't have to be boring. Well, it can of course be a soul-numbing, Kafkaesque exercise, but then, can't everything?

In an open-source project, good documentation is a must; everything needs to be explained and discussed properly for the benefit of all interested, and particularly for collaborators.

And not writing documentation in a group endeavour will land you in precisely the situation Josef K enjoyed so very much. Even in agile Prozesse – it's a myth that agile discourages documentation. It's all about the appropriate level. But then, isn't it always?

Ultimately, writing – and reading – documentation is all about the proper conservation of energy. It's just a question of finding the point where the curves intersect.

Anyway, here are a few additions to the Documentation section you might like. Feel free to evaluate them as lazily as you wish:

Architecture Decision Log
  • Now expanded with a bunch of additional ADRs.

Backend src README
  • Read all about it! Well, perhaps not all about it, but at least about the backend architecture, code organisation, principles, conventions, and of course the general programming paradigm.

Development Plan
  • Quod factum est, quod fit, quod fiet.
​
​License
  • Mozilla Public License (MPL) 2.0, with a couple of small twists.

Code of Conduct
  • Our Code of Conduct. Because not having one is being naive.
0 Comments

Architectural Decision Records (45 rpm)

2/9/2024

0 Comments

 
Picture
An Architecture Decision Record (ADR) is a point-in-time document that records architectural decisions and the reasoning behind them. And since communicating architectural ideas clearly to collaborators is extra important in open-source, I've just added a bunch of ADRs to the Documentation page.​

​They cover various aspects of the FrankenScore architecture, from high-level design decisions to specific technical choices. They are:
​
  • ADR-0000: Choice of Clojure as the Primary Programming Language
  • ADR-0001: Separation of Frontend and Backend into Distinct Clojure Applications
  • ADR-0002: Adoption of gRPC for Communication Between Frontend and Backend
  • ADR-0003: Integration of Plugins as a Core Architectural Component
  • ADR-0004: Implementation of Software Transactional Memory (STM) for Concurrency
  • ADR-0005: Selection of JavaFX and Skija for the Frontend GUI
  • ADR-0006: Adoption of SMuFL (Standard Music Font Layout) for Music Notation
  • ADR-0007: Implementation of Nippy for File Persistence
  • ADR-0008: Implementation of Vector Path Descriptors (VPDs)
  • ADR-0009: Implementation of Real-Time Collaborative Features

0 Comments

We have a website

6/8/2024

0 Comments

 
Any serious open-source project must have a website. (At least that's what Claude 3.5 Sonnet told me.) So here we are! 

Let me quote from the project plan:

3. Website and Branding:
   - Develop a professional website for FrankenScore that includes:
     - An overview of the project
     - Documentation and tutorials
     - A blog for updates and announcements
     - A section for community contributions and plugins
   - Design a logo and branding materials to create a recognizable identity for the project.


We have the blog and the Overview section. The rest will follow soon. There's a ton of material in the GitHub repo, plus a full wiki, which I'll put to good use here as well.
0 Comments

    Author

    Peter Bengtson –composer, organist, programmer, cloud architect. Currently windsurfing through parentheses.

    View my profile on LinkedIn

    Archives

    June 2025
    April 2025
    March 2025
    September 2024
    August 2024
    July 2024

    Categories

    All
    Architecture
    Clojure
    CLOS
    Common Lisp
    Documentation
    Finale
    FrankenScore
    Franz Kafka
    Functional Programming
    Generative AI
    Igor Engraver
    Jacques Derrida
    JVM
    Lisp
    Ooloi
    Python
    Rich Hickey
    Road Map
    Scheme
    Sibelius
    Site

    RSS Feed

Home
​Overview
Documentation
About
Contact
FrankenScore is a modern, open-source music notation software designed to handle complex musical scores with ease. It is designed to be a flexible and powerful music notation software tool providing professional, extremely high-quality results. The core functionality includes inputting music notation, formatting scores and their parts, and printing them. Additional features can be added as plugins, allowing for a modular and customizable user experience.​
  • Home
  • Overview
    • Background and History
    • Project Goals
    • Introduction for Musicians
    • Introduction for Programmers
    • Introduction for Anti-Capitalists
    • Technical Comparison
  • Documentation
    • Architectural Decision Log >
      • Choice of Clojure
      • Separation of Frontend and Backend
      • Adoption of gRPC
      • Plugins
      • STM for Concurrency
      • JavaFX & Skija
      • SMuFL
      • Nippy
      • Vector Path Descriptors
      • Collaborative Features
      • Trees and Circles
      • Shared Structure
      • Persisting Pieces
      • Slur Formatting
      • Piece Walker
    • Backend src README
    • Development Plan
    • License
    • Code of Conduct
  • About
  • Contact
  • Home
  • Overview
    • Background and History
    • Project Goals
    • Introduction for Musicians
    • Introduction for Programmers
    • Introduction for Anti-Capitalists
    • Technical Comparison
  • Documentation
    • Architectural Decision Log >
      • Choice of Clojure
      • Separation of Frontend and Backend
      • Adoption of gRPC
      • Plugins
      • STM for Concurrency
      • JavaFX & Skija
      • SMuFL
      • Nippy
      • Vector Path Descriptors
      • Collaborative Features
      • Trees and Circles
      • Shared Structure
      • Persisting Pieces
      • Slur Formatting
      • Piece Walker
    • Backend src README
    • Development Plan
    • License
    • Code of Conduct
  • About
  • Contact