New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mercury-lang

Package Overview
Dependencies
Maintainers
1
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mercury-lang - npm Package Compare versions

Comparing version 1.7.2 to 1.8.0

4

package.json
{
"name": "mercury-lang",
"version": "1.7.2",
"version": "1.8.0",
"description": "Parser for the mercury live coding language",

@@ -39,3 +39,3 @@ "main": "index.js",

"nearley": "^2.20.1",
"total-serialism": "^2.1.4"
"total-serialism": "^2.3.0"
},

@@ -42,0 +42,0 @@ "devDependencies": {

@@ -137,2 +137,10 @@

},
// generate a sequence of numbers from the collatz conjecture
// thread lightly, can grow large with large input numbers
'collatz' : (...v) => {
return Algo.collatz(v[0]);
},
'collatzMod' : (...v) => {
return Algo.collatzMod(...v);
},
// generate the numbers in the fibonacci sequence

@@ -146,2 +154,5 @@ 'fibonacci' : (...v) => {

},
'fibonacciMod' : (...v) => {
return functionMap.pisano(v);
},
// generate the numbers in the fibonacci sequence

@@ -159,2 +170,9 @@ 'pell' : (...v) => {

},
// Per Nørgards Inifity series
'infinitySeries' : (...v) => {
return Algo.infinitySeries(...v);
},
'infSeries' : (...v) => {
return functionMap.infinitySeries(v);
},
//

@@ -277,5 +295,8 @@ // Stochastic Methods

