# Open Issues

* AB limits are displayed as p.u.
    * timestamps would be best
    * named limits would also be acceptable e.g. first solo, second solo, etc
* Store playback volume separately for each song (also in session JSON)
* Playlist mode
    * automatically play next song when current song ends
    * playback doesn't stop when jumping to next/previous song
        * should this be the default anyway?
* AB list view in Qt GUI is currently not working correctly
    * selection is not cleared properly when changing songs
    * sometimes crashes when selecting limits with MIDI controller
* AB limit stays the same when changing song
    * Should switch to 0 if available?

* MIDI controller feature requests:
    * play head location indicator

# Closed Issues

* Moving AB sliders does not set AB limit. Instead need to save AB limit and then select it to apply
* Loading session is additive, should clear the state first
* Songs are displayed as full path, should be file name or ideally title from metadata
* When switching between songs, AB limit selection is not reset, this means that if the song has only one limit, it is not possible to load it anymore
* No GUI to control playback speed
* Add buttons to write current playback position to A or B limit sliders
* Switching between songs and AB limits does not work properly
    * AB controller only keeps track of limit index, not current song => when song changes, index is invalid but not properly reset
* Changing song while playing does not update play/pause button LED on MIDI controller
* Accept file path as argument to Qt GUI to automatically load session
* Key mapping in Qt to jump to A
    * Space bar in principle
        * Not so easy to do actually, used Super L instead
* AB repeat toggle in MIDI controller

* CLI feature requests:
    * close application without crashing
    * set A and B points at current play head position (during playback)

* MIDI controller feature requests:
    * skip ahead and behind by steps of a few seconds
    * wipe LED state when application closes

# Use Cases

## Song/solo practice

On PC:

0. Load session
1. Select song
2. Select A/B limit
3. Enable A/B repeat
3. Set overall volume

On MIDI controller:

* play/pause
* stop
* set playback speed
* next/previous A/B limit
* jump to limit A

## Set practice

On PC:

0. Load session
1. Set overall volume

On MIDI controller:

* next/previous song