diff --git a/README.md b/README.md index 40b2948..de8352b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ To remove them, take the following step. "cacheDirs": [ "/Users/UserName/Library/Application Support/Cycling '74/Max 8/Settings/temp64-live/mxt", "/Users/UserName/Documents/Max 8/Max for Live Devices", - "/Users/UserName/.Trash", + "/Users/UserName/.Trash" ] } ``` diff --git a/common/convert_nn_to_freq.maxpat b/abstractions/convert_nn_to_freq.maxpat similarity index 88% rename from common/convert_nn_to_freq.maxpat rename to abstractions/convert_nn_to_freq.maxpat index 3259440..718f7a7 100644 --- a/common/convert_nn_to_freq.maxpat +++ b/abstractions/convert_nn_to_freq.maxpat @@ -10,7 +10,7 @@ } , "classnamespace" : "box", - "rect" : [ 34.0, 78.0, 855.0, 788.0 ], + "rect" : [ 112.0, 78.0, 855.0, 788.0 ], "bglocked" : 0, "openinpresentation" : 0, "default_fontsize" : 12.0, @@ -39,25 +39,37 @@ "subpatcher_template" : "", "boxes" : [ { "box" : { - "id" : "obj-2", + "id" : "obj-6", + "linecount" : 2, + "maxclass" : "comment", + "numinlets" : 1, + "numoutlets" : 0, + "patching_rect" : [ 283.0, 527.0, 177.0, 33.0 ], + "text" : "Bending up one semitone: 1 \nBending down one semitone: -1" + } + + } +, { + "box" : { + "id" : "obj-3", "maxclass" : "newobj", "numinlets" : 1, - "numoutlets" : 2, - "outlettype" : [ "int", "float" ], - "patching_rect" : [ 44.25, 591.0, 60.0, 22.0 ], - "text" : "unpack i f" + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 250.0, 273.0, 90.0, 22.0 ], + "text" : "loadmess 8192" } } , { "box" : { - "id" : "obj-1", + "id" : "obj-4", "maxclass" : "newobj", - "numinlets" : 2, + "numinlets" : 1, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 44.25, 564.0, 99.75, 22.0 ], - "text" : "pak i f" + "patching_rect" : [ 416.0, 268.0, 70.0, 22.0 ], + "text" : "loadmess 2" } } @@ -112,12 +124,12 @@ , { "box" : { "id" : "obj-75", - "linecount" : 5, + "linecount" : 3, "maxclass" : "comment", "numinlets" : 1, "numoutlets" : 0, - "patching_rect" : [ 177.0, 527.0, 104.0, 74.0 ], - "text" : "Pitch bend value is represented as float num whose range is between -1 and 1." + "patching_rect" : [ 177.0, 527.0, 104.0, 47.0 ], + "text" : "Pitch bend value is represented as float num." } } @@ -238,7 +250,7 @@ "maxclass" : "inlet", "numinlets" : 0, "numoutlets" : 1, - "outlettype" : [ "int" ], + "outlettype" : [ "" ], "patching_rect" : [ 44.25, 40.0, 30.0, 30.0 ] } @@ -246,12 +258,13 @@ , { "box" : { "comment" : "pitch_bend: int (from 0 to 16383)", + "cool" : 1, "id" : "obj-86", "index" : 2, "maxclass" : "inlet", "numinlets" : 0, "numoutlets" : 1, - "outlettype" : [ "int" ], + "outlettype" : [ "" ], "patching_rect" : [ 125.0, 40.0, 30.0, 30.0 ] } @@ -285,22 +298,15 @@ ], "lines" : [ { "patchline" : { - "destination" : [ "obj-2", 0 ], - "source" : [ "obj-1", 0 ] - } - - } -, { - "patchline" : { - "destination" : [ "obj-76", 1 ], - "source" : [ "obj-2", 1 ] + "destination" : [ "obj-63", 0 ], + "source" : [ "obj-3", 0 ] } } , { "patchline" : { - "destination" : [ "obj-76", 0 ], - "source" : [ "obj-2", 0 ] + "destination" : [ "obj-45", 0 ], + "source" : [ "obj-4", 0 ] } } @@ -348,7 +354,7 @@ } , { "patchline" : { - "destination" : [ "obj-1", 1 ], + "destination" : [ "obj-76", 1 ], "source" : [ "obj-74", 0 ] } @@ -369,7 +375,7 @@ } , { "patchline" : { - "destination" : [ "obj-1", 0 ], + "destination" : [ "obj-76", 0 ], "source" : [ "obj-85", 0 ] } diff --git a/common/receive_mpe.maxpat b/abstractions/receive_mpe.maxpat similarity index 100% rename from common/receive_mpe.maxpat rename to abstractions/receive_mpe.maxpat diff --git a/common/send_mpe.maxpat b/abstractions/send_mpe.maxpat similarity index 100% rename from common/send_mpe.maxpat rename to abstractions/send_mpe.maxpat diff --git a/package.json b/package.json index 85ae445..f9edb0c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,11 @@ "author": "spectral-lab", "license": "MIT", "devDependencies": { + "chai": "^4.2.0", + "note-parser": "^2.0.1", "rimraf": "^2.6.3" + }, + "dependencies": { + "tdd-max": "^1.0.3" } } diff --git a/projects/mpe_out/main.maxpat b/projects/mpe_out/main.maxpat index 34e0a6e..02a7b9a 100644 --- a/projects/mpe_out/main.maxpat +++ b/projects/mpe_out/main.maxpat @@ -38,6 +38,20 @@ "style" : "", "subpatcher_template" : "", "boxes" : [ { + "box" : { + "id" : "obj-14", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 184.0, 43.0, 79.0, 22.0 ], + "presentation" : 1, + "presentation_rect" : [ 184.0, 43.0, 79.0, 22.0 ], + "text" : "update-menu" + } + + } +, { "box" : { "id" : "obj-25", "maxclass" : "comment", @@ -147,21 +161,11 @@ "numoutlets" : 1, "outlettype" : [ "" ], "patching_rect" : [ 27.0, 56.0, 75.0, 22.0 ], + "presentation" : 1, + "presentation_rect" : [ 27.0, 56.0, 75.0, 22.0 ], "text" : "get_track_id" } - } -, { - "box" : { - "id" : "obj-31", - "maxclass" : "message", - "numinlets" : 2, - "numoutlets" : 1, - "outlettype" : [ "" ], - "patching_rect" : [ 460.0, 236.0, 61.0, 22.0 ], - "text" : "send-midi" - } - } , { "box" : { @@ -242,7 +246,7 @@ "numinlets" : 1, "numoutlets" : 3, "outlettype" : [ "bang", "int", "int" ], - "patching_rect" : [ 277.0, 168.0, 83.0, 22.0 ], + "patching_rect" : [ 277.0, 13.0, 83.0, 22.0 ], "text" : "live.thisdevice" } @@ -274,7 +278,7 @@ , { "box" : { "id" : "obj-13", - "items" : [ "IAC Driver Bus 1", ",", "nanoKEY2 CTRL", ",", "to Max 1", ",", "to Max 2" ], + "items" : [ "IAC Driver Bus 1", ",", "nanoKEY2 CTRL", ",", "Analog Four Elektron MIDI", ",", "to Max 1", ",", "to Max 2" ], "maxclass" : "umenu", "numinlets" : 1, "numoutlets" : 3, @@ -293,7 +297,9 @@ "numinlets" : 2, "numoutlets" : 1, "outlettype" : [ "" ], - "patching_rect" : [ 277.0, 247.0, 64.0, 22.0 ], + "patching_rect" : [ 277.0, 56.0, 64.0, 22.0 ], + "presentation" : 1, + "presentation_rect" : [ 277.0, 56.0, 64.0, 22.0 ], "text" : "script start" } @@ -346,6 +352,13 @@ "source" : [ "obj-13", 0 ] } + } +, { + "patchline" : { + "destination" : [ "obj-1", 0 ], + "source" : [ "obj-14", 0 ] + } + } , { "patchline" : { @@ -410,13 +423,6 @@ "source" : [ "obj-3", 0 ] } - } -, { - "patchline" : { - "destination" : [ "obj-1", 0 ], - "source" : [ "obj-31", 0 ] - } - } , { "patchline" : { diff --git a/test/assets/audio/bird.wav b/projects/test/assets/audio/bird.wav similarity index 100% rename from test/assets/audio/bird.wav rename to projects/test/assets/audio/bird.wav diff --git a/test/assets/audio/dinasaur.wav b/projects/test/assets/audio/dinasaur.wav similarity index 100% rename from test/assets/audio/dinasaur.wav rename to projects/test/assets/audio/dinasaur.wav diff --git a/test/assets/audio/horn.wav b/projects/test/assets/audio/horn.wav similarity index 100% rename from test/assets/audio/horn.wav rename to projects/test/assets/audio/horn.wav diff --git a/test/assets/audio/piano-a4.wav b/projects/test/assets/audio/piano-a4.wav similarity index 100% rename from test/assets/audio/piano-a4.wav rename to projects/test/assets/audio/piano-a4.wav diff --git a/test/assets/audio/trombone.wav b/projects/test/assets/audio/trombone.wav similarity index 100% rename from test/assets/audio/trombone.wav rename to projects/test/assets/audio/trombone.wav diff --git a/test/assets/audio/yeah.wav b/projects/test/assets/audio/yeah.wav similarity index 100% rename from test/assets/audio/yeah.wav rename to projects/test/assets/audio/yeah.wav diff --git a/test/assets/mpe/bird_1.mid b/projects/test/assets/mpe/bird_1.mid similarity index 100% rename from test/assets/mpe/bird_1.mid rename to projects/test/assets/mpe/bird_1.mid diff --git a/test/assets/mpe/bird_2.mid b/projects/test/assets/mpe/bird_2.mid similarity index 100% rename from test/assets/mpe/bird_2.mid rename to projects/test/assets/mpe/bird_2.mid diff --git a/test/assets/mpe/bird_3_1.mid b/projects/test/assets/mpe/bird_3_1.mid similarity index 100% rename from test/assets/mpe/bird_3_1.mid rename to projects/test/assets/mpe/bird_3_1.mid diff --git a/test/assets/mpe/bird_3_2.mid b/projects/test/assets/mpe/bird_3_2.mid similarity index 100% rename from test/assets/mpe/bird_3_2.mid rename to projects/test/assets/mpe/bird_3_2.mid diff --git a/test/assets/mpe/cricket_drone_1.mid b/projects/test/assets/mpe/cricket_drone_1.mid similarity index 100% rename from test/assets/mpe/cricket_drone_1.mid rename to projects/test/assets/mpe/cricket_drone_1.mid diff --git a/test/assets/mpe/cricket_drone_1_strong.mid b/projects/test/assets/mpe/cricket_drone_1_strong.mid similarity index 100% rename from test/assets/mpe/cricket_drone_1_strong.mid rename to projects/test/assets/mpe/cricket_drone_1_strong.mid diff --git a/test/assets/mpe/cricket_drone_2.mid b/projects/test/assets/mpe/cricket_drone_2.mid similarity index 100% rename from test/assets/mpe/cricket_drone_2.mid rename to projects/test/assets/mpe/cricket_drone_2.mid diff --git a/test/assets/mpe/cricket_pulse_2_strong.mid b/projects/test/assets/mpe/cricket_pulse_2_strong.mid similarity index 100% rename from test/assets/mpe/cricket_pulse_2_strong.mid rename to projects/test/assets/mpe/cricket_pulse_2_strong.mid diff --git a/test/assets/mpe/cricket_pulse_3.mid b/projects/test/assets/mpe/cricket_pulse_3.mid similarity index 100% rename from test/assets/mpe/cricket_pulse_3.mid rename to projects/test/assets/mpe/cricket_pulse_3.mid diff --git a/test/assets/mpe/frogs_1.mid b/projects/test/assets/mpe/frogs_1.mid similarity index 100% rename from test/assets/mpe/frogs_1.mid rename to projects/test/assets/mpe/frogs_1.mid diff --git a/test/assets/mpe/frogs_1_full_voices.mid b/projects/test/assets/mpe/frogs_1_full_voices.mid similarity index 100% rename from test/assets/mpe/frogs_1_full_voices.mid rename to projects/test/assets/mpe/frogs_1_full_voices.mid diff --git a/test/assets/mpe/frogs_short.mid b/projects/test/assets/mpe/frogs_short.mid similarity index 100% rename from test/assets/mpe/frogs_short.mid rename to projects/test/assets/mpe/frogs_short.mid diff --git a/test/assets/mpe/frogs_short_full_voices.mid b/projects/test/assets/mpe/frogs_short_full_voices.mid similarity index 100% rename from test/assets/mpe/frogs_short_full_voices.mid rename to projects/test/assets/mpe/frogs_short_full_voices.mid diff --git a/test/assets/mpe/higara_2_full_voices.mid b/projects/test/assets/mpe/higara_2_full_voices.mid similarity index 100% rename from test/assets/mpe/higara_2_full_voices.mid rename to projects/test/assets/mpe/higara_2_full_voices.mid diff --git a/test/assets/mpe/higurashi_1_full_voices.mid b/projects/test/assets/mpe/higurashi_1_full_voices.mid similarity index 100% rename from test/assets/mpe/higurashi_1_full_voices.mid rename to projects/test/assets/mpe/higurashi_1_full_voices.mid diff --git a/test/assets/mpe/japanese_cicada_1.mid b/projects/test/assets/mpe/japanese_cicada_1.mid similarity index 100% rename from test/assets/mpe/japanese_cicada_1.mid rename to projects/test/assets/mpe/japanese_cicada_1.mid diff --git a/test/assets/mpe/japanese_cicada_1_full_voices.mid b/projects/test/assets/mpe/japanese_cicada_1_full_voices.mid similarity index 100% rename from test/assets/mpe/japanese_cicada_1_full_voices.mid rename to projects/test/assets/mpe/japanese_cicada_1_full_voices.mid diff --git a/test/assets/mpe/japanese_cicada_short.mid b/projects/test/assets/mpe/japanese_cicada_short.mid similarity index 100% rename from test/assets/mpe/japanese_cicada_short.mid rename to projects/test/assets/mpe/japanese_cicada_short.mid diff --git a/test/assets/mpe/oceanwaves.mid b/projects/test/assets/mpe/oceanwaves.mid similarity index 100% rename from test/assets/mpe/oceanwaves.mid rename to projects/test/assets/mpe/oceanwaves.mid diff --git a/projects/test/code/convert_nn_to_freq.test.js b/projects/test/code/convert_nn_to_freq.test.js new file mode 100644 index 0000000..e0f09fb --- /dev/null +++ b/projects/test/code/convert_nn_to_freq.test.js @@ -0,0 +1,33 @@ +const { assert, expect } = require('chai'); +// @ts-ignore +const parser = require('note-parser'); + +module.exports = { + target: 'convert_nn_to_freq', + initPatcher: function*(maxAPI) { + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 69, 'inlet1':8192, 'inlet2':2 } }); + assert.notEqual(yield, null, 'isOk'); + }, + testNoBend: function*(maxAPI) { + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 60 } }); + expect(yield, 'Do nothing on C=60').to.be.closeTo(parser.freq(60), 0.1); + }, + testBendUpToTheEnd: function*(maxAPI) { + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 62, 'inlet1':16383 } }); + expect(yield, 'Bend up from D=62 to E=64').to.be.closeTo(parser.freq(64), 0.1); + }, + testBendDownToTheEnd: function*(maxAPI) { + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 65, 'inlet1':0 } }); + expect(yield, 'Bend down from F=65 to Eb=63').to.be.closeTo(parser.freq(63), 0.1); + }, + testBendWithRange8: function*(maxAPI) { + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 48, 'inlet1':16383, 'inlet2': 8 } }); + expect(yield, 'Bend up from C=48 to Ab=56').to.be.closeTo(parser.freq(56), 0.1); + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 48, 'inlet1':0, 'inlet2': 8 } }); + expect(yield, 'Bend down from C=48 to E=40').to.be.closeTo(parser.freq(40), 0.1); + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 48, 'inlet1':12288, 'inlet2': 8 } }); + expect(yield, 'Bend up from C=48 to E=52').to.be.closeTo(parser.freq(52), 0.1); + maxAPI.outlet({ convert_nn_to_freq: { 'inlet0': 48, 'inlet1':4096, 'inlet2': 8 } }); + expect(yield, 'Bend down from C=48 to Ab=44').to.be.closeTo(parser.freq(44), 0.1); + } +}; \ No newline at end of file diff --git a/projects/test/test.maxpat b/projects/test/test.maxpat new file mode 100644 index 0000000..7258aa3 --- /dev/null +++ b/projects/test/test.maxpat @@ -0,0 +1,235 @@ +{ + "patcher" : { + "fileversion" : 1, + "appversion" : { + "major" : 8, + "minor" : 0, + "revision" : 4, + "architecture" : "x64", + "modernui" : 1 + } +, + "classnamespace" : "box", + "rect" : [ 34.0, 78.0, 942.0, 788.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" : "", + "boxes" : [ { + "box" : { + "id" : "obj-8", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 155.5, 35.0, 63.0, 22.0 ], + "text" : "script stop" + } + + } +, { + "box" : { + "id" : "obj-7", + "maxclass" : "message", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 64.0, 35.0, 64.0, 22.0 ], + "text" : "script start" + } + + } +, { + "box" : { + "id" : "obj-30", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 2, + "outlettype" : [ "", "" ], + "patching_rect" : [ 64.0, 88.0, 137.0, 22.0 ], + "text" : "tdd" + } + + } +, { + "box" : { + "id" : "obj-1", + "maxclass" : "newobj", + "numinlets" : 2, + "numoutlets" : 1, + "outlettype" : [ "dictionary" ], + "patching_rect" : [ 252.0, 494.0, 217.0, 22.0 ], + "text" : "dict.pack outlet0: outlet1: @triggers 0 1" + } + + } +, { + "box" : { + "id" : "obj-14", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 64.0, 431.0, 159.0, 22.0 ], + "text" : "prepend convert_nn_to_freq" + } + + } +, { + "box" : { + "color" : [ 0.96078431372549, 0.588235294117647, 0.152941176470588, 1.0 ], + "id" : "obj-9", + "maxclass" : "newobj", + "numinlets" : 3, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 64.0, 334.0, 175.0, 22.0 ], + "text" : "convert_nn_to_freq" + } + + } +, { + "box" : { + "id" : "obj-11", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 3, + "outlettype" : [ "", "", "" ], + "patching_rect" : [ 64.0, 280.0, 175.0, 22.0 ], + "text" : "dict.unpack inlet0: inlet1: inlet2:" + } + + } +, { + "box" : { + "id" : "obj-12", + "maxclass" : "newobj", + "numinlets" : 1, + "numoutlets" : 1, + "outlettype" : [ "" ], + "patching_rect" : [ 64.0, 194.0, 179.0, 22.0 ], + "text" : "dict.unpack convert_nn_to_freq:" + } + + } + ], + "lines" : [ { + "patchline" : { + "destination" : [ "obj-9", 2 ], + "source" : [ "obj-11", 2 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 1 ], + "source" : [ "obj-11", 1 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-9", 0 ], + "source" : [ "obj-11", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-11", 0 ], + "source" : [ "obj-12", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "midpoints" : [ 73.5, 510.0, 50.166666666666657, 510.0, 50.166666666666657, 77.0, 73.5, 77.0 ], + "source" : [ "obj-14", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-12", 0 ], + "source" : [ "obj-30", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-7", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-30", 0 ], + "source" : [ "obj-8", 0 ] + } + + } +, { + "patchline" : { + "destination" : [ "obj-14", 0 ], + "source" : [ "obj-9", 0 ] + } + + } + ], + "dependency_cache" : [ { + "name" : "convert_nn_to_freq.maxpat", + "bootpath" : "~/repos/m4l-mpe-tools/abstractions", + "patcherrelativepath" : "../../abstractions", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "tdd.maxpat", + "bootpath" : "~/repos/m4l-mpe-tools/node_modules/tdd-max", + "patcherrelativepath" : "../../node_modules/tdd-max", + "type" : "JSON", + "implicit" : 1 + } +, { + "name" : "tdd.main.js", + "bootpath" : "~/repos/m4l-mpe-tools/node_modules/tdd-max", + "patcherrelativepath" : "../../node_modules/tdd-max", + "type" : "TEXT", + "implicit" : 1 + } +, { + "name" : "tdd.console.js", + "bootpath" : "~/repos/m4l-mpe-tools/node_modules/tdd-max", + "patcherrelativepath" : "../../node_modules/tdd-max", + "type" : "TEXT", + "implicit" : 1 + } + ], + "autosave" : 0 + } + +} diff --git a/projects/test/test.maxproj b/projects/test/test.maxproj new file mode 100644 index 0000000..6d32e7f --- /dev/null +++ b/projects/test/test.maxproj @@ -0,0 +1,64 @@ +{ + "name" : "test", + "version" : 1, + "creationdate" : 3642055787, + "modificationdate" : 3642075359, + "viewrect" : [ 0.0, 44.0, 361.0, 533.0 ], + "autoorganize" : 0, + "hideprojectwindow" : 0, + "showdependencies" : 1, + "autolocalize" : 0, + "contents" : { + "patchers" : { + "test.maxpat" : { + "kind" : "patcher", + "local" : 1, + "toplevel" : 1, + "singleton" : { + "bootpath" : "~/repos/m4l-mpe-tools/projects/test", + "projectrelativepath" : "." + } + + } + + } +, + "code" : { + + } + + } +, + "layout" : { + + } +, + "searchpath" : { + "0" : { + "bootpath" : "~/repos/m4l-mpe-tools/node_modules/tdd-max", + "projectrelativepath" : "../../node_modules/tdd-max", + "label" : "node_modules/tdd-max", + "recursive" : 1, + "enabled" : 1, + "includeincollective" : 0 + } +, + "1" : { + "bootpath" : "~/repos/m4l-mpe-tools/abstractions", + "projectrelativepath" : "../../abstractions", + "label" : "", + "recursive" : 1, + "enabled" : 1, + "includeincollective" : 0 + } + + } +, + "detailsvisible" : 0, + "amxdtype" : 1633771873, + "readonly" : 0, + "devpathtype" : 0, + "devpath" : ".", + "sortmode" : 0, + "viewmode" : 0 +} diff --git a/yarn.lock b/yarn.lock index 201c694..023a1d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -15,17 +20,55 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +chai@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + +fs-extra@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.0.1.tgz#90294081f978b1f182f347a440a209154344285b" + integrity sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -glob@^7.1.3: +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +glob@^7.1.3, glob@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -37,6 +80,11 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -50,6 +98,13 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -57,6 +112,11 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +note-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/note-parser/-/note-parser-2.0.1.tgz#2438fd57a46894b402b3a2071798660129c8fbc1" + integrity sha1-JDj9V6RolLQCs6IHF5hmASnI+8E= + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -69,6 +129,11 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +pathval@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= + rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -76,6 +141,25 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +tdd-max@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tdd-max/-/tdd-max-1.0.3.tgz#83f7f6d62cf504796b446188210e5c000bfc36bb" + integrity sha512-9T25zXyZHi/zavVfrgh6vuoeYANWHOHHFAkR3Gi5gEca7nbiqcdh9LNymHwRuKEgWDygK+RhXqANLgrxYjx/OA== + dependencies: + chai "^4.2.0" + fs-extra "^8.0.1" + glob "^7.1.4" + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"