def __init__(self, player, vk): global PG_NAME, PG_VERSION self.stdscr = curses.initscr() self.stdscr.clear() curses.cbreak() curses.noecho() self.stdscr.keypad(0) #screen.keypad(0); curses.curs_set(0) curses.start_color() curses.use_default_colors() # инициализация цветовых схем if curses.can_change_color(): init_color(-1, 0, 0, 0) # отмеченный на воспроизмедение трек curses.init_pair(1, curses.COLOR_RED, curses.COLOR_YELLOW) # невыделенный трек curses.init_pair(2, curses.COLOR_GREEN, -1) # выделенный трек curses.init_pair(3, curses.COLOR_RED, curses.COLOR_GREEN) # для прогрессбара curses.init_pair(4, curses.COLOR_YELLOW, curses.COLOR_BLUE) curses.init_pair(5, curses.COLOR_YELLOW, -1) # заголовки окон curses.init_pair(6, curses.COLOR_CYAN, -1) # Голова и тело пигвина, черные curses.init_pair(7, curses.COLOR_BLUE, -1) curses.init_pair(8, curses.COLOR_YELLOW, -1) curses.init_pair(9, curses.COLOR_WHITE, -1) # эквалайзер curses.init_pair(10, curses.COLOR_WHITE, curses.COLOR_WHITE) curses.init_pair(11, curses.COLOR_CYAN, curses.COLOR_CYAN) curses.init_pair(12, curses.COLOR_BLUE, curses.COLOR_BLUE) curses.init_pair(13, curses.COLOR_YELLOW, curses.COLOR_YELLOW) curses.init_pair(14, curses.COLOR_GREEN, curses.COLOR_GREEN) curses.init_pair(15, curses.COLOR_RED, curses.COLOR_RED) # slc curses.init_pair(16, curses.COLOR_BLACK, curses.COLOR_CYAN) curses.init_pair(17, curses.COLOR_WHITE, -1) # получаю размеры экрана и оговариваю работу с клавиатурой self.stdscr.keypad(1) self.rows, self.cols = self.stdscr.getmaxyx() # Создаю главное окно. Конечно, можно было и без него обойтись, однако на будующее зазор оставлю self.win = curses.newwin(self.rows, self.cols, 0, 0) TRACK_PLAY_COLOR = curses.color_pair(1) TRAK_ITEM_COLOR = curses.color_pair(2) TRACK_SELECT_COLOR = curses.color_pair(3) COLOR_CONTENT = curses.color_pair(6) COLOR_PGBAR_PLAYNING = curses.color_pair(4) COLOR_PGBAR_FREE = curses.color_pair(5) TUX_COLOR_BLUE = curses.color_pair(7) TUX_COLOR_YELLOW = curses.color_pair(8) TUX_COLOR_WHILE = curses.color_pair(9) ALBOM_PLAY_COLOR = curses.color_pair(8) ALBOM_ITEM_COLOR = curses.color_pair(6) ALBOM_SELECT_COLOR = curses.color_pair(9) # цвет текса и цвет номера команды COLOR_SLC = curses.color_pair(16) COLOR_NUMBER = curses.color_pair(17) # выбрана левая панель с треками self.is_select_trak_list = True # отображать список альбомов self.is_view_albom_list = True self.player = player self.vk = vk self.__help_f1 = LabelSlk(0, self.win, ( self.rows, self.cols, ), u"Help", COLOR_SLC, COLOR_NUMBER) self.__edit_f2 = LabelSlk(1, self.win, ( self.rows, self.cols, ), u"Edit", COLOR_SLC, COLOR_NUMBER) self.__copy_f3 = LabelSlk(2, self.win, ( self.rows, self.cols, ), u"Copy", COLOR_SLC, COLOR_NUMBER) self.__move_f4 = LabelSlk(3, self.win, ( self.rows, self.cols, ), u"Move", COLOR_SLC, COLOR_NUMBER) self.__newalbom_f5 = LabelSlk(4, self.win, ( self.rows, self.cols, ), u"NewAlbum", COLOR_SLC, COLOR_NUMBER) self.__rm_f6 = LabelSlk(5, self.win, ( self.rows, self.cols, ), u"Remove", COLOR_SLC, COLOR_NUMBER) self.__random_f7 = LabelSlk(6, self.win, ( self.rows, self.cols, ), u"Random", COLOR_SLC, COLOR_NUMBER) self.__move_exit = LabelSlk(7, self.win, ( self.rows, self.cols, ), u"Exit", COLOR_SLC, COLOR_NUMBER) # создаю окна self.system_info = SystemInfoWin(self.win, 6, self.cols / 5, 0, 0, PG_NAME, PG_VERSION, COLOR_CONTENT) self.track_info = TrackInfoWin(self.win, 6, self.cols / 3, 0, self.cols / 5, COLOR_CONTENT) #self.ekvalayzer = EkvalayzerWin(self.win, 6, self.cols - self.cols/3 - self.cols/5, 0, self.cols/3 + self.cols/5) self.track_duration = ProgressBarWin(self.win, 3, self.cols, 6, 0, COLOR_PGBAR_PLAYNING, COLOR_PGBAR_FREE) self.track_list = TrackListWin(self.win, self.rows - 10, self.cols - 48, 9, 0, TRACK_SELECT_COLOR, TRAK_ITEM_COLOR, TRACK_PLAY_COLOR) # 48 символа макс. длина. инфа статичная self.navigation = NavigationWin(self.win, self.rows - 10, 48, 9, self.cols - 48, TUX_COLOR_BLUE, TUX_COLOR_YELLOW, TUX_COLOR_WHILE) self.alboms_win = AlbomsWin(self.win, self.rows - 10, 48, 9, self.cols - 48, self.cols, ALBOM_SELECT_COLOR, ALBOM_ITEM_COLOR, ALBOM_PLAY_COLOR) self.system_info.set_sound_volume(self.player.get_sound_volume()) self.refresh()