Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- In [1]: from sardine import *
- 32949
- ░██████╗░█████╗░██████╗░██████╗░██╗███╗░░██╗███████╗
- ██╔════╝██╔══██╗██╔══██╗██╔══██╗██║████╗░██║██╔════╝
- ╚█████╗░███████║██████╔╝██║░░██║██║██╔██╗██║█████╗░░
- ░╚═══██╗██╔══██║██╔══██╗██║░░██║██║██║╚████║██╔══╝░░
- ██████╔╝██║░░██║██║░░██║██████╔╝██║██║░╚███║███████╗
- ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚═╝╚═╝░░╚══╝╚══════╝
- Sardine is a MIDI/OSC sequencer made for live-coding
- Play music, read the docs, contribute, and have fun!
- BPM: 135, BEATS: 4 SC: [ ], DEFERRED: [X] MIDI: Sardine
- Booting without SuperCollider!
- ---------------------------------------------------------------------------
- AttributeError Traceback (most recent call last)
- Cell In [1], line 1
- ----> 1 from sardine import *
- File ~/Art/Sardine/sardine/__init__.py:90
- 87 print("[green]Booting without SuperCollider![/green]")
- 89 # Starting the default Clock
- ---> 90 c = Clock(
- 91 midi_port=config.midi,
- 92 bpm=config.bpm,
- 93 beats_per_bar=config.beats,
- 94 ppqn=config.ppqn,
- 95 deferred_scheduling=config.deferred_scheduling,
- 96 )
- 98 # Synonyms for swimming function management
- 99 cs = again = anew = a = c.schedule_func
- File ~/Art/Sardine/sardine/clock/Clock.py:100, in Clock.__init__(self, midi_port, ppqn, bpm, beats_per_bar, deferred_scheduling)
- 92 def __init__(
- 93 self,
- 94 midi_port: Optional[str],
- (...)
- 98 deferred_scheduling: bool = True,
- 99 ):
- --> 100 self._midi = MIDIIo(port_name=midi_port, clock=self)
- 101 self._osc = Client(
- 102 ip="127.0.0.1", port=12345, name="SardineOsc", ahead_amount=0
- 103 )
- 105 # Clock parameters
- File ~/Art/Sardine/sardine/io/MidiIo.py:40, in MIDIIo.__init__(self, clock, port_name, at)
- 28 """Open a MIDI Output Port. A name can be given, corresponding to
- 29 the name of a valid currently opened MIDI port on the given system.
- 30 If the name is invalid or if the port couldn't be found, the user
- (...)
- 35 a new virtual port will spawn, named Sardine.
- 36 """
- 38 threading.Thread.__init__(self)
- ---> 40 self._midi_ports = mido.get_output_names()
- 41 self.port_name = port_name
- 42 self.clock = clock
- File ~/Envs/art/lib/python3.9/site-packages/mido/backends/backend.py:175, in Backend.get_output_names(self, **kwargs)
- 173 def get_output_names(self, **kwargs):
- 174 """Return a list of all output port names."""
- --> 175 devices = self._get_devices(**self._add_api(kwargs))
- 176 names = [device['name'] for device in devices if device['is_output']]
- 177 return names
- File ~/Envs/art/lib/python3.9/site-packages/mido/backends/backend.py:163, in Backend._get_devices(self, **kwargs)
- 161 def _get_devices(self, **kwargs):
- 162 if hasattr(self.module, 'get_devices'):
- --> 163 return self.module.get_devices(**self._add_api(kwargs))
- 164 else:
- 165 return []
- File ~/Envs/art/lib/python3.9/site-packages/mido/backends/rtmidi.py:50, in get_devices(api, **kwargs)
- 47 def get_devices(api=None, **kwargs):
- 48 devices = []
- ---> 50 rtapi = _get_api_id(api)
- 52 mi = rtmidi.MidiIn(rtapi=rtapi)
- 53 mo = rtmidi.MidiOut(rtapi=rtapi)
- File ~/Envs/art/lib/python3.9/site-packages/mido/backends/rtmidi.py:34, in _get_api_id(name)
- 32 def _get_api_id(name=None):
- 33 if name is None:
- ---> 34 return rtmidi.API_UNSPECIFIED
- 36 try:
- 37 api = _name_to_api[name]
- AttributeError: module 'rtmidi' has no attribute 'API_UNSPECIFIED'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement