49 lines
2.2 KiB
Markdown
49 lines
2.2 KiB
Markdown
# 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`)
|
|
- Remove work or movement from being mastered for active user (`r number_of_work` or `r number_of_work number_of_movement`)
|
|
- Remove user (`delete_my_user_record_including_all_mastered_works`)
|
|
- Fixed bug: double marking crashes the program
|
|
- Fixed bug: check for user before setting
|
|
|
|
_(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
|
|
|
|
- Trying to mark works as mastered that are not present crashes the program
|
|
- Providing alphabetic chars where numbers are expected crashes the program |