Пример #1
0
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')
Пример #2
0
    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)