Merge branch 'main' of ssh://213.61.58.36:2222/kieran-mcauliffe/healing-soundscapes

This commit is contained in:
Xiao Fu 2025-02-01 22:54:28 +01:00
commit 77eae76815
28 changed files with 25381 additions and 357298 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

18421
HSS_NOT.json Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@
"Djster.µbus[0]::attenuation" : [ 15.0 ],
"Djster.µbus[0]::chordal_weight" : [ 1.0 ],
"Djster.µbus[0]::dynamics" : [ 64.0 ],
"Djster.µbus[0]::event_length" : [ 3749.999999999995907 ],
"Djster.µbus[0]::event_length" : [ 10000.0 ],
"Djster.µbus[0]::event_length_display_style" : [ 0.0 ],
"Djster.µbus[0]::eventfulness" : [ 0.0 ],
"Djster.µbus[0]::global_transport_active" : [ 1.0 ],
@ -4190,7 +4190,7 @@
"Djster.µbus[1]::attenuation" : [ 20.0 ],
"Djster.µbus[1]::chordal_weight" : [ 1.0 ],
"Djster.µbus[1]::dynamics" : [ 60.0 ],
"Djster.µbus[1]::event_length" : [ 3749.999999999995907 ],
"Djster.µbus[1]::event_length" : [ 10000.0 ],
"Djster.µbus[1]::event_length_display_style" : [ 0.0 ],
"Djster.µbus[1]::eventfulness" : [ 0.0 ],
"Djster.µbus[1]::global_transport_active" : [ 1.0 ],

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
00:00, 0.111111 0.093878; 00:30, 0.111111 0.093878; 01:00, 0.111111 0.093878; 01:30, 0.111111 0.093878; 02:00, 0.111111 0.093878; 02:30, 0.333333 0.102041; 03:00, 0.333333 0.102041; 03:30, 0.333333 0.102041; 04:00, 0.333333 0.102041; 04:30, 0.492063 0.093878; 05:00, 0.492063 0.093878; 05:30, 0.492063 0.093878; 06:00, 0.674603 0.102041; 06:30, 0.849206 0.477551; 07:00, 0.888889 0.877551; 07:30, 0.888889 0.877551; 08:00, 0.888889 0.877551; 08:30, 0.888889 0.877551; 09:00, 0.714286 0.746939; 09:30, 0.714286 0.746939; 10:00, 0.714286 0.746939; 10:30, 0.515873 0.502041; 11:00, 0.515873 0.502041; 11:30, 0.515873 0.502041; 12:00, 0.507937 0.502041; 12:30, 0.507937 0.502041; 13:00, 0.507937 0.502041; 13:30, 0.507937 0.502041; 14:00, 0.730159 0.355102; 14:30, 0.730159 0.355102; 15:00, 0.896825 0.110204; 15:30, 0.896825 0.110204; 16:00, 0.896825 0.110204; 16:30, 0.904762 0.477551; 17:00, 0.904762 0.477551; 17:30, 0.84127 0.665306; 18:00, 0.84127 0.665306; 18:30, 0.888889 0.877551; 19:00, 0.888889 0.877551; 19:30, 0.507937 0.534694; 20:00, 0.507937 0.534694; 20:30, 0.507937 0.534694; 21:00, 0.507937 0.534694; 21:30, 0.277778 0.738776; 22:00, 0.277778 0.738776; 22:30, 0.071429 0.559184; 23:00, 0.087302 0.134694; 23:30, 0.087302 0.134694;

View File

