mercury-engine 1.3.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mercury.js +765 -239
- package/dist/mercury.min.js +1 -1
- package/examples/interface/index.html +18 -4
- package/examples/midi/index.html +1 -0
- package/package.json +3 -3
|
@@ -45,20 +45,32 @@
|
|
|
45
45
|
let note;
|
|
46
46
|
let squash;
|
|
47
47
|
let detune;
|
|
48
|
+
let distort;
|
|
49
|
+
let verb;
|
|
48
50
|
|
|
49
51
|
// initialize the sliders with specific ranges
|
|
50
52
|
// use noCanvas() because we're not planning on drawing anything
|
|
51
53
|
function setup() {
|
|
52
54
|
noCanvas();
|
|
55
|
+
createP('filter');
|
|
53
56
|
cutoff = createSlider(50, 5000, 200, 0);
|
|
57
|
+
createP('note');
|
|
54
58
|
note = createSlider(-12, 12, -10, 1);
|
|
59
|
+
createP('degrade');
|
|
55
60
|
degrade = createSlider(0, 1, 0.4, 0);
|
|
61
|
+
createP('detuning');
|
|
56
62
|
detune = createSlider(0, 1, 0.3, 0);
|
|
63
|
+
createP('distortion');
|
|
64
|
+
distort = createSlider(1, 200, 5, 0);
|
|
65
|
+
createP('reverb');
|
|
66
|
+
verb = createSlider(1, 20, 10, 0);
|
|
57
67
|
|
|
58
68
|
cutoff.style('width', '50%');
|
|
59
69
|
note.style('width', '50%');
|
|
60
70
|
degrade.style('width', '50%');
|
|
61
71
|
detune.style('width', '50%');
|
|
72
|
+
distort.style('width', '50%');
|
|
73
|
+
verb.style('width', '50%');
|
|
62
74
|
}
|
|
63
75
|
|
|
64
76
|
// The Mercury code asks for the `{x.value()}` from the sliders
|
|
@@ -67,11 +79,13 @@
|
|
|
67
79
|
// evaluates small javascript snippets
|
|
68
80
|
const mercuryCode = `
|
|
69
81
|
set tempo 130
|
|
70
|
-
new synth saw name(s1)
|
|
82
|
+
new synth saw name(s1) time(1/16) shape(1 1/8)
|
|
71
83
|
set s1 note('{note.value()}' 0) slide(1/16)
|
|
72
|
-
set s1 fx(filter low '{cutoff.value()}' 0.4
|
|
73
|
-
set s1 super(3 '{detune.value()}')
|
|
74
|
-
set s1
|
|
84
|
+
set s1 fx(filter low '{cutoff.value()}' 0.4)
|
|
85
|
+
set s1 super(3 '{detune.value()}')
|
|
86
|
+
set s1 fx(degrade '{degrade.value()}')
|
|
87
|
+
set s1 fx(fuzz '{distort.value()}' 0.6)
|
|
88
|
+
set s1 fx(reverb 0.5 '{verb.value()}')
|
|
75
89
|
`
|
|
76
90
|
|
|
77
91
|
// evaluate the code on the click of a button
|
package/examples/midi/index.html
CHANGED
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
set scale major c
|
|
54
54
|
new midi default time(1/1) chord(on) note(chordsFromNumerals(I IV V VIm) 1) length(1/2)
|
|
55
55
|
new midi default time(1/8) note(random(16 12) 2) length(1/16) program([0 5 5 10]) out(2)
|
|
56
|
+
new midi default time(1/8) midinote(choose(16 [36 36 40 42 42 42])) out(10) timediv([1 1 2])
|
|
56
57
|
`
|
|
57
58
|
|
|
58
59
|
// evaluate the code on the click of a button
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mercury-engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "The mercury engine generates web audio output from mercury code input",
|
|
5
5
|
"main": "./dist/mercury.js",
|
|
6
6
|
"scripts": {
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"author": "Timo Hoogland",
|
|
34
34
|
"license": "ISC",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"mercury-lang": "^1.
|
|
36
|
+
"mercury-lang": "^1.11.0",
|
|
37
37
|
"tone": "^14.7.77",
|
|
38
|
-
"webmidi": "^3.1.
|
|
38
|
+
"webmidi": "^3.1.14"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@babel/cli": "^7.23.0",
|