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