@ -0,0 +1 @@
00:00, 0.277778 0.232653; 00:30, 0 0; 01:00, 0.47619 0.061224; 01:30, 0 0; 02:00, 0 0; 02:30, 0 0; 03:00, 0.706349 0.257143; 03:30, 0 0; 04:00, 0.793651 0.510204; 04:30, 0 0; 05:00, 0 0; 05:30, 0 0; 06:00, 0.928571 0.363265; 06:30, 0 0; 07:00, 0.714286 0.493878; 07:30, 0 0; 08:00, 0.5 0.779592; 08:30, 0 0; 09:00, 0.349206 0.657143; 09:30, 0 0; 10:00, 0.230159 0.755102; 10:30, 0 0; 11:00, 0.619048 0.771429; 11:30, 0 0; 12:00, 0.833333 0.510204; 12:30, 0 0; 13:00, 0.746032 0.314286; 13:30, 0 0; 14:00, 0.634921 0.142857; 14:30, 0 0; 15:00, 0.507937 0.502041; 15:30, 0 0; 16:00, 0.119048 0.893878; 16:30, 0 0; 17:00, 0.539683 0.893878; 17:30, 0 0; 18:00, 0.904762 0.885714; 18:30, 0 0; 19:00, 0.904762 0.665306; 19:30, 0 0; 20:00, 0.912698 0.502041; 20:30, 0 0; 21:00, 0.912698 0.314286; 21:30, 0 0; 22:00, 0.912698 0.102041; 22:30, 0 0; 23:00, 0.666667 0.110204; 23:30, 0 0;

View File

@ -0,0 +1 @@
00:00, 0.730159 0.265306; 00:30, 0 0; 01:00, 0 0; 01:30, 0 0; 02:00, 0.5 0.167347; 02:30, 0 0; 03:00, 0 0; 03:30, 0 0; 04:00, 0.706349 0.314286; 04:30, 0 0; 05:00, 0 0; 05:30, 0 0; 06:00, 0.833333 0.493878; 06:30, 0 0; 07:00, 0 0; 07:30, 0 0; 08:00, 0.5 0.779592; 08:30, 0 0; 09:00, 0.5 0.493878; 09:30, 0 0; 10:00, 0 0; 10:30, 0.253968 0.763265; 11:00, 0 0; 11:30, 0 0; 12:00, 0.801587 0.722449; 12:30, 0 0; 13:00, 0.777778 0.240816; 13:30, 0 0; 14:00, 0.507937 0.363265; 14:30, 0 0; 15:00, 0 0; 15:30, 0.230159 0.257143; 16:00, 0 0; 16:30, 0.206349 0.510204; 17:00, 0 0; 17:30, 0 0; 18:00, 0.730159 0.706122; 18:30, 0 0; 19:00, 0 0; 19:30, 0 0; 20:00, 0.5 0.502041; 20:30, 0 0; 21:00, 0 0; 21:30, 0 0; 22:00, 0.904762 0.085714; 22:30, 0 0; 23:00, 0 0; 23:30, 0 0;

View File

@ -0,0 +1 @@
00:00, 0.318122 0.065112; 00:30, 0.261432 0.060253; 01:00, 0.190571 0.065112; 01:30, 0.117347 0.057823; 02:00, 0.047619 0.044898; 02:30, 0.089002 0.079689; 03:00, 0.133881 0.133139; 03:30, 0.188209 0.18173; 04:00, 0.242536 0.23518; 04:30, 0.285053 0.283771; 05:00, 0.33938 0.344509; 05:30, 0.405518 0.407677; 06:00, 0.507937 0.493878; 06:30, 0.405518 0.6069; 07:00, 0.353552 0.65792; 07:30, 0.296863 0.701652; 08:00, 0.24726 0.752673; 08:30, 0.195295 0.803693; 09:00, 0.152778 0.847425; 09:30, 0.114985 0.891156; 10:00, 0.071429 0.95102; 10:30, 0.126795 0.954325; 11:00, 0.240174 0.944606; 11:30, 0.355915 0.942177; 12:00, 0.507937 0.934694; 12:30, 0.639361 0.944606; 13:00, 0.736206 0.951895; 13:30, 0.85667 0.947036; 14:00, 0.928571 0.942857; 14:30, 0.939342 0.886297; 15:00, 0.934618 0.815841; 15:30, 0.929894 0.752673; 16:00, 0.934618 0.614189; 16:30, 0.941704 0.570457; 17:00, 0.920635 0.510204; 17:30, 0.934618 0.390671; 18:00, 0.932256 0.291059; 18:30, 0.934618 0.244898; 19:00, 0.939342 0.189018; 19:30, 0.934618 0.12828; 20:00, 0.944444 0.053061; 20:30, 0.889739 0.060253; 21:00, 0.82124 0.060253; 21:30, 0.748016 0.062682; 22:00, 0.698413 0.065112; 22:30, 0.627551 0.060253; 23:00, 0.5 0.069388; 23:30, 0.386621 0.062682;

