Пример #1
0
module.exports = function renderReverb (node) {
  return h('ProcessorNode -reverb', {
    hooks: [ AcceptSampleHook(node) ]
  }, [
    Header(node, h('span', [
      h('strong', 'Reverb:'), ' ',
      h('span', computed(node.buffer, getSampleName))
    ])),
    h('ParamList', [
      Select(QueryParam(node, 'node'), {
        defaultValue: 'processor/convolution-reverb',
        options: nodeChoices
      }),
      SampleChooser(node),
      ModRange(node.low, {
        title: 'low',
        defaultValue: 0,
        format: 'dBn',
        flex: 'small'
      }),
      ModRange(node.mid, {
        title: 'mid',
        defaultValue: 0,
        format: 'dBn',
        flex: 'small'
      }),
      ModRange(node.high, {
        title: 'high',
        defaultValue: 0,
        format: 'dBn',
        flex: 'small'
      }),
      ModRange(node.highcut, {
        title: 'highcut',
        format: 'arfo',
        flex: 'small',
        defaultValue: 20000
      }),
      ModRange(node.lowcut, {
        title: 'lowcut',
        format: 'arfo',
        flex: 'small',
        defaultValue: 0
      }),
      ModRange(node.wet, {
        title: 'wet',
        defaultValue: 1,
        format: 'dB',
        flex: true
      }),
      ModRange(node.dry, {
        title: 'dry',
        defaultValue: 1,
        format: 'dB',
        flex: true
      })
    ])
  ])
}
Пример #2
0
module.exports = function(node){
  var data = node()


  return h('SourceNode -sample', [

    Header(node, h('span', [
      h('strong', 'Sample:'), ' ',
      h('span', getSampleName(data.buffer) || 'none')
    ])),

    h('ParamList', [

      SampleChooser(node),

      Select(node.mode, { 
        options: modeChoices 
      }),

      ModRange(node.amp, {
        title: 'amp',
        defaultValue: 1,
        format: 'dB',
        flex: true
      }),

      ModRange(node.transpose, {
        title: 'transpose',
        format: 'semitone',
        flex: true
      }),

      ModRange(node.tune, {
        title: 'tune',
        format: 'cents',
        flex: true
      })

    ]),

    SampleTrimmer(node)

  ])
}
Пример #3
0
module.exports = function renderSlicerChunk (node) {
  return renderChunk(node, {
    volume: true,
    main: [
      h('section', [

        h('ParamList', [
          h('div -block -flexSmall', [
            h('div', Range(IndexParam(node.shape, 0), {
              title: 'rows',
              format: 'bit',
              defaultValue: 1
            }))
          ]),
          h('div -block -flexSmall', [
            h('div', Range(IndexParam(node.shape, 1), {
              title: 'cols',
              format: 'bit',
              defaultValue: 1
            }))
          ]),
          ToggleButton(FlagParam(node.flags, 'noRepeat'), {
            title: 'Use Repeat',
            onValue: false,
            offValue: true
          })
        ])
      ]),

      h('h1', 'Audio Sample'),
      h('section', [

        h('ParamList', [
          SampleChooser(node.sample),
          Select(node.sample.mode, { options: triggerOptions }),
          ModRange(node.sample.amp, {
            title: 'amp',
            format: 'dB',
            flex: 'small',
            defaultValue: 1
          }),

          ModRange(node.sample.transpose, {
            title: 'transpose',
            format: 'semitone',
            flex: 'small',
            allowSpawnModulator: true,
            node: node,
            defaultValue: 0
          })
        ]),

        SampleTrimmer(node.sample)
      ]),

      h('h1', 'Slicing'),
      h('section', [
        h('ParamList', [
          Select(node.sliceMode, { options: sliceOptions }),
          ToggleButton(node.chokeAll, {
            title: 'Choke All'
          }),
          ToggleButton(node.stretch, {
            title: 'Timestretch'
          }),
          node.stretch() ? Range(node.tempo, {
            title: 'original bpm',
            format: 'bpm',
            flex: 'small',
            defaultValue: 100
          }) : null
        ])
      ]),

      h('h1', 'EQ'),
      h('section', [
        renderEqParams(node.eq)
      ]),

      h('h1', 'Routing'),
      h('section', [
        h('ParamList', [
          renderRouting(node)
        ])
      ])
    ]
  })
}