I only need to create one bottom pane instance now. When the tabs are
changed, the object will be removed from the old tab and added to the
new one. This will preserve the state of the pane between tabs.
Collections now have a get_attr function. This function takes a song id
and a string with the requested attribute. The value of the attribute
is returned. This is used for generating a hover popup with the
playcount.
Libsaria events now support starting specific callback functions in a
background thread. This replaces starting a specific event in the
background.
I have a library tab that is added to the main window through use of the
ocarina.add_tab function.
I have new tests for walking the tree and running multiple threads with
locks.
I have begun creating the Ocarina 4.1 gui. So far, I can create and
resize a window. After a resize, the new size is saved and used again
when Ocarina is next started. I am also investigating drag and drop for
use with plugin loading.