1919from .control import ControlBar
2020from .cover_art import CoverArtFrame
2121from .progress import BottomFrame
22- from .util import GEOMETRY , TITLE , PlayerState , EVENT_INTERVAL ,make_time_string
22+ from .util import GEOMETRY , TITLE , PlayerState , EVENT_INTERVAL , make_time_string
2323
2424
2525ctk .set_default_color_theme ("yami/data/theme.json" )
@@ -49,30 +49,30 @@ def __init__(self: ctk.CTk, loop=None):
4949 )
5050
5151 self .initialize_vlc ()
52-
52+
5353 # TKINTER SETUP
5454 self .setup_icons ()
5555 self .setup_frames ()
5656 self .setup_widget_packing ()
5757
5858 self .setup_keybindings ()
5959
60-
6160 self .event_manager = self .music_list_player .event_manager ()
62- self .event_manager .event_attach (vlc .EventType .MediaListPlayerNextItemSet , self .change_info )
61+ self .event_manager .event_attach (
62+ vlc .EventType .MediaListPlayerNextItemSet , self .change_info
63+ )
6364 self .update_loop ()
6465 self .after (EVENT_INTERVAL , self .update )
6566
6667 def update (self , event = None ):
6768 if self .music_list_player .get_state () == vlc .State .Playing :
6869
69- song_position = self .music .get_position ()
70+ song_position = self .music .get_position ()
7071 self .bottom_frame .progress_bar .set (song_position )
71-
72- self .control_bar .playback_label .configure (text = make_time_string (
73- song_position ,
74- self .music .get_length () // 1000 )
75- )
72+
73+ self .control_bar .playback_label .configure (
74+ text = make_time_string (song_position , self .music .get_length () // 1000 )
75+ )
7676 self .after (EVENT_INTERVAL , self .update )
7777
7878 def load_and_play_song (self , index ):
@@ -86,12 +86,10 @@ def load_and_play_song(self, index):
8686
8787 logging .info ("playing %s" , self .get_song_title ())
8888
89- def change_info (self ,event = None ):
90-
89+ def change_info (self , event = None ):
90+
9191 self .cover_art_frame .cover_art_label .configure (
92- require_redraw = True ,
93- image = self .get_album_cover (),
94- fg_color = "#121212"
92+ require_redraw = True , image = self .get_album_cover (), fg_color = "#121212"
9593 )
9694 self .control_bar .set_music_title ( # truncates longer titles
9795 self .get_song_title (),
@@ -105,7 +103,7 @@ def play_next_song(self, _event=None):
105103 # UPDATE SELECTION
106104 self .playlist_frame .song_list .selection_clear (0 , tk .END )
107105 self .playlist_frame .song_list .select_set (self .playlist_index )
108-
106+
109107 def play_previous (self , event = None ):
110108 self .music_list_player .previous ()
111109 self .change_info ()
@@ -114,10 +112,12 @@ def play_previous(self, event=None):
114112 self .playlist_frame .song_list .select_set (self .playlist_index )
115113
116114 def get_song_length (self ) -> int :
115+ logging .debug ("got song length" )
117116 return self .music .get_length ()
118117
119118 def get_song_title (self ) -> str :
120119 media = self .music_list_player .get_media_player ().get_media ()
120+ logging .debug ("got song title" )
121121 try :
122122 if media .is_parsed ():
123123 return media .get_meta (0 )
@@ -132,6 +132,7 @@ def get_album_cover(self) -> ctk.CTkImage | None:
132132 try :
133133 media = self .music_list_player .get_media_player ().get_media ()
134134 media .parse ()
135+ logging .debug ("got album cover" )
135136 return ctk .CTkImage (
136137 self .round_corners (
137138 Image .open (
@@ -148,6 +149,7 @@ def get_album_cover(self) -> ctk.CTkImage | None:
148149
149150 def get_song_artist (self ) -> str :
150151 media = self .music_list_player .get_media_player ().get_media ()
152+ logging .debug ("got song artist" )
151153 try :
152154 if media .is_parsed ():
153155 return media .get_meta (1 )
@@ -162,26 +164,28 @@ def get_song_position(self) -> float:
162164 return self .music .get_position ()
163165
164166 def round_corners (self , image , radius ) -> Image .Image :
165- ''' Rounds Album Cover'''
167+ """ Rounds Album Cover"""
166168 rounded_mask = Image .new ("L" , image .size , 0 )
167169 draw = ImageDraw .Draw (rounded_mask )
168170 draw .rounded_rectangle ((0 , 0 ) + image .size , radius , fill = 255 )
169171
170172 rounded_image = Image .new ("RGBA" , image .size )
171173 rounded_image .paste (image , (0 , 0 ), mask = rounded_mask )
174+ logging .debug ("rounded album cover" )
172175
173176 return rounded_image
174177
175178 def initialize_vlc (self ):
176- ''' initializes and creates
177- :param `self.music_list_player`: vlc.MediaListPlayer
178- :param `self.music`: vlc.MediaPlayer
179- :param `self.vlc_instance`: vlc.Instance
180- :returns: some vlc attributes
181- '''
179+ """ initializes and creates
180+ :param `self.music_list_player`: vlc.MediaListPlayer
181+ :param `self.music`: vlc.MediaPlayer
182+ :param `self.vlc_instance`: vlc.Instance
183+ :returns: some vlc attributes
184+ """
182185 self .music_list_player : vlc .MediaListPlayer = vlc .MediaListPlayer ()
183186 self .music : vlc .MediaPlayer = self .music_list_player .get_media_player ()
184187 self .vlc_instance : vlc .Instance = self .music_list_player .get_instance ()
188+ logging .debug ("initialized vlc" )
185189
186190 def setup_icons (self ):
187191 self .play_icon = ctk .CTkImage (Image .open ("yami/data/play_arrow.png" ))
@@ -190,7 +194,7 @@ def setup_icons(self):
190194 self .next_icon = ctk .CTkImage (Image .open ("yami/data/skip_next.png" ))
191195 self .folder_icon = ctk .CTkImage (Image .open ("yami/data/folder.png" ))
192196 self .music_icon = ctk .CTkImage (Image .open ("yami/data/music.png" ))
193- logging .info ("icons setup" )
197+ logging .debug ("icons setup" )
194198
195199 def setup_frames (self ):
196200 self .topbar = TopBar (self )
@@ -200,23 +204,26 @@ def setup_frames(self):
200204 self .cover_art_frame = CoverArtFrame (self )
201205
202206 def setup_keybindings (self ):
203- '''
207+ """
204208 :param `<F9>`: play next
205209 :param `<F8>`: play previous
206210 :param `<Space>`: play or pause
207- '''
211+ """
208212
209213 self .bind ("<F10>" , self .play_next_song )
210214 self .bind ("<F8>" , self .play_previous )
211215 self .bind ("<F9>" , self .control_bar .play_pause )
212216 self .bind ("<space>" , self .control_bar .play_pause )
217+ self .bind ("<Control-o>" , self .topbar .choose_folder )
218+ logging .debug ("setup keybinds" )
213219
214220 def setup_widget_packing (self ):
215221 self .topbar .pack (side = tk .TOP , fill = tk .X )
216222 self .bottom_frame .pack (side = tk .BOTTOM , fill = tk .X )
217223 self .control_bar .pack (side = tk .BOTTOM , fill = tk .X )
218224 self .playlist_frame .pack (side = tk .RIGHT )
219225 self .cover_art_frame .pack (side = tk .LEFT , padx = 10 )
226+ logging .debug ("widgets packed" )
220227
221228 def update_loop (self ):
222229 self .loop .call_soon (self .loop .stop )
0 commit comments