Esempio n. 1
0
    def __init__(self, skrn, screenManager, size=(800, 480)):
        Screen.__init__(self, skrn, size)
        self.screenManager = screenManager
        self.playlistManager = PlaylistManager(skrn, screenManager)
        self.playing = False
        self.color_theme = (0, 153, 255)
        
        self.playButton = Button(skrn=skrn, size=self.size, text='>\||', text_size=30, callback=self.toggleMusic, args=None, dim=(125, 385, 75, 75), color=self.color_theme, width=2, text_offset=(15, 5), image='playPause.png', image_offscale=(20, 20), image_offset=(10, 10))
        self.nextButton = Button(skrn=skrn, size=self.size, color=self.color_theme, text='Next', text_size=30, callback=self.nextSong, args=None, text_offset=(15, 5), dim=(225, 385, 75, 75), width=2, image='next.png', image_offscale=(20, 20), image_offset=(10, 10))
        self.prevButton = Button(skrn=skrn, size=self.size, color=self.color_theme, text='Prev', text_size=30, callback=self.prevSong, args=None, text_offset=(15, 5), dim=(25, 385, 75, 75), width=2, image='prev.png', image_offset=(10, 10), image_offscale=(20, 20))
        self.backButton = Button(skrn=self.skrn, size=self.size, color=self.color_theme, text='Back', callback=self.back, args=None, text_offset=(10, 30), dim=(680, 350, 100, 100), text_size=50, text_color=self.color_theme, width=5)

        self.nowPlayingName = self.playlistManager.getCurrentSongName()
Esempio n. 2
0
 def onAction(self, action):
     super(PlaylistDialog, self).onAction(action)
     if action.getId() == ACTION_SELECT_ITEM:
         c_id = self.getFocusId()
         if c_id == 4001:
             # Clear
             PlaylistManager.clear()
             self.close()
         elif c_id == 4002:
             # Close
             self.close()
         elif c_id == 4003:
             # Play
             PlaylistManager.play()
             self.close()
     elif action.getId() == ACTION_CONTEXT_MENU:
         c_id = self.getFocusId()
         if c_id == 4000:
             # Remvove playlist item
             sel_item = self.__list.getSelectedItem()
             PlaylistManager.remove(sel_item)
             self.__loadList()
             self.__setFocus()
Esempio n. 3
0
 def onAction(self, action):
   super(PlaylistDialog, self).onAction(action)
   if action.getId() == ACTION_SELECT_ITEM:
     c_id = self.getFocusId()
     if c_id == 4001:
       # Clear
       PlaylistManager.clear()
       self.close()
     elif c_id == 4002:
       # Close
       self.close()
     elif c_id == 4003:
       # Play
       PlaylistManager.play()
       self.close()
   elif action.getId() == ACTION_CONTEXT_MENU:
     c_id = self.getFocusId()
     if c_id == 4000:
       # Remvove playlist item
       sel_item = self.__list.getSelectedItem()
       PlaylistManager.remove(sel_item)
       self.__loadList()
       self.__setFocus()
Esempio n. 4
0
def save_files():
    file = open('sorted_songs.txt', 'w')
    file.write(json.dumps(playlists.get_playlists(), indent=4))
    file.close()

    file = open('unsorted_songs.txt', 'w')
    file.write(json.dumps(library.get_library(), indent=4))
    file.close()


def read_files():
    file = open("./unsorted_songs.txt", "r")
    library = json.loads(file.read())
    file.close()

    file = open('sorted_songs.txt', 'r')
    playlists = json.loads(file.read())
    file.close()

    return library, playlists


library, playlists = read_files()
library = LibraryManager.LibraryManager(library)
playlists = PlaylistManager.PlaylistManager(playlists)
artists = iter(library.get_artists())

cmd = Command()
cmd.cmdloop()
Esempio n. 5
0
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.image import AsyncImage
from kivy.core.window import Window
from functools import *
import threading
import time
from PlaylistManager import *
import YoutubeAPI
from AudioPlayer import *
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition

#create playlist manager object
playlistManager = PlaylistManager()
#create audio player object
audioPlayer = AudioPlayer()


