This lets the treeview completely display all the playlists, rather than
cutting off the last few characters.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
Add gui controls for our new dynamic playlists:
- Unplayed Tracks,
- Most Played Tracks, and
- Least Played Tracks
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
Unplayed tracks is a dynamic playlist generated whenever we are asked to
select the "Unplayed" playlist. Note that dynamic playlists aren't
hooked up to the other playlist functions (has, add, del, or
get_tracks). This is to avoid adding them to the index and potentially
writing out to disk.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This will go unnoticed for Favorites and Banned playlists, but will
allow dynamic playlists to be refreshed without switching to a different
playlist first.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
Once the check box was enabled, we were never setting the count again.
This means that changing pause count from 1 to 2 did not change the
count in the backend.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
I can use the lowercase text from string :: lowercase() and take a
single pass over a single string (rather than iterating through a list
of strings).
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This function converts unsigned ints into strings. This allows me to
replace several almost identical functions with one function call.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
The lib/ experiment made the gui code a little more complicated than I
was expecting, so I'm going to begin merging everything back into gui/
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
I don't include unit tests in the tarball for releases, so I need to
check for this directory when telling Scons what to build.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
Just calling audio :: next() will advance to the next song, but won't
change if we're playing music or not. I think this is what we want to
do when banning tracks.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This file doesn't do anything anymore, so move the init functions into
main.cpp and remove the file.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
If .debug exists, then we'll compile as a debug build. This will let me
toggle debug status during development without needing to worry about
committing the change.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
Other files in the gui implement their classes directly, rather than
making extra functions. Let's do that here, too.
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>