def song_btn(index, main_lyt, self): global curr_song, pre_song, pre_sound, song_counter, bt2, other_layout, len_btn, len_btn2 global len_slid, sh, val_pre curr_song = index file3 = File(songlist[index][0]) song_length = float(file3.info.pprint().split(',')[-1:][0][:-8]) time = song_length / 60 minute = int(time) min_str = "{0:0=2d}".format(minute) second = int(round((time - minute) * 60, 2)) sec_str = "{0:0=2d}".format(second) ######################################################################## if (other_layout == True): grid_2 = GridLayout(cols=3, size_hint=(1, 0.05), row_force_default=True, row_default_height=40, opacity=1) b1 = Label(text='00:00', size_hint_x=None, width=main_lyt.width * 0.15) grid_2.add_widget(b1) slid = Slider(min=0, max=100, cursor_width='8dp', cursor_height='8dp', value_track=True, background_width='8dp', value_track_width='0.5dp', value_track_color=[0, 1, 1, 1], step=1) slid.pos = (1, 100) grid_2.add_widget(slid) b2 = Label(text='min' + ':' + 'sec', size_hint_x=None, width=main_lyt.width * 0.15) grid_2.add_widget(b2) len_btn = b2 len_btn2 = b1 len_slid = slid slid.bind(value=slid_bind) main_lyt.add_widget(grid_2) ################################################################################### fl = FloatLayout(size_hint=(1, 0.1), opacity=1) bt1 = ImgButton_pre('prev_normal.png', 'prev_press.png', id='pre') bt1.bind(on_press=partial(previous_song)) fl.add_widget(bt1) bt2 = ImgToggleButton_play(play_img, pause_img, id='pp') bt2.bind(on_press=partial(play_pause)) fl.add_widget(bt2) bt3 = ImgButton_next('next_normal.png', 'next_press.png', id='next') bt3.bind(on_press=partial(next_song)) fl.add_widget(bt3) main_lyt.add_widget(fl) other_layout = False len_btn.text = min_str + ':' + sec_str len_slid.min = 0 len_slid.value = 0 len_slid.max = int(song_length) len_btn2.text = '00:00' try: print(songlist[pre_song][0] + ' : stoped') bt2.state = 'normal' ImgToggleButton_play.on_state(bt2, 'fwfwf', 'normal') pre_sound.stop() pre_sound.unload() pre_song = -1 except: pre_song = -1 if (curr_song != pre_song): if (self.state == 'down'): sound = SoundLoader.load(songlist[index][0]) # songlist[index] bt2.state = 'down' ImgToggleButton_play.on_state(bt2, 'fwfwf', 'down') if (sound != None): val_pre = -1 slid_func(sound, len_slid, len_btn2) sound.play() pre_song = index song_counter = index pre_sound = sound songlist[pre_song][1].state = 'down' print(songlist[pre_song][0] + ' : playing')
def add_widgets(self): wth, hgt = Window.size s = Slider(min=0, max=50, value=0) s.pos = [100, 0] s.size = [wth - 100, 100] s.border_horizontal = (1, 1, 1, 1) self.parent.add_widget(s) # clear button clearbtn = Button(text='Clear') clearbtn.bind(on_release=self.clear_canvas) clearbtn.pos = [0, 0] self.parent.add_widget(clearbtn) # export button exportbtn = Button(text='Export') exportbtn.bind(on_release=self.export) exportbtn.pos = [0, 100] self.parent.add_widget(exportbtn) # red swatch button redbtn = Button(text='Head') redbtn.bind(on_release=self.color_red) redbtn.background_color = [1, 0, 0, 1] redbtn.pos = [0, hgt - 100] self.parent.add_widget(redbtn) # green swatch button greenbtn = Button(text='Back') greenbtn.bind(on_release=self.color_green) greenbtn.background_color = [0.5, 0.7, 0, 1] greenbtn.pos = [0, hgt - 200] self.parent.add_widget(greenbtn) # blue swatch button bluebtn = Button(text='L-Lefg') bluebtn.bind(on_release=self.color_blue) bluebtn.background_color = [0, 0, 1, 1] bluebtn.pos = [0, hgt - 300] self.parent.add_widget(bluebtn) # yellow swatch button yellowbtn = Button(text='L-Ankle') yellowbtn.bind(on_release=self.color_yellow) yellowbtn.background_color = [1, 0.8, 0.3, 1] yellowbtn.pos = [0, hgt - 400] self.parent.add_widget(yellowbtn) # pink swatch button pinkbtn = Button(text='R-Leg') pinkbtn.bind(on_release=self.color_pink) pinkbtn.background_color = [1, 0.3, 0.65, 1] pinkbtn.pos = [0, hgt - 500] self.parent.add_widget(pinkbtn) # brown swatch button brownbtn = Button(text='R-Ankle') brownbtn.bind(on_release=self.color_brown) brownbtn.background_color = [0.4, 0.3, 0.1, 1] brownbtn.pos = [0, hgt - 600] self.parent.add_widget(brownbtn) # cyan swatch button cyanbtn = Button(text='R-Shldr') cyanbtn.bind(on_release=self.color_cyan) cyanbtn.background_color = [0.6, 0.9, 0.75, 1] cyanbtn.pos = [0, hgt - 700] self.parent.add_widget(cyanbtn) # purple swatch button purplebtn = Button(text='R-Arm') purplebtn.bind(on_release=self.color_purple) purplebtn.background_color = [0.3, 0.1, 0.7, 1] purplebtn.pos = [0, hgt - 800] self.parent.add_widget(purplebtn) # grey swatch button greybtn = Button(text='L-Shldr') greybtn.bind(on_release=self.color_grey) greybtn.background_color = [0.5, 0.5, 0.5, 1] greybtn.pos = [0, hgt - 900] self.parent.add_widget(greybtn) # black swatch button blackbtn = Button(text='L-Arm') blackbtn.bind(on_release=self.color_black) blackbtn.background_color = [1, 1, 1, 1] blackbtn.pos = [0, hgt - 1000] self.parent.add_widget(blackbtn)