(wip) keep track of instrument practicing minutes
This repository has been archived on 2023-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
randomuser b99ea96de3 forgot a function name change 2020-11-02 20:10:56 -06:00
README first commit; got the readme and main source file 2020-10-24 03:13:48 +00:00
main.c forgot a function name change 2020-11-02 20:10:56 -06:00

README

practice
========

keep track of instrument practicing minutes

+-----+
|USAGE|
+-----+

=> record a practice session
  $ practice
wait until the end of your practice session, then control-c

=> read out practice sessions in the current period (for a
   report)
  $ practice report

=> read out a practice sessions for a given period (for a
   report)
  $ practice report 2

=> start new reporting period
  $ practice period

+------+
|CONFIG|
+------+

=> save location
  #define SAVLOCO "/home/user/savelocation"

=> name
  $ practice name <name>

=> instrument
  $ practice instrument <instrument>

+----------------+
|SAVE FILE FORMAT|
+----------------+

HEADER
+-+-----------------------------+
|1| <name>                      |
|2| <instrument name>           |
+-+-----------------------------+

The following lines can be in any order. It is left to the
reader to determine what behavior they implement.

PRACTICE SESSION
+----------------------+
|P0210201923 Music in F|
+----------------------+

- the first character of a practice session entry is always
  ASCII P
- the next two characters is the month, from 01-12
- the next two characters is the day, from 01-31
- the next four characters is the year, from 0000-9999
- the next characters until the delimiting space are
  considered the length of the practice session in
  minutes, from 1-255
- the next character, the delimiting space, delimits the
  metadata on the left and the name of the piece on the right
- the remaining characters are considered the name of the
  piece you are practicing

PERIOD
+-----------------+
|S02 First Quarter|
+-----------------+
- the first character of a period entry is always ASCII S
- the next two characters is the ID, ranging from 00-99
- the next character is the space delimiter
- the following characters is the human readable period name

END
+---+
|END|
+---+
- an end line is valid only if:
  + the first character in the line should ALWAYS be ASCII E,
    followed by ASCII N, and ASCII D.
  + the line is located at the last line of the file

AN EXAMPLE
+--+--------------------------------------------------------+
|01|randomington userington                                 |
|02|F Horn                                                  |
|03|S00 First Quarter                                       |
|04|P0908202024 Generic Practice                            |
|05| ... more entries ...                                   |
|06|S01 Second Quarter                                      |
|07| ... more entries ...                                   |
|08|END                                                     |
+--+--------------------------------------------------------+

+----+
|BUGS|
+----+

=> practice sessions fail due to starting in one day and
   ending in another [will not fix]
   + practicing in the middle of the night is never a good
     idea

This document, and all related articles shall be published
under public domain. The author, randomuser,
(randomuser@tilde.club) hereby discharges all warranty
under applicable law, if legal.