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)
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)