View File

@ -0,0 +1 @@
00:00, 0.318122 0.065112; 00:30, 0.261432 0.060253; 01:00, 0.190571 0.065112; 01:30, 0.117347 0.057823; 02:00, 0.047619 0.044898; 02:30, 0.089002 0.079689; 03:00, 0.133881 0.133139; 03:30, 0.188209 0.18173; 04:00, 0.242536 0.23518; 04:30, 0.285053 0.283771; 05:00, 0.33938 0.344509; 05:30, 0.405518 0.407677; 06:00, 0.507937 0.493878; 06:30, 0.405518 0.6069; 07:00, 0.353552 0.65792; 07:30, 0.296863 0.701652; 08:00, 0.24726 0.752673; 08:30, 0.195295 0.803693; 09:00, 0.152778 0.847425; 09:30, 0.114985 0.891156; 10:00, 0.071429 0.95102; 10:30, 0.126795 0.954325; 11:00, 0.240174 0.944606; 11:30, 0.355915 0.942177; 12:00, 0.507937 0.934694; 12:30, 0.639361 0.944606; 13:00, 0.736206 0.951895; 13:30, 0.85667 0.947036; 14:00, 0.928571 0.942857; 14:30, 0.939342 0.886297; 15:00, 0.934618 0.815841; 15:30, 0.929894 0.752673; 16:00, 0.934618 0.614189; 16:30, 0.941704 0.570457; 17:00, 0.920635 0.510204; 17:30, 0.934618 0.390671; 18:00, 0.932256 0.291059; 18:30, 0.934618 0.244898; 19:00, 0.939342 0.189018; 19:30, 0.934618 0.12828; 20:00, 0.944444 0.053061; 20:30, 0.889739 0.060253; 21:00, 0.82124 0.060253; 21:30, 0.748016 0.062682; 22:00, 0.698413 0.065112; 22:30, 0.627551 0.060253; 23:00, 0.5 0.069388; 23:30, 0.386621 0.062682;

View File

@ -0,0 +1 @@
00:00, 0.5 0.502041; 00:30, 0.539683 0.591837; 01:00, 0 0; 01:30, 0 0; 02:00, 0 0; 02:30, 0 0; 03:00, 0 0; 03:30, 0 0; 04:00, 0 0; 04:30, 0 0; 05:00, 0 0; 05:30, 0 0; 06:00, 0 0; 06:30, 0 0; 07:00, 0 0; 07:30, 0 0; 08:00, 0 0; 08:30, 0 0; 09:00, 0 0; 09:30, 0 0; 10:00, 0 0; 10:30, 0 0; 11:00, 0 0; 11:30, 0 0; 12:00, 0 0; 12:30, 0 0; 13:00, 0 0; 13:30, 0 0; 14:00, 0 0; 14:30, 0 0; 15:00, 0 0; 15:30, 0 0; 16:00, 0 0; 16:30, 0 0; 17:00, 0 0; 17:30, 0 0; 18:00, 0 0; 18:30, 0 0; 19:00, 0 0; 19:30, 0 0; 20:00, 0 0; 20:30, 0 0; 21:00, 0 0; 21:30, 0 0; 22:00, 0 0; 22:30, 0 0; 23:00, 0 0; 23:30, 0 0;

