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.
@@ -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 1/16)
73
- set s1 super(3 '{detune.value()}') shape(off)
74
- set s1 time(1/16) fx(degrade '{degrade.value()}')
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
@@ -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.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.10.0",
36
+ "mercury-lang": "^1.11.0",
37
37
  "tone": "^14.7.77",
38
- "webmidi": "^3.1.6"
38
+ "webmidi": "^3.1.14"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@babel/cli": "^7.23.0",