Skip to content

Commit

Permalink
Implementing patterns, events, and clocks.
Browse files Browse the repository at this point in the history
  • Loading branch information
josiah-wolf-oberholtzer committed Sep 20, 2016
1 parent 9a90dce commit 60123bb
Show file tree
Hide file tree
Showing 85 changed files with 4,565 additions and 809 deletions.
3 changes: 3 additions & 0 deletions .ajv
@@ -0,0 +1,3 @@
[doctest]
imports =
from supriya import *
5 changes: 3 additions & 2 deletions setup.py
Expand Up @@ -8,9 +8,9 @@
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'

install_requires = [
'abjad',
'abjad>=2.18',
'pexpect',
'pytest',
'pytest>=3.0.0',
'six',
'sphinx>=1.3.1',
'sphinx_rtd_theme',
Expand All @@ -23,6 +23,7 @@
install_requires.append('pathlib2')
if StrictVersion(version) < StrictVersion('3.3.0'):
install_requires.append('funcsigs')
install_requires.append('mock')

if not on_rtd:
install_requires.extend([
Expand Down
4 changes: 2 additions & 2 deletions supriya/__init__.py
Expand Up @@ -22,6 +22,6 @@
from supriya.tools.synthdeftools import SynthDefBuilder
from supriya.tools.systemtools import Assets

from supriya import synthdefs
#from supriya import synthdefs

from abjad.tools.topleveltools import graph
from abjad.tools.topleveltools import graph, new
34 changes: 7 additions & 27 deletions supriya/synthdefs/default.py
Expand Up @@ -37,59 +37,39 @@ def _build_default_synthdef():
)

with builder:

low_pass = ugentools.LPF.ar(
source=ugentools.Mix.new(
ugentools.VarSaw.ar(
frequency=builder['frequency'] + (
0,
ugentools.Rand.ir(
minimum=-0.4,
maximum=0.,
),
ugentools.Rand.ir(
minimum=0.,
maximum=0.4,
),
ugentools.Rand.ir(minimum=-0.4, maximum=0.),
ugentools.Rand.ir(minimum=0., maximum=0.4),
),
width=0.3,
),
) * 0.3,
frequency=ugentools.XLine.kr(
start=ugentools.Rand.ir(
minimum=4000,
maximum=5000,
),
stop=ugentools.Rand.ir(
minimum=2500,
maximum=3200,
),
start=ugentools.Rand.ir(minimum=4000, maximum=5000),
stop=ugentools.Rand.ir(minimum=2500, maximum=3200),
)
)

linen = ugentools.Linen.kr(
attack_time=0.01,
done_action=2,
gate=builder['gate'],
release_time=0.3,
sustain_level=0.7,
)

pan = ugentools.Pan2.ar(
source=low_pass * linen * builder['amplitude'],
position=builder['pan'],
)

ugentools.OffsetOut.ar(
bus=builder['out'],
source=pan,
)

synthdef = builder.build(name='default')
ugentools.OffsetOut.ar(bus=builder['out'], source=pan)
synthdef = builder.build()
return synthdef

default = _build_default_synthdef()

__all__ = (
'default',
)
)
2 changes: 1 addition & 1 deletion supriya/tools/__init__.py
Expand Up @@ -5,12 +5,12 @@

# Load systemtools dependencies second
from supriya.tools import bindingtools
from supriya.tools import clocktools
from supriya.tools import dawtools
from supriya.tools import documentationtools
from supriya.tools import miditools
from supriya.tools import nonrealtimetools
from supriya.tools import osctools
from supriya.tools import patterntools
from supriya.tools import requesttools
from supriya.tools import responsetools
from supriya.tools import scripttools
Expand Down
8 changes: 4 additions & 4 deletions supriya/tools/bindingtools/Binding.py
Expand Up @@ -31,7 +31,7 @@ class Binding(SupriyaObject):
::
>>> binding = bind(source, target, range_=(0., 127.))
>>> binding = bind(source, target, target_range=(0., 127.))
>>> for i in range(11):
... source._send_bound_event(float(i) / 10.)
...
Expand All @@ -55,7 +55,7 @@ class Binding(SupriyaObject):
::
>>> binding = bind(source, target, range_=(0., 127.), exponent=2.)
>>> binding = bind(source, target, target_range=(0., 127.), exponent=2.)
>>> for i in range(11):
... source._send_bound_event(float(i) / 10.)
...
Expand Down Expand Up @@ -100,14 +100,14 @@ def __init__(self):

def __call__(self, event=None):
from supriya.tools import synthdeftools
if self._source_range is not None and self._target_range is not None:
if self._target_range is not None:
event = float(event)
exponent = self._exponent
if exponent is None:
exponent = 1.0
event = synthdeftools.Range.scale(
event,
self._source_range,
self._source_range or synthdeftools.Range(0., 1.),
self._target_range,
exponent=exponent,
)
Expand Down
13 changes: 6 additions & 7 deletions supriya/tools/bindingtools/BindingInput.py
Expand Up @@ -19,12 +19,11 @@ def __init__(self, output_range=None):
output_range=output_range,
)

### PRIVATE PROPERTIES ###
### PRIVATE METHODS ###

@property
def _storage_format_specification(self):
def _get_format_specification(self):
from abjad.tools import systemtools
return systemtools.StorageFormatSpecification(
self,
keyword_argument_names=(),
)
return systemtools.FormatSpecification(
client=self,
storage_format_kwargs_names=[],
)
4 changes: 2 additions & 2 deletions supriya/tools/bindingtools/bind.py
@@ -1,8 +1,8 @@
# -*- encoding: utf -*-


def bind(source, target, range_=None, exponent=None):
def bind(source, target, target_range=None, exponent=None):
from supriya.tools import bindingtools
binding = bindingtools.Binding()
binding.bind(source, target, range_=range_, exponent=exponent)
binding.bind(source, target, target_range=target_range, exponent=exponent)
return binding
123 changes: 0 additions & 123 deletions supriya/tools/clocktools/Clock.py

This file was deleted.

69 changes: 0 additions & 69 deletions supriya/tools/clocktools/Event.py

This file was deleted.

0 comments on commit 60123bb

Please sign in to comment.