Commit Graph

711 Commits

Author SHA1 Message Date
Anna Schumaker 1edc776370 Emmental 2.1
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-17 09:21:32 -04:00
Anna Schumaker b0a1ab5796 keyboard: Add initial keyboard shortcuts
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-02 10:25:11 -04:00
Anna Schumaker e24999bb2f audio: Give the Player a playpause() function
This makes it easy for others to pause if playing, or play if paused

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-02 10:25:00 -04:00
Anna Schumaker f55ecf0472 sidebar: Switch over to using the emmental-favorites icon
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 19:18:28 -04:00
Anna Schumaker f13983269b playlist: Switch over to using the emmental-favorites icon
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 19:18:17 -04:00
Anna Schumaker 692ca1ff5d data: Add a custom icon for Favorites
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 19:17:15 -04:00
Anna Schumaker d3c66d7c31 playlist: Add a button for scrolling to the current track
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 13:15:49 -04:00
Anna Schumaker 1d45ce9beb playlist: Use the ColumnView's vadjustment for scrolling
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 13:15:49 -04:00
Anna Schumaker 029b432dd3 audio: Check that artwork has a default path
Instead of checking the path itself. I found that the test fails if
Emmental is installed, since it's finding the artwork in
/usr/share/icons before our local path.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-31 13:15:49 -04:00
Anna Schumaker 3d78dcd4d0 Create a PKGBUILD for putting releases on the AUR
And add the aur directory as a submodule so we can update files directly

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-28 11:17:32 -04:00
Anna Schumaker b0838beb6f Create install and uninstall targets in the Makefile
And create helper scripts under tools/

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 17:52:13 -04:00
Anna Schumaker 66e1ba8b44 Rename the debug file to .debug
And check for existance before reading

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 14:29:40 -04:00
Anna Schumaker f78402f258 Rename trackdb -> tagdb
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 11:15:15 -04:00
Anna Schumaker 7a41c3b1a1 Move module tests out of the toplevel directory
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 11:03:32 -04:00
Anna Schumaker e8f9427750 Move testing tracks into data/
And the generate_tracks.py script into tools/

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 10:57:01 -04:00
Anna Schumaker d985c53c5c Rename emmental-gtk4.py -> emmental.py
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 10:29:21 -04:00
Anna Schumaker 81be915b09 lib: Remove old idle.py code
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 10:26:29 -04:00
Anna Schumaker e5970fe47a Remove old emmental.ui file
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 10:25:34 -04:00
Anna Schumaker 0aa31586a3 Remove old rind/ directory
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 10:24:56 -04:00
Anna Schumaker 08d866b047 Remove old curds/ directory
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-26 10:24:15 -04:00
Anna Schumaker e248fd3658 playlist: Scroll to the current track when tracks change
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker dece303a09 playlist: Make the currently playing track bold
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker b1ece1cd1d audio: Give Players a TrackChanged publisher
The playlist model can use this to make the current track bold

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker 500d0757d1 audio: Add an Artwork object to the Player
And add it to the Sidebar box while we're at it

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker 16d31dfd3a audio: Create a class for showing album art
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker 828fca9abd pane: Change the initial position
Now that the sidebar switcher isn't in the pane, we can make it a
little smaller

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker 18d001d0f0 ui: Replace the window's Grid with a Box
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker 70f9bc5015 sidebar: Put the Pulser into the Sidebar.Box directly
Rather than putting it in the Window.Grid. I add some labels to provide
spacing and to make sure the pulser area stays visible even if the
pulser is hidden.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker 05742d0bbc sidebar: Move the pulser into the sidebar directory
I'm soon going to put it into the same box as the Stack

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:35 -04:00
Anna Schumaker cf22a32fe7 window: Add the sidebar Switcher to the Grid directly
Rather than putting it in the Gtk.Paned

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:34 -04:00
Anna Schumaker 146777119c playlist: Move the Runtime and Visible widgets into the Playlist pane
Rather than being in a fixed position at the bottom of the window
they'll now align themselves based on the position of the Gtk.Paned
divider.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:34 -04:00
Anna Schumaker 5633d50024 audio: Watch for EOS messages from the gstreamer bus
Mark the track as played if it has run for more than 2/3 of the running
time. Also check the "continue" field when choosing the next song from
the stack.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 171e8a1829 lib: Give tags a track_selected() function
For use when tracks are manually selected. I use this to wire up a
response to double-clicking the playlist view.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker a6c78f55a3 audio: Create an audio Player instance
And update the header to include its widgets

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 878102a246 audio: Add the NowPlaying widgets to the player
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 4f43a3faf4 audio: Add a Seeker to the Player
And related functions needed for operation

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 7a042dd381 audio: Add Controls to the Player
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 8b3dd1e27c audio: Create seeking widgets
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker dc4f83f9a3 audio: Add widgets for audio Controls
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 2b358e3733 audio: Add the current autopause count to the menu button widget
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 73533c1283 audio: Add autopause controls to the menu popover
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 1c6357a073 audio: Create a menu button with volume controls
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker c844aba318 audio: Add widgets for Now Playing information
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker d29f4c1b47 audio: Save and restore the current track through the settings module
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker 0fde1f58e2 audio: Add a Player class
I provide a way to load, play, and pause tracks. I also add functions
for picking the next and previous tracks from the tagdb.Stack

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:17 -04:00
Anna Schumaker d834ce3a34 playlist: Allow selecting multiple tracks
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker f91334dab1 playlist: Add a "Add to Playlist" button to the Controls
And display the new popover when pressed

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker 7b53536b27 playlist: Create a popover for adding tracks to playlists
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker d2362368f3 playlist: Add a Controls instance above the ColumnView
And set up a FilterListModel so we can filter tracks

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker 315312615e playlist: Add a Filter to the controls
And respond when text is typed in the search bar

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00