Anna Schumaker
beca08b833
Implement the Gtk.Application instance in emmental.py
...
We don't use this during testing, so put it here instead of in a
submodule.
Implements #26 (Move the EmmentalApplication into emmental.py)
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-12-28 15:49:50 -05:00
Anna Schumaker
db2d122211
lib: Replace version.DEBUG with the __debug__ constant
...
Implements #27 (Check __debug__ constant instead of a .debug file)
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-12-26 13:18:24 -05:00
Anna Schumaker
915e3c8340
Remove unused tagdb module
...
Implements #23 (Remove tagdb/ code)
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-12-26 10:08:33 -05:00
Anna Schumaker
a85ac03517
db: Occasionally optimize the database
...
I do this whenever we commit during scanning, and during application
shutdown.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-12-09 22:09:40 -05:00
Anna Schumaker
bb0a9face7
ui: Update keyboard shortcuts
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-12-09 17:51:02 -05:00
Anna Schumaker
7f31e39779
sidebar: Change the currently displayed playlist
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-12-05 13:49:24 -05:00
Anna Schumaker
7d5b9b8ba1
ui: Switch over to the new playlist.Panel class
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-26 17:26:09 -05:00
Anna Schumaker
35e31d0553
ui: Switch over to the new sidebar.Sidebar class
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-20 10:04:54 -05:00
Anna Schumaker
bc4c3588e6
ui: Convert Window code into a class
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-18 16:49:58 -05:00
Anna Schumaker
b05ef737f2
ui: Convert Pane code into a class
...
This lets us create a new instance for each test we do, so we don't need
to keep resetting a single static instance.
Implements: #21 (Convert ui.pane.Pane into a class)
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-18 16:49:58 -05:00
Anna Schumaker
7979cb1a4a
ui: Switch to the new audio.Header()
...
And delete the old ui/header.py code
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-11-18 16:49:58 -05:00
Anna Schumaker
3a50235c38
audio: Rework the Artwork widget
...
It now sets artwork based on the signals sent by the player, allowing us
to move it out of the Player class and create instances based on the
global Player instead.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-09-08 10:07:45 -04:00
Anna Schumaker
76bf68f484
audio: Replace the old Controls widget with AudioControls
...
And grab the global Player instance during construction.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-09-02 16:26:58 -04:00
Anna Schumaker
e4f6018195
audio: Replace the old Seeker widget with a ScaleButtonbox
...
And make the widget separate from the audio Player
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-09-02 16:15:43 -04:00
Anna Schumaker
e884dc5a6e
audio: Clean up the NowPlaying widget
...
It now uses the TrackTitle and TrackArtist labels. Additonally, I move
it out of the Player class and create a shortcut function for
instantiating one using the global Player instance
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-08-31 15:13:18 -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
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
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
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
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
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
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
fa088ae8ea
playlist: Begin playlist widgets
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00
Anna Schumaker
ba5f21b0c0
Icons: Add our custom icons to the search path
...
But only when we're running in debug mode. Running while installed
should use the icons from the default search path
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
d98eca8533
pulser: Hide the pulser when not pulsing
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
dc86b1c32e
pulser: Pulse for busses, too
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
fd43952d54
pulser: Pulse when threads are started
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
aff3fade6f
sidebar: Begin sidebar widgets
...
They involve a stack and a vbox where toggle buttons will eventually be
placed.
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
b10851496c
runtime: Add widgets for runtime and visible tracks
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
5556ed163c
pulser: Add a progress bar to the UI window
...
The intention is to pulse it whenever a background thread is running. I
also add a horizontal separator to show that this is a separate area
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
9339ce22bb
pane: Add a GtkPane to the Window's grid
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
ac5c8c30d8
window: Add a GtkGrid as the window's main child
...
We'll pack in more widgets later
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
3566db7ede
header: Add Title and Subtitle widgets
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
5fc2944aec
header: Add a header bar to the window
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
5f23e34972
window: Set title and window icon
...
The window icon doesn't exist at this point, but set the name based on
what it will be called once we configure the icon theme properly
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
6f3558a83e
window: Handle user maximize / unmaximize
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
1c70390449
window: Handle user resizes
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00
Anna Schumaker
2455d577df
UI: Start basic files for GtkApplication and GtkWindows
...
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:51:54 -04:00