What does it do?
What this program tries to accomplish is being a helper for you when doing some routinary work. For example, if you are working out with an exercise bike, you might want to alternate between stages on which you rest or run for your life. You can then create a routine with 2 activities, one for when you are running and another for when you are resting, allocate a time for each and start your session. When the time for one ends, a sound will let you know that you should start with the next activity.
Installing the program
No installation requiered for now, just extract the files and load the program.
If you are on Windows then you are all set, since the package has all the dependencies in it. (Thank the folk(s?) at cx_freeze).
If you are on Linux, you have to install python 2.6 or above and PyQt4, then run the program with the python interpreter (running it just as "python main.py" or the Routines.sh script). If you want sound (as you probably do), you need to install sox.
Okay... I'm in.. now, how do I create a routine?
You should be seeing a window similar to this one:
Then you go to "Routines -> New" and this should show up:
The section at the right has the activity's data, and the section on the left has the list of activities that compose a routine. Filling a name under "Activity", allocating a time underneath and clicking "Add" are the most common steps to creating an activity.
After that you are able to delete an activity clicking it on the list and hitting the "Del" button, or modify with the "Modify" button. The bottom of the window will show the running time of the activity:
You are also able to change the order of the activities using drag and drop on the activity list:
What's the meaning of all the options in a routine?
After you create or load a routine, you are able to edit the routine's settings, going to "Routine -> Settings" this dialog should popup:
Here you can set: General Settings:
- Routine's name: Used as base to name the saved sessions.
- Sessions directory: Directory on which the session will be saved, this is important since the Reporting tool will use a directory to know which sessions you want to see.
- Automatically save concluded sessions: When a session ends (because it ended, or you skipped it) a session file is created on the defined "Sessions dir". Note that this happens as soon as you finish the session, before you rate the activity.
- Repetitions: How many times should the whole routine be repeated?
Activity exhaustion behavior:
- Enter overtime mode: When an activity ends, the clock keeps counting (but progressing instead of counting down), and the session keeps running, but should be advanced manually.
- Start next activity: When an activity ends, the next one is started automatically.
- Stop current activity: When an activity ends, the session stops.
- Play soundfile: Plays a sound when an activity ends.
- Restore window: Restores the main window if it was minimized when an activity ended.
- Only concluded sessions: Only concluded sessions are reported when reading sessions from a directory.
Define rate categories: Clicking on this let's you define categories on which you can evaluate all activities of a routine. For example if you are playing guitar you could define "BPM" for velocity of an excersise or "Key" for keeping track on which key you improvised on your improvisation activity.
What about sessions then? How do I start one?
To start a new session, using an existing routine as a "template" you just go to "Routine -> Run" after loading the session.
You can also open previous sessions using the "Routine -> Open" command.
This is what a session looks like:
The button on the right start/pauses the session, while the button on the right advances the session forward. You can restart a session from the last time you loaded it using "Session -> Restart" or save it anytime from "Session -> Save". The session filename and path are decided using the Routine's setting, or if an existing session was used that file will be overwritten, as a way to keep track of the same session without duplicating them.
This is what overtime looks like in a session:
The button on the left changed it's text to "Next", because clicking it won't be counted as not finishing the activity. Also the timer's text changed to red, as a cue if sound isn't selected (or is not working... somehow).
When an activity ends you can rate it using "Session -> Rate last activity":
Or you could also wait until the session is done, and rate all activities using "Session -> See rates".
What's that reporting thing?
Reporting for a Routine let's you see all saved sessions, their activities, rates, elapsed time, etc. It uses the routine's session directory as input and reads all session files (it doesn't matter which routine created them*), then shows the data like this:
*) This was done in order to let you create different routines for the same purpose. For example, you could have 7 different routines for practicing guitar, one for each day of the week, and all with the same session directory. Then you could have access to all your guitar sessions on the same report.