This gives us a single set_uri() function that works for changing
tracks, but also still supports gapless loading.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This accounts for both the GtkScale widget and left / right keypresses
to step forward or backwards
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This moves position, duration, remaining, progress, seek by percent, and
seek by step functions all in one patch.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I create both a playbin helper function and a handler for the volume
button widget with this patch.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We need to make sure the path is properly escaped when loading to
account for any special characters that might be in the filename.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
The plan is to try to split up the gstreamer code into model and view
files to help make the code easier to work with.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I want to have some separation between code for the model and for the
view. Let's start by pulling out the selection stuff.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
These don't really have anything to do with the node model, so putting
them into their own file makes a lot of sense.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I'm planning to split up this file into several pieces, but the first
step is creating the subdirectory.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We don't do anything with this control yet, but eventually it'll be used
to show what tracks are starred. I intend to eventually allow clicking
on stars to add them to the starred playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We need to re-add this playlist to the node after doing a reset since it
is a default playlist.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This lets us delay sorting playlists until the first time they are shown
to make adding tracks faster. Additionally, we don't need to send
add-track notifications for playlists that aren't visible.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This is cleaner than calling the sort function several times, or
overriding the sort_order array after construction.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
And disable sorting on the Previous playlist, since doing so would
basically be changing history.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
I'm going to be adding more columns to the playlist display, so let's
increase the default width a little to accomidate this.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
Similar to the Random button, this button sets the playlist loop
property. I also increase the length of the position slider slightly to
give the buttons above a little more room.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
We need to change both the sensitivity and the current state based on
the random and can_random playlist variables.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>