View File

@ -226,15 +226,19 @@ svg.push({
addSlider(i, "player" + i, "Attenuation", "attenuation", j++, [0, 100], 1, 15, "this.value", "this.value");
}
createSpatBox();
addSlider(-1, "roomDIV", "Gain (dB)", "gain", 2, [-70, 6], 1, -10, "this.value", "this.value");
addSlider(-1, "roomDIV", "Room Size", "roomsize", 3, [1, 300], 1, 75, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Rev. Time (ms)", "amount", 4, [0.5, 15], 0.1, 11, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Spread", "spread", 5, [0, 100], 1, 23, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Bandwidth", "bandwidth", 6, [0, 100], 1, 50, "this.value", "this.value"); //50
addSlider(-1, "roomDIV", "Damping", "damping", 7, [0, 100], 1, 70, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Early", "early", 8, [0, 100], 1, 25, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Tail", "tail", 9, [0, 100], 1, 25, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Dry", "dry", 10, [0, 100], 1, 100, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Level 1 (dB)", "level_1", 2, [-70, 6], 1, -10, "this.value", "this.value");
addSlider(-1, "roomDIV", "Level 2 (dB)", "level_2", 3, [-70, 6], 1, -10, "this.value", "this.value");
addSlider(-1, "roomDIV", "Level 3 (dB)", "level_3", 4, [-70, 6], 1, -10, "this.value", "this.value");
addSlider(-1, "roomDIV", "Level 4 (dB)", "level_4", 5, [-70, 6], 1, -10, "this.value", "this.value");
addSlider(-1, "roomDIV", "Gain (dB)", "gain", 6, [-70, 6], 1, -10, "this.value", "this.value");
addSlider(-1, "roomDIV", "Room Size", "roomsize", 7, [1, 300], 1, 75, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Rev. Time (ms)", "amount", 8, [0.5, 15], 0.1, 11, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Spread", "spread", 9, [0, 100], 1, 23, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Bandwidth", "bandwidth", 10, [0, 100], 1, 50, "this.value", "this.value"); //50
addSlider(-1, "roomDIV", "Damping", "damping", 11, [0, 100], 1, 70, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Early", "early", 12, [0, 100], 1, 25, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Tail", "tail", 13, [0, 100], 1, 25, "this.value", "this.value");//
addSlider(-1, "roomDIV", "Dry", "dry", 14, [0, 100], 1, 100, "this.value", "this.value");//
elements.push(

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,3 +0,0 @@
{
}

View File

@ -1,19 +1,19 @@
inlets = 2
outlets = 4;
var jpieces = {};
var presets = [];
var filename = "";
var currentPiece = "";
var hsspiece = {};
var metaComposition = "";
var outdict = new Dict("HSSPieces");;
var points = [[0.5, 0.5], [0., 1.], [1., 1.], [1., 0.], [0., 0.]];
var net = new Dict;
var title;
var DJsterParams = {
"attenuation" : [0, 100, "linear"], //
"chordal_weight" : [1, 5, "linear"],//
"dynamics" : [0, 127, "linear"],//
"event_length_display_style" : [0, 1, "linear"],//
"event_length" : [60, 600, "log"],//
"eventfulness" : [0, 100, "linear"],//
"harmoniclarity" : [0, 100, "linear"],//
@ -34,35 +34,58 @@ var DJsterParams = {
"tonic_pitch" : [12, 108, "enum"],//
};
if(jsarguments.length>1) // argument 0 is the name of the js file
{
metaComposition = jsarguments[1];
}
var path = this.patcher.filepath.slice(0, this.patcher.filepath.lastIndexOf("/") + 1);
function loadbang()
{
bang();
post("currentPiece", path, "\n");
}
function bang()
{
if (metaComposition != "") readPiece(path + metaComposition);
}
//
function dictionary(d)
{
net.name = d;
hsspiece[title]["networkData"] = JSON.parse(net.stringify());
hsspiece[currentPiece]["networkData"] = JSON.parse(net.stringify());
outdict.parse(JSON.stringify(hsspiece));
jpieces = JSON.parse(outdict.stringify());
this.patcher.getnamed("currentPiece").message("clear");
for (var i = 0; i < Object.keys(jpieces).length; i++) this.patcher.getnamed("currentPiece").message("append", Object.keys(jpieces)[i]);
this.patcher.getnamed("currentPiece").message("set", Object.keys(jpieces).length - 1);
this.patcher.getnamed("currentPiece").message("clearchecks");
this.patcher.getnamed("currentPiece").message("checkitem", Object.keys(jpieces).length - 1, 1);
//outlet(0, "dictionary", outdict.name);
//jpieces = JSON.parse(outdict.stringify());
setMenu();
}
function readPiece(path)
{
outdict.import_json(path);
jpieces = JSON.parse(outdict.stringify());
var keys = outdict.getkeys();
for (var i = 0; i < keys.length; i++) outlet(3, keys[i]);
outlet(1, outdict.get("DefaultSetting::1::networkData"));
outlet(1, "predict", 0.5, 0.5);
outlet(0, 0.5, 0.5);
hsspiece = JSON.parse(outdict.stringify());
setMenu();
}
function setMenu()
{
this.patcher.getnamed("currentPiece").message("clear");
for (var i = 0; i < Object.keys(hsspiece).length; i++) this.patcher.getnamed("currentPiece").message("append", Object.keys(hsspiece)[i]);
this.patcher.getnamed("currentPiece").message("set", Object.keys(hsspiece).length - 1);
this.patcher.getnamed("currentPiece").message("clearchecks");
this.patcher.getnamed("currentPiece").message("checkitem", Object.keys(hsspiece).length - 1, 1);
}
function writePiece()
{
if (metaComposition != "") outdict.export_json(path + metaComposition);
}
function setDict()
{
jpieces = JSON.parse(outdict.stringify());
hsspiece = JSON.parse(outdict.stringify());
}
function setSection(section)
@ -72,14 +95,13 @@ function setSection(section)
outlet(1, "set_weights", "dictionary", networkData.name);
outlet(1, "predict", 0.5, 0.5);
outlet(0, 0.5, 0.5);
if (outdict.contains(section + "::breakpoints")) this.patcher.getnamed("mc.function").setvalueof(outdict.get(section + "::breakpoints"));
post("data", outdict.get(section + "::audiolevels"), "\n");
if (outdict.contains(section + "::audiolevels")) for (var i = 0; i < 4; i++) outlet(2, "hub::global::level_" + (i + 1), outdict.get(section + "::audiolevels")[i]);
}
currentPiece = section;
}
function writePiece()
{
outdict.export_json(this.patcher.filepath + "HSSPiece.json");
}
/*
function anything()
@ -134,18 +156,20 @@ function setPresetFile(f)
{
filename = f;
currentPiece = filename.slice(filename.lastIndexOf("/") + 1, filename.lastIndexOf("."));
hsspiece[currentPiece] = {};
outdict.parse(JSON.stringify(hsspiece));
setMenu();
}
function train()
{
presets = new Dict;
presets.import_json(filename);
title = currentPiece;
hsspiece[title] = {};
if (!hsspiece.hasOwnProperty(currentPiece)) hsspiece[currentPiece] = {};
var slots = presets.get("pattrstorage::slots").getkeys();//number of slots here
outlet(1, "clear_data");
for (var j = 0; j < slots.length; j++){
hsspiece[title][j + 1] = {};
hsspiece[currentPiece][j + 1] = {};
var trainingData = [];
var data = JSON.parse(presets.get("pattrstorage::slots::" + (j + 1) + "::data").stringify());
for (var p = 0; p < 4; p++) {
@ -164,16 +188,13 @@ function train()
trainingData.push(j/5);
break;
}
post("param", param, trainingData, "\n");
}
//var val = data["hub::instrument::instrument-" + (p + 1)];
trainingData.push(j/5);
var val = data["hub::src::src" + (p + 1)];
trainingData.push(scale(val[0], 0, 127, 0., 1.));
trainingData.push(scale(val[1], 0, 127, 0., 1.));
}
//post("data", JSON.stringify(data), "\n");
hsspiece[title][j + 1] = data;
hsspiece[currentPiece][j + 1] = data;
outlet(1, "data_point", points[j].concat(trainingData));
}
outlet(1, "train", 10000);
@ -182,7 +203,6 @@ function train()
function list()
{
//post("jpieces", Object.keys(jpieces), "\n");
var vector = arrayfromargs(arguments);
var src = [];
//currentPiece = this.patcher.getnamed("currentPiece").getvalueof();
@ -191,43 +211,43 @@ function list()
for (var j = 0; j < vector.length/4; j++) {
var k = j + i * vector.length/4;
switch (j) {
case 3 : //log
case 17 :
case 1 : case 3 : case 10 : case 11 : case 15 : case 16 : case 20 : case 21 :
var val = Math.round(scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]));
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
break;
case 4 : //log (not yet)
case 18 :
var val = scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]);
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
break;
case 13 : //enum
case 14 : //enum
//val = "Major";
//post(vector[k], Math.floor(vector[k]/0.2 + 1), "\n");
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::scale"]);
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], hsspiece[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::scale"]);
break;
case 16 :
case 17 :
//val = "2 2 2";
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::meter"]);
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], hsspiece[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::meter"]);
break;
case 18 :
case 19 :
//val = "4"
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::timesig_denominator"]);
break;
case 20 :
//tonic pitch
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::tonic_pitch"]);
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], hsspiece[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::timesig_denominator"]);
break;
case 21 :
val = "4"
outlet(2, "hub::instrument::instrument-" + (i + 1), jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["hub::instrument::instrument-" + (i + 1)]);
//tonic pitch
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], hsspiece[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::tonic_pitch"]);
break;
case 22 :
case 22 :
val = "4"
outlet(2, "hub::instrument::instrument-" + (i + 1), hsspiece[currentPiece][parseInt(vector[k]/0.2 + 1)]["hub::instrument::instrument-" + (i + 1)]);
break;
case 23 :
src[0] = scale(vector[k], 0, 1, 0, 127);
break;
case 23 :
case 24 :
src[1] = scale(vector[k], 0, 1, 0, 127);
outlet(2, "hub::src::src" + (i + 1), src);
break;
case 1 : case 9 : case 10 : case 14 : case 15 : case 19 : case 20 :
var val = Math.round(scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]));
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
break;
default : //linear
var val = scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]);
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
@ -236,6 +256,23 @@ function list()
}
}
function setBreakPoints()
{
hsspiece[currentPiece]["breakpoints"] = this.patcher.getnamed("mc.function").getvalueof();
outdict.parse(JSON.stringify(hsspiece));
//jpieces = JSON.parse(outdict.stringify());
}
function setAudioLevels()
{
post("hsspiece", currentPiece, "\n");
hsspiece[currentPiece]["audiolevels"] = this.patcher.getnamed("hub").subpatcher().getnamed("global").subpatcher().getnamed("level_1").getvalueof().concat(this.patcher.getnamed("hub").subpatcher().getnamed("global").subpatcher().getnamed("level_2").getvalueof(), this.patcher.getnamed("hub").subpatcher().getnamed("global").subpatcher().getnamed("level_3").getvalueof(), this.patcher.getnamed("hub").subpatcher().getnamed("global").subpatcher().getnamed("level_4").getvalueof());
outdict.parse(JSON.stringify(hsspiece));
//jpieces = JSON.parse(outdict.stringify());
}
function scale(x, inputmin, inputmax, outputmin, outputmax)
{