class Player(object): def __init__(self, opts): self.streamHandler = StreamHandler(opts) def play(self, url, stream): self.streamHandler.play(url, stream) def playing(self): return self.streamHandler.playing() def close(self): self.streamHandler.close()
class Player(object): def __init__(self, opts): self.streamHandler = StreamHandler(opts) def play(self, url, stream): self.streamHandler.play(url, stream) def playing(self): return self.streamHandler.playing(); def close(self): self.streamHandler.close()
class Player(object): def __init__(self, opts): self.streamHandler = StreamHandler(opts) def play(self, url, stream): try: self.close() except: pass self.streamHandler.play(url, stream) def close(self): self.streamHandler.close()
def launchStreamWindow(self): dlg = StreamPickDialog() if dlg.exec_(): streamChoice = dlg.getChoice() if streamChoice == 'default': self.streamWindow = StreamWindow() self.streamWindow.msgPosted.connect(self.postStatus) self.streamWindow.show() else: self.msgLog.post(str("the following streaming script chosen:" + "\n" + str(streamChoice)), log=self.msgLog.actionLog) self.streamHandler = StreamHandler(streamChoice) self.streamHandler.msgPosted.connect(self.postStatus) self.streamHandler.run()
def main(): """ Main module of the TweetExtractor process. Take the first argument (which is the path to the configuration file), load the configuration information stored on it and connect to Twitter. Downloads from Twitter all the sample tweets matching with the query. """ #Only will work if the first argument is specified, in other case will show #usage of the process and will finish. try: file = sys.argv[1] confData=configure(file) filter=confData["Filter"] twitterAuth= createAuth(confData) twitterListener=StreamHandler(confData) twitterStream=tweepy.Stream(auth=twitterAuth,listener=twitterListener) #Filtering by filters defined in configuration and language=English twitterStream.filter(track=filter, languages=["en"]) except IndexError: print "Use of TweetExtractor:" print "\t TwwetExtractor.py configurationFile.json" except KeyboardInterrupt: exit(0)
def run(self): sh = StreamHandler() while sh.stream.is_active() and settings.is_streaming: try: sh.updateStream() except: print("incorrect file") sh.stopAll() sh.stream.stop_stream() sh.stream.close() sh.p.terminate()
def __init__(self, opts): self.streamHandler = StreamHandler(opts)
class ButtonPanel(QtGui.QWidget): logPackageRequested = QtCore.pyqtSignal() def __init__(self, msgLog): super(ButtonPanel, self).__init__() self.msgLog = msgLog self.streamWindow = None self.settingsWindow = None self.streamButton = QtGui.QPushButton() self.streamButton.setIcon(QtGui.QIcon('../img/stream.ico')) self.streamButton.setIconSize(QtCore.QSize(48, 48)) self.streamButton.setToolTip('Launch Stream Window') self.streamButton.clicked.connect(self.launchStreamWindow) self.snapshotButton = QtGui.QPushButton() self.snapshotButton.setIcon(QtGui.QIcon('../img/snapshot.ico')) self.snapshotButton.setIconSize(QtCore.QSize(48, 48)) self.snapshotButton.setToolTip('Take a Snapshot') self.snapshotButton.clicked.connect(self.takeSnapshot) self.startRecordingButton = QtGui.QPushButton() self.startRecordingButton.setIcon( QtGui.QIcon('../img/startRecording.ico')) self.startRecordingButton.setIconSize(QtCore.QSize(48, 48)) self.startRecordingButton.setToolTip('Start Recording') self.startRecordingButton.clicked.connect(self.startRecording) self.stopRecordingButton = QtGui.QPushButton() self.stopRecordingButton.setIcon( QtGui.QIcon('../img/stopRecording.ico')) self.stopRecordingButton.setIconSize(QtCore.QSize(48, 48)) self.stopRecordingButton.setToolTip('Stop Recording') self.stopRecordingButton.clicked.connect(self.stopRecording) self.transferButton = QtGui.QPushButton() self.transferButton.setIcon(QtGui.QIcon('../img/transfer.ico')) self.transferButton.setIconSize(QtCore.QSize(48, 48)) self.transferButton.setToolTip('Transfer Experiment') self.transferButton.clicked.connect(self.transferExperiment) self.plotButton = QtGui.QPushButton() self.plotButton.setIcon(QtGui.QIcon('../img/plot.ico')) self.plotButton.setIconSize(QtCore.QSize(48, 48)) self.plotButton.setToolTip('Launch Plot Window') self.plotButton.clicked.connect(self.plotData) self.impedanceButton = QtGui.QPushButton() self.impedanceButton.setIcon(QtGui.QIcon('../img/impedance.png')) self.impedanceButton.setIconSize(QtCore.QSize(48, 48)) self.impedanceButton.setToolTip('Run Impedance Test') self.impedanceButton.clicked.connect(self.handleImpedanceStart) self.settingsButton = QtGui.QPushButton() self.settingsButton.setIcon(QtGui.QIcon('../img/settings.png')) self.settingsButton.setIconSize(QtCore.QSize(48, 48)) self.settingsButton.setToolTip('Configure Settings') self.settingsButton.clicked.connect(self.configureSettings) self.logPackageLabel = QtGui.QLabel( 'Zip error logs (for bug reporting)') self.logPackageButton = QtGui.QPushButton('Zip logs') self.logPackageButton.pressed.connect(self.logPackageRequested) layout = QtGui.QVBoxLayout() logPackageLayout = QtGui.QGridLayout() logPackageLayout.addWidget(self.logPackageLabel, 0, 0) logPackageLayout.addWidget(self.logPackageButton, 0, 1) layout.addLayout(logPackageLayout) gridLayout = QtGui.QGridLayout() gridLayout.addWidget(self.streamButton, 0, 0) gridLayout.addWidget(self.snapshotButton, 0, 1) gridLayout.addWidget(self.startRecordingButton, 1, 0) gridLayout.addWidget(self.stopRecordingButton, 1, 1) gridLayout.addWidget(self.transferButton, 2, 0) gridLayout.addWidget(self.plotButton, 2, 1) gridLayout.addWidget(self.impedanceButton, 3, 0) gridLayout.addWidget(self.settingsButton, 3, 1) layout.addLayout(gridLayout) self.subprocessThreads = [] self.setLayout(layout) def runImpedanceTest(self): dlg = ImpedanceDialog() if dlg.exec_(): params = dlg.getParams() self.impedanceProgressDialog = QtGui.QProgressDialog( 'Impedance Testing Progress', 'Cancel', 0, 10) self.impedanceProgressDialog.setAutoReset(False) self.impedanceProgressDialog.setMinimumDuration(0) self.impedanceProgressDialog.setModal(False) self.impedanceProgressDialog.setWindowTitle( 'Impedance Testing Progress') self.impedanceProgressDialog.setWindowIcon( QtGui.QIcon('../img/round_logo_60x60.png')) self.impedanceThread = ImpedanceThread(params) self.impedanceThread.progressUpdated.connect( self.impedanceProgressDialog.setValue) self.impedanceThread.maxChanged.connect( self.impedanceProgressDialog.setMaximum) self.impedanceThread.textChanged.connect( self.impedanceProgressDialog.setLabelText) self.impedanceThread.finished.connect( self.impedanceProgressDialog.reset) self.impedanceThread.msgPosted.connect(self.postStatus) self.impedanceThread.dataReady.connect( self.launchImpedancePlotWindow) self.impedanceProgressDialog.canceled.connect( self.impedanceThread.handleCancel) self.impedanceProgressDialog.show() self.impedanceThread.start() def configureSettings(self): self.settingsWindow = SettingsWindow() self.settingsWindow.show() def launchStreamWindow(self): dlg = StreamPickDialog() if dlg.exec_(): streamChoice = dlg.getChoice() if streamChoice == 'default': self.streamWindow = StreamWindow() self.streamWindow.msgPosted.connect(self.postStatus) self.streamWindow.show() else: self.msgLog.post(str("the following streaming script chosen:" + "\n" + str(streamChoice)), log=self.msgLog.actionLog) self.streamHandler = StreamHandler(streamChoice) self.streamHandler.msgPosted.connect(self.postStatus) self.streamHandler.run() def takeSnapshot(self): dlg = SnapshotDialog() if dlg.exec_(): params = dlg.getParams() self.msgLog.post(str("the following snapshot params requested:" + "\n" + str(params)), log=self.msgLog.actionLog) self.snapshotThread = SnapshotThread(params) self.snapshotProgressDialog = QtGui.QProgressDialog( 'Taking Snapshot..', 'Cancel', 0, 0) self.snapshotProgressDialog.setModal(True) self.snapshotProgressDialog.setWindowTitle('Snapshot Progress') self.snapshotProgressDialog.setWindowIcon( QtGui.QIcon('../img/round_logo_60x60.png')) self.snapshotProgressDialog.canceled.connect( self.snapshotThread.handleCancel) self.snapshotThread.msgPosted.connect( self.postStatus) # TODO see others self.snapshotThread.finished.connect( self.snapshotProgressDialog.reset) # necessary? self.snapshotThread.finished.connect(self.handleSnapshotFinished) self.snapshotProgressDialog.show() self.snapshotThread.start() def handleSnapshotFinished(self, params): finalAction = params['whenFinished'][0] if finalAction == -3: # "willowgui data explorer" self.launchPlotWindow(params['filename']) elif finalAction == -4: # custom script sat = SnapshotAnalysisThread(params) sat.msgPosted.connect(self.postStatus) self.subprocessThreads.append( sat) # necessary to prevent garbage collection sat.start() def startRecording(self): try: hwif.startRecording() self.msgLog.post('Started recording.') except hwif.AlreadyError: self.msgLog.post('Already recording.') except hwif.hwifError as e: self.msgLog.post(e.message) def stopRecording(self): try: hwif.stopRecording() self.msgLog.post('Stopped recording.') except hwif.AlreadyError: self.msgLog.post('Already not recording.') except hwif.hwifError as e: self.msgLog.post(e.message) def handleImpedanceStart(self): try: if hwif.isRecording(): self.msgLog.post( 'Cannot check impedance while recording. Please complete recording and try again.' ) return elif hwif.isStreaming(): self.msgLog.post( 'Halting current data stream to perform impedance test.') self.streamWindow.stopStreaming() self.runImpedanceTest() else: self.runImpedanceTest() except hwif.hwifError as e: self.msgLog.post(e.message) def handleDiskFillup(self): try: hwif.stopRecording() sampleIndex = hwif.getSataBSI() self.msgLog.post( 'Disk fillup detected! Recording stopped at sample index %d' % sampleIndex) except hwif.AlreadyError: self.msgLog.post('Already not recording.') except hwif.hwifError as e: self.msgLog.post(e.message) def transferExperiment(self): dlg = TransferDialog() if dlg.exec_(): params = dlg.getParams() self.msgLog.post(str("the following transfer params requested:" + "\n" + str(params)), log=self.msgLog.actionLog) self.transferThread = TransferThread(params) self.transferProgressDialog = QtGui.QProgressDialog( 'Transferring Experiment..', 'Cancel', 0, 0) self.transferProgressDialog.setWindowTitle('Transfer Progress') self.transferProgressDialog.setWindowIcon( QtGui.QIcon('../img/round_logo_60x60.png')) self.transferProgressDialog.canceled.connect( self.transferThread.handleCancel) self.transferThread.statusUpdated.connect(self.postStatus) self.transferThread.finished.connect( self.transferProgressDialog.reset) self.transferProgressDialog.show() self.transferThread.start() def postStatus(self, msg): self.msgLog.post(msg) def plotData(self): filename = QtGui.QFileDialog.getOpenFileName(self, 'Import Data File', config.dataDir) if filename: filename = str(filename) self.msgLog.post(str("imported:" + "\n" + filename), log=self.msgLog.actionLog) if isCalibrationFile(filename): self.msgLog.post("(calibration file)", log=self.msgLog.actionLog) self.launchImpedancePlotWindow(filename) elif isSnapshotFile(filename): self.msgLog.post("(snapshot file)", log=self.msgLog.actionLog) dlg = SnapshotImportDialog() if dlg.exec_(): params = dlg.getParams() if params['customScript']: # TODO make this consistent with the original SAI routines params['filename'] = filename params['whenFinished'] = (-4, params['customScript']) sat = SnapshotAnalysisThread(params) sat.msgPosted.connect(self.postStatus) self.subprocessThreads.append( sat) # necessary to prevent garbage collection sat.start() else: self.launchPlotWindow(filename) else: self.msgLog.post("(experiment file)", log=self.msgLog.actionLog) self.launchPlotWindow(filename) def launchPlotWindow(self, filename): self.plotWindow = DataExplorerWindow(filename) self.plotWindow.show() def launchImpedancePlotWindow(self, filename): self.impedancePlotWindow = ImpedancePlotWindow(str(filename)) self.impedancePlotWindow.show()
# MIDI files copyright holder # Name: Bernd Krueger Source: http://www.piano-midi.de # Colin Raffel and Daniel P. W. Ellis. # Intuitive Analysis, Creation and Manipulation of MIDI Data with pretty_midi. # In 15th International Conference on Music Information Retrieval Late Breaking and Demo Papers, 2014. from MidiHandler import MidiHandler from StreamHandler import StreamHandler if __name__ == "__main__": handler = MidiHandler() handler.clear_data() handler.toggle_uniform_tempo() handler.prepare_data() s = handler.get_data() handler2 = StreamHandler(s) handler2.prepare_data() x, y = handler2.get_data()