#class representing search result
class VideoItem(BoxLayout):
    def __init__(self, imageSource, title, videoID):
        super(VideoItem, self).__init__()
        #store video data
        self.id = videoID
        self.title = title
        self.actualSongImage = imageSource
        self.orientation = 'horizontal'
        #place image and title on screen
        imag = AnchorLayout(anchor_x='center')
Esempio n. 6
0
class MusicScreen(Screen):
    def __init__(self, skrn, screenManager, size=(800, 480)):
        Screen.__init__(self, skrn, size)
        self.screenManager = screenManager
        self.playlistManager = PlaylistManager(skrn, screenManager)
        self.playing = False
        self.color_theme = (0, 153, 255)
        
        self.playButton = Button(skrn=skrn, size=self.size, text='>\||', text_size=30, callback=self.toggleMusic, args=None, dim=(125, 385, 75, 75), color=self.color_theme, width=2, text_offset=(15, 5), image='playPause.png', image_offscale=(20, 20), image_offset=(10, 10))
        self.nextButton = Button(skrn=skrn, size=self.size, color=self.color_theme, text='Next', text_size=30, callback=self.nextSong, args=None, text_offset=(15, 5), dim=(225, 385, 75, 75), width=2, image='next.png', image_offscale=(20, 20), image_offset=(10, 10))
        self.prevButton = Button(skrn=skrn, size=self.size, color=self.color_theme, text='Prev', text_size=30, callback=self.prevSong, args=None, text_offset=(15, 5), dim=(25, 385, 75, 75), width=2, image='prev.png', image_offset=(10, 10), image_offscale=(20, 20))
        self.backButton = Button(skrn=self.skrn, size=self.size, color=self.color_theme, text='Back', callback=self.back, args=None, text_offset=(10, 30), dim=(680, 350, 100, 100), text_size=50, text_color=self.color_theme, width=5)

        self.nowPlayingName = self.playlistManager.getCurrentSongName()


    def draw(self):
        self.skrn.fill((35, 35, 35))
        self.playlistManager.draw()
        self.drawButtons()
        self.backButton.draw()

    def drawButtons(self):
        self.playButton.draw()
        self.nextButton.draw()
        self.prevButton.draw()
        text(self.skrn, 'Now Playing: ' + self.nowPlayingName, (10, 0), 24, (0, 153, 255))
        #self.shuffleButton.draw()
    
    def logic(self):
        self.playlistManager.logic()
        self.buttonLogic()
        self.backButton.logic()
    def buttonLogic(self):
        self.playButton.logic()
        self.nowPlayingName = self.playlistManager.getCurrentSongName()
        self.nextButton.logic()
        self.prevButton.logic()
        #self.shuffleButton.logic()

    def event(self, event):
        self.playlistManager.event(event)
        self.buttonEvent(event)
        self.backButton.event(event)
    def buttonEvent(self, event):
        self.playButton.event(event)
        self.nextButton.event(event)
        self.prevButton.event(event)
        #self.shuffleButton.event(event)

    def nextSong(self):
        self.playlistManager.nextSong()
        self.playing = True
        pygame.mixer.music.load(MUSIC_PATH+'/'+str(self.playlistManager.getCurSong()))
        pygame.mixer.music.play()

    def prevSong(self):
        self.playlistManager.prevSong()
        pygame.mixer.music.load(MUSIC_PATH+'/'+str(self.playlistManager.getCurSong()))
        pygame.mixer.music.play()

    def back(self):
        if self.playlistManager.showPlaylist:
            self.playlistManager.showPlaylist = False
        else:
            self.screenManager.loadScreen(0)

    
    def toggleMusic(self):
        if self.playing:
            pygame.mixer.music.pause()
        else:
            pygame.mixer.music.unpause()
        self.playing = not self.playing

    def shuffle(self):
        self.playlistManager.shuffle()
Esempio n. 7
0
 def __loadList(self):
     items = PlaylistManager.getPlaylistAsListItems()
     self.__list.reset()
     for item in items:
         self.__list.addItem(item)
Esempio n. 8
0
 def __loadList(self):
   items = PlaylistManager.getPlaylistAsListItems()
   self.__list.reset()
   for item in items:
     self.__list.addItem(item)