コード例 #1
0
ファイル: mediaplayerui.py プロジェクト: ECE2524/mediaplayer
  def __init__(self):
    super(URLDownloadingGroup, self).__init__()
    self.setSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Maximum)

    rightGroupLayout = QtGui.QVBoxLayout(self)

    directionLabel = QtGui.QLabel("You can add songs locally by clicking 'Add Local'." +
" Alternatively, you can enter a video URL such as one from YouTube and click 'Add URL' to save the audio from that video to your library." +
" Please note that copyrighted videos will not work. Enjoy.")
    directionLabel.setFont(StandardFont())
    directionLabel.setWordWrap(True)
    rightGroupLayout.addWidget(directionLabel)

    self.findSongGroup = QtGui.QGroupBox()
    self.findSongGroup.setSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Maximum)
    self.findSongGroup.setObjectName("urlGroup")
    self.findSongGroup.setStyleSheet(style.GROUP_BOX)
    rightGroupLayout.addWidget(self.findSongGroup)

    groupLayout = QtGui.QVBoxLayout(self.findSongGroup)

    urlLayout = QtGui.QHBoxLayout()
    urlLabel = QtGui.QLabel("URL:")
    urlLabel.setFont(StandardFont())
    self.urlLine = QtGui.QLineEdit()
    self.urlLine.setStyleSheet("QLineEdit { background-color: #FFF; }")
    self.urlLine.setFont(StandardFont())
    urlLayout.addSpacing(27)
    urlLayout.addWidget(urlLabel)
    urlLayout.addWidget(self.urlLine)
    urlLayout.addSpacing(69)

    nameLayout = QtGui.QHBoxLayout()
    nameLabel = QtGui.QLabel("Save As:")
    nameLabel.setFont(StandardFont())
    self.nameLine = QtGui.QLineEdit()
    self.nameLine.setStyleSheet("QLineEdit { background-color: #FFF; }")
    self.nameLine.setFont(StandardFont())
    self.nameEnd = QtGui.QComboBox()
    self.nameEnd.setFont(StandardFont())
    self.nameEnd.addItem(".mp3")
    self.nameEnd.addItem(".wav")
    nameLayout.addWidget(nameLabel)
    nameLayout.addWidget(self.nameLine)
    nameLayout.addWidget(self.nameEnd)

    groupLayout.addLayout(urlLayout)
    groupLayout.addLayout(nameLayout)

    self.songButtonLayout = QtGui.QHBoxLayout()
    
    self.statusLabel = QtGui.QLabel()
    self.statusLabel.setObjectName("status")
    self.statusLabel.setFont(StandardFont())
    self.songButtonLayout.addWidget(self.statusLabel)

    self.addSongButton = QtGui.QPushButton("Add Local")
    self.addSongButton.setObjectName("addSong")
    self.addSongButton.setStyleSheet(style.button("addSong"))
    self.addSongButton.setFont(StandardFont())
    self.addSongButton.clicked.connect(self.addSong)
    self.songButtonLayout.addStretch(0)
    self.songButtonLayout.addWidget(self.addSongButton)

    self.addButton = QtGui.QPushButton("Add URL")
    self.addButton.setObjectName("addButton")
    self.addButton.setStyleSheet(style.button("addButton"))
    self.addButton.setFont(StandardFont())
    self.addButton.clicked.connect(self.onAddClicked)
    self.songButtonLayout.addWidget(self.addButton)

    rightGroupLayout.addLayout(self.songButtonLayout)
コード例 #2
0
ファイル: mediaplayerui.py プロジェクト: ECE2524/mediaplayer
  def __init__(self):
    super(MusicWidget, self).__init__()
    self.setWindowTitle("Media Player")
    self.setObjectName("musicWidget")
    self.setStyleSheet("#musicWidget { background-color: white; }")
    self.started = False
    self.prevSong = None
    pygame.mixer.init()

    mainLayout = QtGui.QHBoxLayout(self)

    self.splitter = QtGui.QSplitter()
    self.splitter.setObjectName("splitter")
    self.splitter.setStyleSheet(style.SPLITTER)

    leftWidget = QtGui.QWidget()
    leftLayout = QtGui.QVBoxLayout(leftWidget)

    self.rightWidget = QtGui.QWidget()
    self.rightLayout = QtGui.QVBoxLayout(self.rightWidget)
    self.rightGroup = URLDownloadingGroup()
    self.rightGroup.songAdded.connect(self.onSongAdded)
    self.rightLayout.addWidget(self.rightGroup)

    self.splitter.addWidget(leftWidget)
    self.splitter.addWidget(self.rightWidget)

    mainLayout.addWidget(self.splitter)

    groupbox = QtGui.QGroupBox("Your songs:")
    groupbox.setFont(StandardFont())
    gboxLayout = QtGui.QVBoxLayout()

    self.songList = QtGui.QListWidget()
    self.songList.setObjectName("listWidget")
    self.songList.setFont(StandardFont())
    self.songList.setStyleSheet(style.LIST_WIDGET)
    self.songList.itemDoubleClicked.connect(self.onItemDoubleClicked)

    content = ""
    self.names = {}
    with open("songlist.txt", 'a') as f:
      print("songlist.txt does exist\ncontinuing with initialization")
    with open("songlist.txt", 'r') as f:
      content = f.read()
    for song in content.split('\n'):
      if song != "":
        self.names[os.path.basename(song)] = song
        self.songList.addItem(os.path.basename(song))

    gboxLayout.addWidget(self.songList)
    groupbox.setLayout(gboxLayout)
    leftLayout.addWidget(groupbox)

    buttonLayout = QtGui.QHBoxLayout()
    self.playButton = QtGui.QPushButton("Play")
    self.playButton.setObjectName("playButton")
    self.playButton.setStyleSheet(style.button("playButton"))
    self.playButton.setFont(StandardFont())
    self.playButton.clicked.connect(self.playTriggered)
    buttonLayout.addWidget(self.playButton)

    pauseButton = QtGui.QPushButton("Pause")
    pauseButton.setObjectName("pauseButton")
    pauseButton.setStyleSheet(style.button("pauseButton"))
    pauseButton.setFont(StandardFont())
    pauseButton.clicked.connect(self.pauseTriggered)
    buttonLayout.addWidget(pauseButton)

    leftLayout.addLayout(buttonLayout)