// flatten a multidimensional array to 1D (or specified)
'flat' : (...v) => {
'flatten' : (...v) => {
return Util.flatten(...v);
},
'flat' : (...v) => {
return functionMap.flatten(v);
},
// invert an array around a center point

@@ -291,8 +312,9 @@ 'invert' : (...v) => {

},
'inv' : (...v) => {
return Mod.invert(...v);
},
// filter items from an array
'filter' : (...v) => {
return Mod.filter(v[0], v.slice(1, v.length));
},
'inv' : (...v) => {
return Mod.invert(...v);
},
// lookup the values from an array based on another array

@@ -316,5 +338,5 @@ 'lookup' : (...v) => {

},
'mix' : (...v) => {
return Mod.merge(...v);
},
// 'mix' : (...v) => {
// return Mod.merge(...v);
// },
// generate a palindrome of an array

@@ -330,2 +352,12 @@ 'palindrome' : (...v) => {

},
// reverse an array
'reverse' : (...v) => {
return Mod.reverse(...v);
},
'rev' : (...v) => {
return Mod.reverse(...v);
},
'retrograde' : (...v) => {
return Mod.reverse(...v);
},
// rotate an array in positive or negative direction

@@ -341,12 +373,2 @@ 'rotate' : (...v) => {

},
// reverse an array
'reverse' : (...v) => {
return Mod.reverse(...v);
},
'rev' : (...v) => {
return Mod.reverse(...v);
},
'retrograde' : (...v) => {
return Mod.reverse(...v);
},
// sort an array in ascending or descending order

@@ -413,85 +435,122 @@ 'sort' : (...v) => {

},
'toScale' : (...v) => {
return TL.toScale(...v);
},
// tempo translate methods
'division2ms' : (...v) => {
// divisionToMs
'divisionToMs' : (...v) => {
return TL.divisionToMs(...v);
},
'd2ms' : (...v) => {
'dtoms' : (...v) => {
return TL.divisionToMs(...v);
},
'division2ratio' : (...v) => {
// divisionToRatio
'divisionToRatio' : (...v) => {
return TL.divisionToRatio(...v);
},
'd2r' : (...v) => {
'dtor' : (...v) => {
return TL.divisionToRatio(...v);
},
'ratio2ms' : (...v) => {
// ratioToMs
'ratioToMs' : (...v) => {
return TL.ratioToMs(...v);
},
'r2ms' : (...v) => {
'rtoms' : (...v) => {
return TL.ratioToMs(...v);
},
'time2ratio' : (...v) => {
// timeToRatio
'timeToRatio' : (...v) => {
return TL.timevalueToRatio(...v);
},
't2r' : (...v) => {
'ttor' : (...v) => {
return TL.timevalueToRatio(...v);
},
// pitch translate methods
'note2midi' : (...v) => {
return TL.ntom(...v);
},
'n2m' : (...v) => {
return TL.ntom(...v);
},
'note2freq' : (...v) => {
return TL.noteToFreq(...v);
},
'n2f' : (...v) => {
return TL.noteToFreq(...v);
},
'midi2note' : (...v) => {
// midiToNote
'midiToNote' : (...v) => {
return TL.midiToNote(...v);
},
'm2n' : (...v) => {
'mton' : (...v) => {
return TL.midiToNote(...v);
},
'midi2freq' : (...v) => {
// midiToFreq
'midiToFreq' : (...v) => {
return TL.midiToFreq(...v);
},
'm2f' : (...v) => {
'mtof' : (...v) => {
return TL.midiToFreq(...v);
},
'freq2midi' : (...v) => {
// freqToMidi
'freqToMidi' : (...v) => {
return TL.freqToMidi(...v);
},
'f2m' : (...v) => {
'ftom' : (...v) => {
return TL.freqToMidi(...v);
},
'freq2note' : (...v) => {
// freqToNote
'freqToNote' : (...v) => {
return TL.freqToNote(...v);
},
'f2n' : (...v) => {
'fton' : (...v) => {
return TL.freqToNote(...v);
},
'relative2midi' : (...v) => {
// noteToMidi
'noteToMidi' : (...v) => {
return TL.ntom(...v);
},
'ntom' : (...v) => {
return TL.ntom(...v);
},
// noteToFreq
'noteToFreq' : (...v) => {
return TL.noteToFreq(...v);
},
'ntof' : (...v) => {
return TL.noteToFreq(...v);
},
// chromaToRelative
'chromaToRelative' : (...v) => {
return TL.chromaToRelative(...v);
},
'ctor' : (...v) => {
return TL.chromaToRelative(...v);
},
// relativeToMidi
'relativeToMidi' : (...v) => {
return TL.relativeToMidi(...v);
},
'r2m' : (...v) => {
'rtom' : (...v) => {
return TL.relativeToMidi(...v);
},
'relative2freq' : (...v) => {
// relativeToFreq
'relativeToFreq' : (...v) => {
return TL.relativeToFreq(...v);
},
'r2f' : (...v) => {
'rtof' : (...v) => {
return TL.relativeToFreq(...v);
},
'ratio2cent' : (...v) => {
// mapToScale functions
'toScale' : (...v) => {
return TL.toScale(...v);
},
// ratio to cent
'ratioToCent' : (...v) => {
return TL.ratioToCent(...v);
},
'rtc' : (...v) => {
'rtoc' : (...v) => {
return TL.ratioToCent(...v);
},
// chords generation
'chordsFromNumerals' : (...v) => {
return TL.chordsFromNumerals(v);
},
'makeChords' : (...v) => {
return functionMap.chordsFromNumerals(v);
},
'chordsFigured' : (...v) => {
return functionMap.chordsFromNumerals(v);
},
'chordsFromNames' : (...v) => {
return TL.chordsFromNames(...v);
},
'chordsNamed' : (...v) => {
return functionMap.chordsFromNames(v);
},
//

@@ -561,2 +620,9 @@ // Statistic Methods

},
// signed normalize an array to -1 1 range
'signedNormalize' : (...v) => {
return Util.add(Util.mult(Util.norm(...v), 2), -1);
},
'snorm' : (...v) => {
return functionMap.signedNormalize(...v);
},
// take the modulus of an array

@@ -563,0 +629,0 @@ 'modulo' : (...v) => {

@@ -41,5 +41,5 @@ //====================================================================

parseFile('./test/test-dev.txt');
parseFile('./test/test-grammar.txt');
parseFile('./test/test-errors.txt');
parseFile('./test/test-dev.txt');
parseFile('./test/test-small.txt');

@@ -46,0 +46,0 @@ parseFile('./test/test-synth.txt');

list vals random(4 0 12)
// list prg chordsFigured(I IIm V7 VIsus2)
// list prg2 chordsFromNames(C Dm G7 Asus2)
// list prg2 chordsNamed(C Dm G7 Asus2)
print vals
list spr spread(10)
list nspr norm(spr)
list snspr snorm(spr)
display [1 2 3]
display 'hello world'
// list prg2 repeat(makeChords(I IIm V7) [3 4 2])
print reverse(vals)
// list inf infinitySeries()
// list inf infinitySeries(20)
// list inf2 infinitySeries(10 [1 2])
new polySynth saw name(chordSaw)
// list vals random(4 0 12)
// print vals
// display [1 2 3]
// display 'hello world'
// print reverse(vals)
// new polySynth saw name(chordSaw)
// display vals

@@ -14,0 +28,0 @@ // display shuffle(vals)

@@ -487,31 +487,31 @@ // set debug 0

list mtn3 midi2note([60 [63 67 69] [57 65]])
list mtn3 midiToNote([60 [63 67 69] [57 65]])
//=> [ 'c4', [ 'eb4', 'g4', 'a4' ], [ 'a3', 'f4' ] ]
list mtf1 midi2freq([60 [63 67 69] [57 65]])
list mtf1 midiToFreq([60 [63 67 69] [57 65]])
//=> [ 261.63, [ 311.13, 391.995, 440 ], [ 220, 349.23 ] ]
list ntm1 note2midi([c4 [eb4 g4 a4] [a3 f4]])
list ntm1 noteToMidi([c4 [eb4 g4 a4] [a3 f4]])
//=> [ 60, [ 63, 67, 69 ], [ 57, 65 ] ]
list ntf1 note2freq([c4 [eb4 g4 a4] [a3 f4]])
list ntf1 noteToFreq([c4 [eb4 g4 a4] [a3 f4]])
//=> [ 261.63, [ 311.13, 391.995, 440 ], [ 220, 349.23 ] ]
list ftm1 freq2midi([261 [311 391 440] [220 349]])
list ftm1 freqToMidi([261 [311 391 440] [220 349]])
//=> [ 60, [ 63, 67, 69 ], [ 57, 65 ] ]
// with detuning floating point midi for pitch bend
list ftm2 freq2midi([261 [311 391 440] [220 349]] 1)
list ftm2 freqToMidi([261 [311 391 440] [220 349]] 1)
//=> [ 59.959, [ 62.993, 66.956, 69 ], [ 57, 64.989 ]]
list ftn1 freq2note([261 [311 391 440] [220 349]])
list ftn1 freqToNote([261 [311 391 440] [220 349]])
//=> [ 'c4', [ 'eb4', 'g4', 'a4' ], [ 'a3', 'f4' ] ]
list rtm1 relative2midi([[-12 -9 -5] [0 4 7] [2 5 9]] c4)
list rtm1 relativeToMidi([[-12 -9 -5] [0 4 7] [2 5 9]] c4)
//=> [ [ 48, 51, 55 ], [ 60, 64, 67 ], [ 62, 65, 69 ] ]
list rtm2 relative2freq([[-12 -9 -5] [0 4 7] [2 5 9]] c4)
list rtm2 relativeToFreq([[-12 -9 -5] [0 4 7] [2 5 9]] c4)
//=> [[130.81, 155.56, 196 ], [ 261.62, 329.63, 392 ], [ 293.66, 349.23, 440]]
list rtc1 ratio2cent([2/1 [3/2 [4/3 5/4]] 9/8])
list rtc1 ratioToCent([2/1 [3/2 [4/3 5/4]] 9/8])
//=> [ 1200, [ 701.95, [ 498.04, 386.31 ] ], 203.91 ]

@@ -521,7 +521,7 @@

ring divs [1/4 [1/8 [3/16 1/4]] 1/6 2]
ring ms1 d2ms(divs)
ring ms1 dtoms(divs)
print ms1
//=> [ 500, [ 250, [ 375, 500 ] ], 333.33, 4000 ]
ring ms2 d2ms(divs 100)
ring ms2 dtoms(divs 100)
print ms2

@@ -531,3 +531,3 @@ //=> [ 600, [ 300, [ 450, 600 ] ], 400, 4800 ]

ring ratios [0.25 [0.125 [0.1875 0.25]] 0.1667 2]
ring ms3 d2ms(ratios 100)
ring ms3 dtoms(ratios 100)
print ms3

@@ -537,9 +537,9 @@ //=> [ 600, [ 300, [ 450, 600 ] ], 400.08, 4800 ]

list comb [1/4 [0.125 [3/15 0.25]] 1/6 2]
list ms4 d2ms(comb 100)
list ms4 dtoms(comb 100)
//=> [ 600, [ 300, [ 450, 600 ] ], 400, 4800 ]
list tv1 t2r(['4n' ['8nt' ['16nd' '2nd']] '32n' '3m'])
list tv1 ttor(['4n' ['8nt' ['16nd' '2nd']] '32n' '3m'])
//=> [ 0.25, [ 0.08333333333333333, [ 0.09375, 0.75 ] ], 0.03125, 3 ]
list tv2 t2r(['4n' ['8nt' ['16nd' '2nd']] '32n' '3m'] 100)
list tv2 ttor(['4n' ['8nt' ['16nd' '2nd']] '32n' '3m'] 100)
// list tv2 t2r(['4n' ['8nt' ['16nd' '2nd']] '32n' '3m'] 100)

@@ -546,0 +546,0 @@ //=> [ 600, [ 200, [ 225, 1800 ] ], 75, 7200 ]

@@ -18,50 +18,59 @@ {

"variables": {
"vals": [
9,
"spr": [
0,
1,
2,
3,
4,
5,
6,
0
7,
8,
9
],
"nspr": [
0,
0.1111111111111111,
0.2222222222222222,
0.3333333333333333,
0.4444444444444444,
0.5555555555555556,
0.6666666666666666,
0.7777777777777778,
0.8888888888888888,
1
],
"snspr": [
-1,
-0.7777777777777778,
-0.5555555555555556,
-0.33333333333333337,
-0.11111111111111116,
0.11111111111111116,
0.33333333333333326,
0.5555555555555556,
0.7777777777777777,
1
]
},
"objects": {
"chordSaw": {
"object": "polySynth",
"type": "saw",
"functions": {
"group": [],
"add_fx": [],
"name": [
"chordSaw"
]
}
}
},
"objects": {},
"groups": {
"all": [
"chordSaw"
]
"all": []
},
"print": [
[
9,
5,
6,
0
],
[
0,
6,
5,
9
]
],
"display": [
[
1,
2,
3
],
"hello world"
],
"print": [],
"display": [],
"comments": [
"// list prg chordsFigured(I IIm V7 VIsus2)",
"// list prg2 chordsFromNames(C Dm G7 Asus2)",
"// list prg2 chordsNamed(C Dm G7 Asus2)",
"// list prg2 repeat(makeChords(I IIm V7) [3 4 2])",
"// list inf infinitySeries()",
"// list inf infinitySeries(20)",
"// list inf2 infinitySeries(10 [1 2])",
"// list vals random(4 0 12)",
"// print vals",
"// display [1 2 3]",
"// display 'hello world'",
"// print reverse(vals)",
"// new polySynth saw name(chordSaw) ",
"// display vals",

@@ -82,16 +91,25 @@ "// display shuffle(vals)",

{
"@global": {
"@comment": "// list prg chordsFigured(I IIm V7 VIsus2)"
}
},
{
"@global": {
"@comment": "// list prg2 chordsFromNames(C Dm G7 Asus2)"
}
},
{
"@global": {
"@comment": "// list prg2 chordsNamed(C Dm G7 Asus2)"
}
},
{
"@list": {
"@name": "vals",
"@name": "spr",
"@params": {
"@function": {
"@name": "random",
"@name": "spread",
"@args": [
{
"@number": 4
},
{
"@number": 0
},
{
"@number": 12
"@number": 10
}

@@ -104,27 +122,29 @@ ]

{
"@global": {
"@print": [
{
"@identifier": "vals"
"@list": {
"@name": "nspr",
"@params": {
"@function": {
"@name": "norm",
"@args": [
{
"@identifier": "spr"
}
]
}
]
}
}
},
{
"@global": {
"@display": [
{
"@array": [
"@list": {
"@name": "snspr",
"@params": {
"@function": {
"@name": "snorm",
"@args": [
{
"@number": 1
},
{
"@number": 2
},
{
"@number": 3
"@identifier": "spr"
}
]
}
]
}
}

@@ -134,7 +154,3 @@ },

"@global": {
"@display": [
{
"@string": "hello world"
}
]
"@comment": "// list prg2 repeat(makeChords(I IIm V7) [3 4 2])"
}

@@ -144,36 +160,8 @@ },

"@global": {
"@print": [
{
"@function": {
"@name": "reverse",
"@args": [
{
"@identifier": "vals"
}
]
}
}
]
"@comment": "// list inf infinitySeries()"
}
},
{
"@object": {
"@new": {
"@inst": "polySynth",
"@type": {
"@identifier": "saw"
},
"@functions": [
{
"@function": {
"@name": "name",
"@args": [
{
"@identifier": "chordSaw"
}
]
}
}
]
}
"@global": {
"@comment": "// list inf infinitySeries(20)"
}

@@ -183,2 +171,37 @@ },

"@global": {
"@comment": "// list inf2 infinitySeries(10 [1 2])"
}
},
{
"@global": {
"@comment": "// list vals random(4 0 12)"
}
},
{
"@global": {
"@comment": "// print vals"
}
},
{
"@global": {
"@comment": "// display [1 2 3]"
}
},
{
"@global": {
"@comment": "// display 'hello world'"
}
},
{
"@global": {
"@comment": "// print reverse(vals)"
}
},
{
"@global": {
"@comment": "// new polySynth saw name(chordSaw) "
}
},
{
"@global": {
"@comment": "// display vals"

@@ -234,5 +257,3 @@ }

},
"errors": [
"Unknown instrument type: polySynth"
]
"errors": []
}

@@ -93,10 +93,10 @@ {

"grv": [
"kick",
"hat",
"hat",
"snare",
"snare",
"hat",
"snare",
"kick",
"snare"
"kick",
"hat",
"hat"
],

@@ -148,11 +148,11 @@ "arpMel": [

13,
17,
12,
19,
10
12
],
[
5,
3,
7,
2
4,
8,
10,
6
]

@@ -174,3 +174,3 @@ ],

"objects": {
"7HET92XU": {
"EAFOZWBN": {
"object": "synth",

@@ -210,7 +210,7 @@ "type": "saw",

"name": [
"7HET92XU"
"EAFOZWBN"
]
}
},
"97LK0PGV": {
"VV454A4B": {
"object": "sample",

@@ -249,7 +249,7 @@ "type": "hat",

"name": [
"97LK0PGV"
"VV454A4B"
]
}
},
"ANF3V1LF": {
"7CEFFL6X": {
"object": "midi",

@@ -283,7 +283,7 @@ "type": "default",

"name": [
"ANF3V1LF"
"7CEFFL6X"
]
}
},
"0W886QHZ": {
"0FZ7ST1K": {
"object": "loop",

@@ -322,7 +322,7 @@ "type": "amen",

"name": [
"0W886QHZ"
"0FZ7ST1K"
]
}
},
"EAP90ZNW": {
"QG9H9LB7": {
"object": "polySynth",

@@ -332,2 +332,24 @@ "type": "sine",

"group": [],
"time": [
"1/1",
0
],
"note": [
0,
0
],
"env": [
1,
250
],
"beat": [
1
],
"amp": [
0.7
],
"wave2": [
"saw",
0
],
"add_fx": [

@@ -341,7 +363,7 @@ [

"name": [
"EAP90ZNW"
"QG9H9LB7"
]
}
},
"V44J03GF": {
"E1ZAQLGT": {
"object": "polySample",

@@ -359,7 +381,7 @@ "type": "kick",

"name": [
"V44J03GF"
"E1ZAQLGT"
]
}
},
"356KQVUQ": {
"H3AIQTBX": {
"object": "osc",

@@ -377,7 +399,7 @@ "type": "address",

"name": [
"356KQVUQ"
"H3AIQTBX"
]
}
},
"4USLNMQM": {
"4Y5DEWTI": {
"object": "sample",

@@ -420,7 +442,7 @@ "type": [

"name": [
"4USLNMQM"
"4Y5DEWTI"
]
}
},
"9NEXR793": {
"6SE748B8": {
"object": "synth",

@@ -464,3 +486,3 @@ "type": [

"name": [
"9NEXR793"
"6SE748B8"
]

@@ -565,3 +587,3 @@ }

},
"3SN9CUV1": {
"LHB21LG2": {
"object": "synth",

@@ -617,3 +639,3 @@ "type": "square",

"name": [
"3SN9CUV1"
"LHB21LG2"
]

@@ -1916,3 +1938,2 @@ }

"errors": [
"Unknown instrument type: polySynth",
"Unknown instrument type: polySample",

@@ -1919,0 +1940,0 @@ "Unknown instrument type: osc"

@@ -35,3 +35,3 @@ {

"objects": {
"5ZC2RRQA": {
"TZ64W5E8": {
"object": "synth",

@@ -100,7 +100,7 @@ "type": "saw",

"name": [
"5ZC2RRQA"
"TZ64W5E8"
]
}
},
"4J6CQM6I": {
"O8EVNBKB": {
"object": "sample",

@@ -147,7 +147,7 @@ "type": "kick_min",

"name": [
"4J6CQM6I"
"O8EVNBKB"
]
}
},
"EOI0KU7A": {
"4JAO7J44": {
"object": "sample",

@@ -187,3 +187,3 @@ "type": "violin_g",

"name": [
"EOI0KU7A"
"4JAO7J44"
]

@@ -190,0 +190,0 @@ }

@@ -40,3 +40,3 @@ {

"objects": {
"1NHV0FHX": {
"4ASK5CU3": {
"object": "sample",

@@ -77,3 +77,3 @@ "type": [

"name": [
"1NHV0FHX"
"4ASK5CU3"
]

@@ -80,0 +80,0 @@ }

@@ -26,13 +26,13 @@ {

0,
0,
1,
0,
0,
1,
0,
0,
0,
1,
0,
1,
0,
0,
0,
0

@@ -78,13 +78,13 @@ ],

0,
0,
1,
0,
0,
1,
0,
0,
0,
1,
0,
1,
0,
0,
0,
0

@@ -91,0 +91,0 @@ ]

@@ -91,3 +91,3 @@ {

"objects": {
"D2AMELXI": {
"OBM4U92G": {
"object": "synth",

@@ -147,7 +147,7 @@ "type": [

"name": [
"D2AMELXI"
"OBM4U92G"
]
}
},
"TPT5F0HO": {
"C9Y02EY8": {
"object": "sample",

@@ -194,3 +194,3 @@ "type": [

"name": [
"TPT5F0HO"
"C9Y02EY8"
]

@@ -197,0 +197,0 @@ }

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc