47 lines
2.0 KiB
Markdown
47 lines
2.0 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`)
|
||
- (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 won’t insert the entry and the program will crash |