Files
piano_repertoire/README.md

2.0 KiB
Raw Blame History

piano_repertoire

The piano_repertoire-project develops a database to keep track of the pieces a pianist can play, as well as an app to interact with the database. The software is open source and developed under the MIT license.

Features

At the moment, an alpha version is undertaken, with these features:

Database

  • The sqlite-database holds a growing number of piano-solo pieces, together with their exact catalogue-numbers and composers.
  • Enclosed in this database is a table for users (pianists), in which is marked which of the works and movements can be played.

Application and usage, Roadmap

  • Create new users (n username)
  • Show users (su)
  • Set an active user (a number_of_user)
  • Show the pieces stored in the database (s)
  • Mark work as mastered for the active user (m number_of_work)
  • Show pieces by composer (c shows composers, s number_of_composer shows pieces)
  • Show movements through works (sw work_number)
  • Mark movement as mastered for active user (m number_of_work number_of_movement)
  • Show possible commands (h)
  • Show mastered movements for activated user (sm)
  • display, if work or movement is mastered from active user when viewing works and movements
  • Works are shown sorted by composer and opus/work_directory-number (s, smo) or by composer and collection (sm)
  • (planned) Remove work or movement from being mastered for active user
  • (planned) Remove user
  • (planned) Fix known bugs

(planned) Release piano_repertoire_cli V 0.0.1 alpha (learn about versioning before)

(planned) Port funtionality to a kivy-GUI

  • (planned) Save recordings per movement in userspace
  • (planned) Listen to saved recordings

Requirements and how to run the application

  • Python 3.9 or higher
  • Enough disk space to hold the database
  • run python builddb.py to build the SQLite-database-file before running python rep_cli.py

Known Bugs

  • Marking a piece as mastered the second time, the database wont insert the entry and the program will crash