def __init__(self): self.client = 28 self.port = 0 self.writer = sequencer.SequencerWrite() self.writer.subscribe_port(self.client, self.port) self.writer.start_sequencer() self.reader = sequencer.SequencerRead(sequencer_resolution=120) self.reader.subscribe_port(self.client, self.port) self.reader.start_sequencer() self.sliders = {} def listen_callback(dt): event = self.reader.event_read() while not (event is None): # print(event) self.process_event(event) event = self.reader.event_read() Clock.schedule_interval(listen_callback, 1.0 / 20.0)
client = sys.argv[1] port = sys.argv[2] filename = sys.argv[3] pattern = midi.read_midifile(filename) hardware = sequencer.SequencerHardware() if not client.isdigit: client = hardware.get_client(client) if not port.isdigit: port = hardware.get_port(port) seq = sequencer.SequencerWrite(sequencer_resolution=pattern.resolution) seq.subscribe_port(client, port) pattern.make_ticks_abs() events = [] for track in pattern: for event in track: events.append(event) events.sort() seq.start_sequencer() for event in events: buf = seq.event_write(event, False, False, True) if buf == None: continue if buf < 1000: time.sleep(.5)
client = sys.argv[1] port = sys.argv[2] filename = sys.argv[3] pattern = midi.read_midifile(filename) hardware = sequencer.SequencerHardware() if not client.isdigit: client = hardware.get_client(client) if not port.isdigit: port = hardware.get_port(port) seq = sequencer.SequencerWrite() seq.subscribe_port(client, port) seq.init_tempo(pattern.resolution) pattern.make_ticks_abs() events = [] for track in pattern: for event in track: events.append(event) events.sort() seq.start_sequencer() for event in events: buf = seq.event_write(event, False, False, True) if buf == None: continue if buf < 1000:
#!/usr/bin/python #-*- coding:utf-8 -*- from flask import Flask, request import json import time import threading import midi import midi.sequencer as sequencer import pygame import os from multiprocessing import Process, Queue hardware = sequencer.SequencerHardware() screen = sequencer.SequencerWrite(sequencer_resolution=220) screen.subscribe_port(20, 0) screen.start_sequencer() light = sequencer.SequencerWrite(sequencer_resolution=220) light.subscribe_port(24, 0) light.start_sequencer() app = Flask(__name__) Qvolume = Queue() Qmusicid = Queue() t = 0 nowmusic = 0 nowvolume = 1 def play(Qvolume, Qmusicid): global t, nowmusic, nowvolume
def get_writer_sequencer(self): (client, port) = self.get_loop_client_port() seq = sequencer.SequencerWrite(sequencer_resolution=self.RESOLUTION) seq.subscribe_port(client, port) return seq