I have some fallbacks in place in case a tag is missing, and we can
always add more tags later if something interests us.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
Note that these happen in the scanning thread, so callers may need to do
some work to put them in the main thread if needed.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This will eventually replace my current notifications system. Hopefully
it'll be a little easier to work with and maintain
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I want to know the bare minimum of what tags can be relied on in my
music, so this script can help me set default / fallback tags.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This seems generally useful for determining what we should save or try
to display in the track database.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
And make sure we center the pixbuf in the GtkImage by allowing the image
to expand to its maximum width.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This acts as a placeholder, and keeps the sidebar from bouncing around
when tracks are changed.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I always scale from the original reference image, and never from the
displayed pixbuf. This avoids artifacts due to lossy scaling algorithms.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I took inspiration from a few other icons I found online, but I hacked
up my own version in Inkscape.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We were ignoring this argument and setting whatever is appropriate in
alloc_child(), so let's just remove it entirely.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This could exist as its own file, but it is only ever used from user.py.
Merging helps to simplify the code a little.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
- Use constants for the starred playlist icon and sort fields list
- Don't keep a reference to the new and starred playlists, and allocate
new instances after a reset()
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
- Use constants for the sort fields list
- Have alloc_child() set the icon directly, rather than using the one
passed in by lookup()
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
- Use constants for the sort fields list
- Have alloc_child() set the icon directly, rather than using the one
passed in by lookup()
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
- Use constants for the sort fields list
- Have alloc_child() set the icon directly, rather than using the one
passed in by lookup()
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
- Use constants for the sort list
- Have alloc_child() set the icon directly, rather than using the one
passed in
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We use the allocate version everywhere already, so let's just rename it
to lookup and have a less confusing name.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
And keep it as a global variable. This reduces the amount of work in the
root node, and makes things a little easier to follow
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I want to create a previous() function in the __init__.py file, but this
is causing import errors. We need to rename this file so everything
works as expected.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We still do this internally in the playlist/__init__.py file, so we can
skip it here and make the lines a little shorter.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
Rather than continuing to use the tree lock. This lets us be a little
more focused in what the locks protect, while also allowing tree
operations to happen in parallel with playlist operations.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>