developing for live setup: mixer and playback controls - initial work
parent
45eac7a8f3
commit
36d38b8350
@ -0,0 +1,50 @@
|
||||
module.exports = {
|
||||
|
||||
init: function(){
|
||||
// this will be executed once when the osc server starts
|
||||
},
|
||||
|
||||
oscInFilter:function(data) {
|
||||
|
||||
var {host, port, address, args} = data
|
||||
|
||||
if (address === '/playing') {
|
||||
console.log(args)
|
||||
receive("/measure", args[0].value)
|
||||
receive("/beat", args[1].value)
|
||||
receive("/visual_click", 1)
|
||||
}
|
||||
|
||||
return
|
||||
|
||||
},
|
||||
|
||||
oscOutFilter:function(data) {
|
||||
|
||||
var {host, port, address, args} = data
|
||||
|
||||
if (address.substring(1, 6) == 'mixer') {
|
||||
tokens = address.split('/')
|
||||
ins = tokens[2]
|
||||
type = tokens[3]
|
||||
index = tokens[4]
|
||||
val = args[0].value
|
||||
args = [{'type': 's', 'value': ins}, {'type': 's', 'value': type}, {'type': 's', 'value': index}, {'type': 'f', 'value': val}]
|
||||
//console.log(data)
|
||||
address = '/mixer'
|
||||
return {host, port, address, args}
|
||||
}
|
||||
|
||||
if (address === '/transport') {
|
||||
return {host, port, address, args}
|
||||
}
|
||||
|
||||
return
|
||||
|
||||
},
|
||||
|
||||
unload: function(){
|
||||
// this will be executed when the custom module is reloaded
|
||||
},
|
||||
|
||||
}
|
@ -0,0 +1,569 @@
|
||||
{
|
||||
"createdWith": "Open Stage Control",
|
||||
"version": "1.24.0",
|
||||
"type": "session",
|
||||
"content": {
|
||||
"type": "root",
|
||||
"lock": false,
|
||||
"id": "root",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": "auto",
|
||||
"height": "auto",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorBg": "auto",
|
||||
"layout": "default",
|
||||
"justify": "start",
|
||||
"gridTemplate": "",
|
||||
"contain": true,
|
||||
"scroll": true,
|
||||
"innerPadding": true,
|
||||
"tabsPosition": "top",
|
||||
"hideMenu": false,
|
||||
"variables": "@{parent.variables}",
|
||||
"traversing": false,
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"widgets": [
|
||||
{
|
||||
"type": "matrix",
|
||||
"top": 240,
|
||||
"left": 40,
|
||||
"lock": false,
|
||||
"id": "mixer/berger/pan",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 570,
|
||||
"height": 50,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorBg": "auto",
|
||||
"layout": "horizontal",
|
||||
"justify": "start",
|
||||
"gridTemplate": "",
|
||||
"contain": true,
|
||||
"scroll": true,
|
||||
"innerPadding": true,
|
||||
"tabsPosition": "top",
|
||||
"variables": "@{parent.variables}",
|
||||
"traversing": false,
|
||||
"widgetType": "knob",
|
||||
"quantity": 6,
|
||||
"props": {},
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"widgets": [],
|
||||
"tabs": []
|
||||
},
|
||||
{
|
||||
"type": "matrix",
|
||||
"top": 20,
|
||||
"left": 40,
|
||||
"lock": false,
|
||||
"id": "mixer/berger/volume",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 570,
|
||||
"height": 220,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorBg": "auto",
|
||||
"layout": "horizontal",
|
||||
"justify": "start",
|
||||
"gridTemplate": "",
|
||||
"contain": true,
|
||||
"scroll": true,
|
||||
"innerPadding": true,
|
||||
"tabsPosition": "top",
|
||||
"variables": "@{parent.variables}",
|
||||
"traversing": false,
|
||||
"widgetType": "fader",
|
||||
"quantity": 6,
|
||||
"props": {},
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"widgets": [],
|
||||
"tabs": []
|
||||
},
|
||||
{
|
||||
"type": "matrix",
|
||||
"top": 290,
|
||||
"left": 40,
|
||||
"lock": false,
|
||||
"id": "mixer/berger/mute",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 570,
|
||||
"height": 40,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorBg": "auto",
|
||||
"layout": "horizontal",
|
||||
"justify": "start",
|
||||
"gridTemplate": "",
|
||||
"contain": true,
|
||||
"scroll": true,
|
||||
"innerPadding": true,
|
||||
"tabsPosition": "top",
|
||||
"variables": "@{parent.variables}",
|
||||
"traversing": false,
|
||||
"widgetType": "button",
|
||||
"quantity": 6,
|
||||
"props": {},
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"widgets": [],
|
||||
"tabs": []
|
||||
},
|
||||
{
|
||||
"type": "panel",
|
||||
"top": 20,
|
||||
"left": 610,
|
||||
"lock": false,
|
||||
"id": "mixer/string/master_panel",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 60,
|
||||
"height": 310,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorBg": "auto",
|
||||
"layout": "default",
|
||||
"justify": "start",
|
||||
"gridTemplate": "",
|
||||
"contain": true,
|
||||
"scroll": true,
|
||||
"innerPadding": true,
|
||||
"tabsPosition": "top",
|
||||
"variables": "@{parent.variables}",
|
||||
"traversing": false,
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"widgets": [
|
||||
{
|
||||
"type": "fader",
|
||||
"top": 0,
|
||||
"left": 0,
|
||||
"lock": false,
|
||||
"id": "mixer/berger/volume/master",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": "auto",
|
||||
"height": 300,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"design": "default",
|
||||
"knobSize": "auto",
|
||||
"horizontal": false,
|
||||
"pips": false,
|
||||
"dashed": false,
|
||||
"gradient": [],
|
||||
"snap": false,
|
||||
"spring": false,
|
||||
"doubleTap": false,
|
||||
"range": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
},
|
||||
"logScale": false,
|
||||
"sensitivity": 1,
|
||||
"steps": "",
|
||||
"origin": "auto",
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"onTouch": ""
|
||||
}
|
||||
],
|
||||
"tabs": []
|
||||
},
|
||||
{
|
||||
"type": "button",
|
||||
"top": 520,
|
||||
"left": 40,
|
||||
"lock": false,
|
||||
"id": "transport",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 80,
|
||||
"height": 30,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorTextOn": "auto",
|
||||
"label": "#{@{this} == 0 ? \"play\" : \"stop\"}",
|
||||
"vertical": false,
|
||||
"wrap": false,
|
||||
"on": 1,
|
||||
"off": 0,
|
||||
"mode": "toggle",
|
||||
"doubleTap": false,
|
||||
"decoupled": false,
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 0,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": true,
|
||||
"onCreate": "",
|
||||
"onValue": "if(value === 1){\n send(false, \"/transport\", 1);\n} else {\n send(false, \"/transport\", 0);\n}"
|
||||
},
|
||||
{
|
||||
"type": "panel",
|
||||
"top": 330,
|
||||
"left": 40,
|
||||
"lock": false,
|
||||
"id": "metronome",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 630,
|
||||
"height": 190,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"colorBg": "auto",
|
||||
"layout": "default",
|
||||
"justify": "start",
|
||||
"gridTemplate": "",
|
||||
"contain": true,
|
||||
"scroll": true,
|
||||
"innerPadding": true,
|
||||
"tabsPosition": "top",
|
||||
"variables": "@{parent.variables}",
|
||||
"traversing": false,
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": "",
|
||||
"widgets": [
|
||||
{
|
||||
"type": "input",
|
||||
"top": 0,
|
||||
"left": 0,
|
||||
"lock": false,
|
||||
"id": "measure",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 250,
|
||||
"height": 180,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": ":host {\n font-size: 120rem;\n}",
|
||||
"align": "center",
|
||||
"unit": "",
|
||||
"asYouType": false,
|
||||
"numeric": false,
|
||||
"validation": "",
|
||||
"maxLength": "",
|
||||
"value": 10,
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": ""
|
||||
},
|
||||
{
|
||||
"type": "text",
|
||||
"top": 10,
|
||||
"left": 250,
|
||||
"lock": false,
|
||||
"id": "text_3",
|
||||
"visible": true,
|
||||
"comments": "",
|
||||
"width": 50,
|
||||
"height": 130,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": ":host {\n font-size: 120rem;\n}",
|
||||
"vertical": false,
|
||||
"wrap": false,
|
||||
"align": "center",
|
||||
"value": ":",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"onCreate": "",
|
||||
"onValue": ""
|
||||
},
|
||||
{
|
||||
"type": "input",
|
||||
"top": 0,
|
||||
"left": 300,
|
||||
"lock": false,
|
||||
"id": "beat",
|
||||
"visible": true,
|
||||
"interaction": true,
|
||||
"comments": "",
|
||||
"width": 120,
|
||||
"height": 180,
|
||||
"expand": false,
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": ":host {\n font-size: 120rem;\n}",
|
||||
"align": "center",
|
||||
"unit": "",
|
||||
"asYouType": false,
|
||||
"numeric": false,
|
||||
"validation": "",
|
||||
"maxLength": "",
|
||||
"value": 10,
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"typeTags": "",
|
||||
"decimals": 2,
|
||||
"target": "",
|
||||
"ignoreDefaults": false,
|
||||
"bypass": false,
|
||||
"onCreate": "",
|
||||
"onValue": ""
|
||||
},
|
||||
{
|
||||
"type": "led",
|
||||
"top": 10,
|
||||
"left": 430,
|
||||
"lock": false,
|
||||
"id": "visual_click",
|
||||
"visible": true,
|
||||
"comments": "",
|
||||
"width": 180,
|
||||
"height": 160,
|
||||
"expand": "false",
|
||||
"colorText": "auto",
|
||||
"colorWidget": "auto",
|
||||
"colorStroke": "auto",
|
||||
"colorFill": "auto",
|
||||
"alphaStroke": "auto",
|
||||
"alphaFillOff": "auto",
|
||||
"alphaFillOn": "auto",
|
||||
"lineWidth": "auto",
|
||||
"borderRadius": "auto",
|
||||
"padding": "auto",
|
||||
"html": "",
|
||||
"css": "",
|
||||
"mode": "intensity",
|
||||
"range": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
},
|
||||
"alphaRange": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
},
|
||||
"logScale": false,
|
||||
"value": "",
|
||||
"default": "",
|
||||
"linkId": "",
|
||||
"address": "auto",
|
||||
"preArgs": "",
|
||||
"target": "",
|
||||
"onCreate": "",
|
||||
"onValue": "var fallTime = 0.3,\nfps = 24,\nmaxValue = 1,\nstep = maxValue / fps / fallTime\n\nsetTimeout(()=>{\n if (value <= 0) clearTimeout()\n set(\"this\", value - step)\n}, 1000 / fps)"
|
||||
}
|
||||
],
|
||||
"tabs": []
|
||||
}
|
||||
],
|
||||
"tabs": []
|
||||
}
|
||||
}
|
@ -0,0 +1,105 @@
|
||||
(
|
||||
|
||||
~bergerBusArray = 6.collect({Bus.audio(s, 1)});
|
||||
|
||||
Event.addEventType(\osc, {
|
||||
if (~addr.postln.notNil) {
|
||||
~msg.postln;
|
||||
~addr.sendMsg(~path, *~msg);
|
||||
};
|
||||
});
|
||||
|
||||
//create synth defs
|
||||
~bergerCreateSynthsForLive = {arg b;
|
||||
// this creates a different waveform for each sonification of each part
|
||||
Buffer.freeAll(s);
|
||||
b = 8.collect({var buf = Buffer.alloc(s, 512, 1); buf.sine1(1.0 / 5.collect({arg i; pow(i + 1, 5.0.rand + 1)}), true, true, true)});
|
||||
|
||||
SynthDef(\berger, {arg freq, amp = 0.2, del = 5, gate = 1, sustain = 1, buf = 0, out = 0;
|
||||
Out.ar(out, Osc.ar(Select.kr(buf, b), freq, 0, amp) * EnvGen.kr(Env.adsr(0.05, sustain, 0.25, 0.1), gate, 1, 0, 1, doneAction: 2));
|
||||
}).add;
|
||||
};
|
||||
|
||||
//sonify musical data
|
||||
~bergerCreatePatternsForLive = {arg seqs, group, addr;
|
||||
var pBinds, transportPattern;
|
||||
pBinds = seqs.collect({arg r, i;
|
||||
Pbind(\instrument, \berger,
|
||||
//\buf, Pseq((i - ((0..(r.slice(nil, 2).flat.size - 1)) / 10).trunc.asInteger) % 8),
|
||||
\group, group,
|
||||
\buf, i,
|
||||
\out, ~bergerBusArray[i],
|
||||
//\freq, Pseq(55 * r[1]),
|
||||
\freq, Pseq((55 * r[1]).cpsmidi.round(0.5).midicps),
|
||||
\dur, Pseq(r[0]),
|
||||
\sustain, Pseq(r[0]),
|
||||
\amp, Pseq(r[2] / 1) //4)
|
||||
)
|
||||
});
|
||||
|
||||
transportPattern = Pbind(
|
||||
\type, \osc,
|
||||
\addr, addr,
|
||||
\path, "/playing",
|
||||
\msg, Pseq(seqs[0][6].collect({arg beats, measure; beats.asInteger.collect({arg beat; [measure + 1, beat + 1]})}).flatten;, 1),
|
||||
\dur, 1
|
||||
);
|
||||
|
||||
Ppar(pBinds.add(transportPattern));
|
||||
};
|
||||
|
||||
|
||||
SynthDef(\mixer, {arg freq, gate = 1, sustain, amp, dur, out;
|
||||
var nameSpaces, sigs;
|
||||
|
||||
sigs = [~bergerBusArray].collect({arg busArray, i;
|
||||
var nameSpace, sig;
|
||||
nameSpace = ['berger', 'sine', 'bass', 'hdust', 'sampler'][i];
|
||||
sig = busArray.collect({arg bus, c; In.ar(bus, 1) * NamedControl.kr(\ ++ nameSpace ++ '_volume_' ++ c, 1, 0.1)});
|
||||
sig = sig.collect({arg channel, c; Pan2.ar(channel, NamedControl.kr(\ ++ nameSpace ++ '_pan_' ++ c, i / (busArray.size - 1), 0.1) * 2 - 1)});
|
||||
sig = sig.collect({arg channel, c; channel * NamedControl.kr(\ ++ nameSpace ++ '_mute_' ++ c, 1, 0.1)});
|
||||
sig = Mix.ar(sig) * pow(NamedControl.kr(\ ++ nameSpace ++ '_volume_master', 1, 0.5), 2);
|
||||
});
|
||||
|
||||
sigs = Mix.ar(sigs / 6);
|
||||
Out.ar(0, sigs)
|
||||
}).add;
|
||||
|
||||
)
|
||||
|
||||
(
|
||||
|
||||
var group, berger, mixer, player;
|
||||
|
||||
group = Group.new;
|
||||
berger = Synth.tail(group, \berger);
|
||||
mixer = Synth.tail(group, \mixer);
|
||||
|
||||
OSCdef(\mixer, {arg msg, time, addr, port;
|
||||
msg.postln;
|
||||
mixer.set((msg[1] ++ '_' ++ msg[2] ++ '_' ++ msg[3]), msg[4])
|
||||
}, \mixer);
|
||||
|
||||
OSCdef(\transport, {arg msg, time, addr, port;
|
||||
msg.postln;
|
||||
if(msg[1] == 0, {
|
||||
group.set(\release, 2);
|
||||
group.set(\gate, 0);
|
||||
player.stop;
|
||||
}, {
|
||||
var patterns = ~bergerCreatePatternsForLive.value(~bergerMusic, group, addr);
|
||||
player = Pfset(pattern: patterns, cleanupFunc: {
|
||||
addr.sendMsg("/transport", 0);
|
||||
});
|
||||
player = player.play
|
||||
});
|
||||
}, \transport);
|
||||
|
||||
)
|
||||
|
||||
/*
|
||||
~bergerCreateSynthsForLive.value;
|
||||
~patterns = ~bergerCreatePatternsForLive.value(~bergerMusic);
|
||||
~patterns.play
|
||||
~bergerMusic[0][6].collect({arg beats, measure; beats.asInteger.collect({arg beat; [measure + 1, beat + 1]})}).flatten;
|
||||
*/
|
Loading…
Reference in New Issue