Compare commits
13 Commits
a7b0de9e66
...
viewMode-m
| Author | SHA1 | Date | |
|---|---|---|---|
| 51767ff058 | |||
|
|
fe68764e7d | ||
|
|
40d0927a0e | ||
|
|
92b7545e90 | ||
|
|
4912b398dd | ||
|
|
02d5c6e914 | ||
| 13f3a18c4c | |||
| f21220e7b2 | |||
| fe165b77e5 | |||
| 43d37f215f | |||
| 64da80b742 | |||
| 0b7dbbb775 | |||
| 541ab6d459 |
267
ModEnum.maxhelp
Normal file
267
ModEnum.maxhelp
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
{
|
||||||
|
"patcher" : {
|
||||||
|
"fileversion" : 1,
|
||||||
|
"appversion" : {
|
||||||
|
"major" : 8,
|
||||||
|
"minor" : 6,
|
||||||
|
"revision" : 5,
|
||||||
|
"architecture" : "x64",
|
||||||
|
"modernui" : 1
|
||||||
|
}
|
||||||
|
,
|
||||||
|
"classnamespace" : "box",
|
||||||
|
"rect" : [ 347.0, 100.0, 1131.0, 790.0 ],
|
||||||
|
"bglocked" : 0,
|
||||||
|
"openinpresentation" : 0,
|
||||||
|
"default_fontsize" : 12.0,
|
||||||
|
"default_fontface" : 0,
|
||||||
|
"default_fontname" : "Arial",
|
||||||
|
"gridonopen" : 1,
|
||||||
|
"gridsize" : [ 15.0, 15.0 ],
|
||||||
|
"gridsnaponopen" : 1,
|
||||||
|
"objectsnaponopen" : 1,
|
||||||
|
"statusbarvisible" : 2,
|
||||||
|
"toolbarvisible" : 1,
|
||||||
|
"lefttoolbarpinned" : 0,
|
||||||
|
"toptoolbarpinned" : 0,
|
||||||
|
"righttoolbarpinned" : 0,
|
||||||
|
"bottomtoolbarpinned" : 0,
|
||||||
|
"toolbars_unpinned_last_save" : 0,
|
||||||
|
"tallnewobj" : 0,
|
||||||
|
"boxanimatetime" : 200,
|
||||||
|
"enablehscroll" : 1,
|
||||||
|
"enablevscroll" : 1,
|
||||||
|
"devicewidth" : 0.0,
|
||||||
|
"description" : "",
|
||||||
|
"digest" : "",
|
||||||
|
"tags" : "",
|
||||||
|
"style" : "",
|
||||||
|
"subpatcher_template" : "",
|
||||||
|
"assistshowspatchername" : 0,
|
||||||
|
"boxes" : [ {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-12",
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 29.113923668861389, 96.202530384063721, 42.0, 22.0 ],
|
||||||
|
"text" : "reload"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-51",
|
||||||
|
"maxclass" : "newobj",
|
||||||
|
"numinlets" : 1,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 294.936704993247986, 112.658226370811462, 277.0, 22.0 ],
|
||||||
|
"saved_object_attributes" : {
|
||||||
|
"client_rect" : [ 0, 99, 1470, 922 ],
|
||||||
|
"parameter_enable" : 0,
|
||||||
|
"parameter_mappable" : 0,
|
||||||
|
"storage_rect" : [ 1282, 626, 1887, 1000 ]
|
||||||
|
}
|
||||||
|
,
|
||||||
|
"text" : "pattrstorage myStorage @savemode 3 @greedy 1",
|
||||||
|
"varname" : "myStorage"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-10",
|
||||||
|
"maxclass" : "preset",
|
||||||
|
"numinlets" : 1,
|
||||||
|
"numoutlets" : 5,
|
||||||
|
"outlettype" : [ "preset", "int", "preset", "int", "" ],
|
||||||
|
"patching_rect" : [ 55.696201801300049, 24.05063259601593, 100.0, 40.0 ],
|
||||||
|
"pattrstorage" : "myStorage"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-8",
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 851.30120575428009, 786.0, 50.0, 22.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-9",
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 679.901205754280113, 786.0, 50.0, 22.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-6",
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 508.501205754280136, 786.0, 50.0, 22.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-7",
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 337.101205754280102, 786.0, 50.0, 22.0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-5",
|
||||||
|
"linecount" : 2,
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 165.701205754280096, 786.0, 50.0, 35.0 ],
|
||||||
|
"text" : "stream 0.802"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"id" : "obj-3",
|
||||||
|
"linecount" : 4,
|
||||||
|
"maxclass" : "message",
|
||||||
|
"numinlets" : 2,
|
||||||
|
"numoutlets" : 1,
|
||||||
|
"outlettype" : [ "" ],
|
||||||
|
"patching_rect" : [ 46.0, 786.0, 50.0, 62.0 ],
|
||||||
|
"text" : "pulse_length 0.981862"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"box" : {
|
||||||
|
"bgmode" : 0,
|
||||||
|
"border" : 0,
|
||||||
|
"clickthrough" : 0,
|
||||||
|
"enablehscroll" : 0,
|
||||||
|
"enablevscroll" : 0,
|
||||||
|
"id" : "obj-1",
|
||||||
|
"lockeddragscroll" : 0,
|
||||||
|
"lockedsize" : 0,
|
||||||
|
"maxclass" : "bpatcher",
|
||||||
|
"name" : "ModEnum.maxpat",
|
||||||
|
"numinlets" : 1,
|
||||||
|
"numoutlets" : 6,
|
||||||
|
"offset" : [ 0.0, 0.0 ],
|
||||||
|
"outlettype" : [ "", "", "", "", "", "" ],
|
||||||
|
"patching_rect" : [ 25.30120575428009, 154.216873168945312, 876.0, 621.0 ],
|
||||||
|
"varname" : "ModEnum",
|
||||||
|
"viewvisibility" : 1
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"lines" : [ {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-3", 1 ],
|
||||||
|
"source" : [ "obj-1", 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-5", 1 ],
|
||||||
|
"source" : [ "obj-1", 1 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-6", 1 ],
|
||||||
|
"source" : [ "obj-1", 3 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-7", 1 ],
|
||||||
|
"source" : [ "obj-1", 2 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-8", 1 ],
|
||||||
|
"source" : [ "obj-1", 5 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-9", 1 ],
|
||||||
|
"source" : [ "obj-1", 4 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-12", 0 ],
|
||||||
|
"source" : [ "obj-10", 1 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"patchline" : {
|
||||||
|
"destination" : [ "obj-1", 0 ],
|
||||||
|
"source" : [ "obj-12", 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"parameters" : {
|
||||||
|
"obj-1::obj-25" : [ "dict", "dict", 0 ],
|
||||||
|
"parameterbanks" : {
|
||||||
|
"0" : {
|
||||||
|
"index" : 0,
|
||||||
|
"name" : "",
|
||||||
|
"parameters" : [ "-", "-", "-", "-", "-", "-", "-", "-" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
,
|
||||||
|
"inherited_shortname" : 1
|
||||||
|
}
|
||||||
|
,
|
||||||
|
"dependency_cache" : [ {
|
||||||
|
"name" : "ModEnum.maxpat",
|
||||||
|
"bootpath" : "~/Documents/Max 8/Library/max-mod-enum",
|
||||||
|
"patcherrelativepath" : ".",
|
||||||
|
"type" : "JSON",
|
||||||
|
"implicit" : 1
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
"name" : "myStorage.json",
|
||||||
|
"bootpath" : "~/Documents/Max 8/Library/max-mod-enum",
|
||||||
|
"patcherrelativepath" : ".",
|
||||||
|
"type" : "JSON",
|
||||||
|
"implicit" : 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"autosave" : 0
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
3345
ModEnum.maxpat
Normal file
3345
ModEnum.maxpat
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
33
lfogui.css
33
lfogui.css
@@ -27,8 +27,7 @@ body {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
border: 0;
|
border: 0;
|
||||||
overflow-x: hidden;
|
overflow-x: scroll;
|
||||||
/* no horizontal scrollbar*/
|
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
display: block;
|
display: block;
|
||||||
/* No floating content on sides */
|
/* No floating content on sides */
|
||||||
@@ -77,12 +76,17 @@ td button {
|
|||||||
|
|
||||||
/* table */
|
/* table */
|
||||||
table {
|
table {
|
||||||
overflow: scroll;
|
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
|
padding: 0em;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
background-color: lightsteelblue;
|
background-color: lightsteelblue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* points datacells should have a min-width*/
|
||||||
|
.enum-count {
|
||||||
|
min-width: 5.6em;
|
||||||
|
}
|
||||||
|
|
||||||
th {
|
th {
|
||||||
padding: 0.4em 0.3em;
|
padding: 0.4em 0.3em;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@@ -90,18 +94,26 @@ th {
|
|||||||
|
|
||||||
thead {
|
thead {
|
||||||
color: white;
|
color: white;
|
||||||
background-color: royalblue;
|
background-color: var(--active);
|
||||||
}
|
}
|
||||||
|
|
||||||
tr, td {
|
tr,
|
||||||
|
td {
|
||||||
margin: 0em;
|
margin: 0em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
td:last-child {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* input types */
|
/* input types */
|
||||||
/* dropdown list */
|
/* dropdown list */
|
||||||
select {
|
select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
option, select>* {
|
option, select>* {
|
||||||
font-size: 0.8em !important;
|
font-size: 0.8em !important;
|
||||||
@@ -113,12 +125,14 @@ option, select>* {
|
|||||||
option {
|
option {
|
||||||
background-color: var(--active);
|
background-color: var(--active);
|
||||||
}
|
}
|
||||||
|
|
||||||
option:not(:checked) {
|
option:not(:checked) {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* input */
|
/* input */
|
||||||
input, select {
|
input,
|
||||||
|
select {
|
||||||
border: 1px solid var(--active);
|
border: 1px solid var(--active);
|
||||||
color: var(--active);
|
color: var(--active);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -128,6 +142,11 @@ input, select {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
padding-left: 5px;
|
||||||
|
/*slight padding on left*/
|
||||||
|
}
|
||||||
|
|
||||||
input[type=number] {
|
input[type=number] {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
}
|
}
|
||||||
@@ -249,6 +268,8 @@ h5 {
|
|||||||
font-size: small;
|
font-size: small;
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
|
display: none;
|
||||||
|
/*hide*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
13
lfogui.js
13
lfogui.js
@@ -30,7 +30,7 @@ const LockModes = Object.freeze({
|
|||||||
var modPhases = Array(MAXLFOS).fill(0);
|
var modPhases = Array(MAXLFOS).fill(0);
|
||||||
var firstUpdateTime = Date.now();
|
var firstUpdateTime = Date.now();
|
||||||
|
|
||||||
const MODULATORLABELS = ["inst", "type", "shape", "param", "timebase", "min", "max", "phase", "center"];
|
const MODULATORLABELS = ["inst", "type", "shape", "param", "timebase", "min", "max", "phase", "center", "result", "", ""];
|
||||||
const ENUMERATORLABELS = ["inst", "parameter", "# points"];
|
const ENUMERATORLABELS = ["inst", "parameter", "# points"];
|
||||||
|
|
||||||
|
|
||||||
@@ -282,6 +282,11 @@ function MasterLfoHandler() {
|
|||||||
setTicks(event.detail);
|
setTicks(event.detail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleChangeViewMode(event){
|
||||||
|
setEnabled(true);
|
||||||
|
setViewMode(event.detail);
|
||||||
|
}
|
||||||
|
|
||||||
function setNN(event) {
|
function setNN(event) {
|
||||||
|
|
||||||
for (let i = 0; i < MAXLFOS; i++) {
|
for (let i = 0; i < MAXLFOS; i++) {
|
||||||
@@ -352,6 +357,7 @@ function MasterLfoHandler() {
|
|||||||
window.addEventListener('userFunction', handleChangeUserFunction);
|
window.addEventListener('userFunction', handleChangeUserFunction);
|
||||||
window.addEventListener('userDefinedType', handleChangeUserDefinedType);
|
window.addEventListener('userDefinedType', handleChangeUserDefinedType);
|
||||||
window.addEventListener('maxTicks', handleMaxTicks);
|
window.addEventListener('maxTicks', handleMaxTicks);
|
||||||
|
window.addEventListener('viewMode', handleChangeViewMode);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
window.removeEventListener('loadDict', handleLoad);
|
window.removeEventListener('loadDict', handleLoad);
|
||||||
@@ -366,6 +372,7 @@ function MasterLfoHandler() {
|
|||||||
window.removeEventListener('userFunction', handleChangeUserFunction);
|
window.removeEventListener('userFunction', handleChangeUserFunction);
|
||||||
window.removeEventListener('userDefinedType', handleChangeUserDefinedType);
|
window.removeEventListener('userDefinedType', handleChangeUserDefinedType);
|
||||||
window.removeEventListener('maxTicks', handleMaxTicks);
|
window.removeEventListener('maxTicks', handleMaxTicks);
|
||||||
|
window.removeEventListener('viewMode', handleChangeViewMode);
|
||||||
};
|
};
|
||||||
}, [...allModArrays, ...allEnumArrays, ...allEnumMats, userDefinedWaves, userDefinedFunctions, userDefinedTypes, modCenterVals, render, beatsInMeasure, ticks]);
|
}, [...allModArrays, ...allEnumArrays, ...allEnumMats, userDefinedWaves, userDefinedFunctions, userDefinedTypes, modCenterVals, render, beatsInMeasure, ticks]);
|
||||||
|
|
||||||
@@ -628,6 +635,10 @@ if (!DEBUG) {
|
|||||||
window.dispatchEvent(new CustomEvent('userWave', { 'detail': data }));
|
window.dispatchEvent(new CustomEvent('userWave', { 'detail': data }));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
window.max.bindInlet("viewMode", (mode) => {
|
||||||
|
window.dispatchEvent(new CustomEvent('viewMode', { 'detail': parseInt(mode) }));
|
||||||
|
});
|
||||||
|
|
||||||
window.max.bindInlet("userFunction", (index, ...points) => {
|
window.max.bindInlet("userFunction", (index, ...points) => {
|
||||||
//list of 101 points between 0-100
|
//list of 101 points between 0-100
|
||||||
let data = { points, index };
|
let data = { points, index };
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user