Skip to content

Commit 8092478

Browse files
committed
Add a bunch more keymaps and prep for actual v0.2.0 release. that other one was really for v0.1.0
1 parent aa6c980 commit 8092478

File tree

4 files changed

+100
-15
lines changed

4 files changed

+100
-15
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@ A delay gets added when auto shifting more than one octave. If this is too low,
4444
### keyMaps
4545

4646
Instrument keymaps. Feel free to add your own in the config to use in the app.
47+
Named with the following convention:
48+
49+
```
50+
game - instrumentName (key and any transposes) (if designed for use with auto octave)
51+
```
4752

4853
## Keymap example
4954

electron/defaultKeyMaps.js

Lines changed: 91 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const keyMaps = [
22
{
3-
name: 'GW2 - The Minstrel (Auto Octave)',
3+
name: 'GW2 - The Minstrel (C) (Auto Octave)',
44
autoOctaveSwap: true,
55
// 'note' is the piano note
66
notes: {
@@ -52,8 +52,25 @@ const keyMaps = [
5252
octaveUp: { key: '0' },
5353
},
5454
{
55-
name: 'GW2 - The Minstrel',
55+
name: 'GW2 - The Minstrel (C)',
5656
autoOctaveSwap: false,
57+
notes: {
58+
C4: { key: '1' },
59+
D4: { key: '2' },
60+
E4: { key: '3' },
61+
F4: { key: '4' },
62+
G4: { key: '5' },
63+
A4: { key: '6' },
64+
B4: { key: '7' },
65+
C5: { key: '8' },
66+
67+
'C#4': { key: '9' },
68+
'D#4': { key: '0' },
69+
},
70+
},
71+
{
72+
name: 'GW2 - Magnanimous Choir Bell (C) (Auto Octave)',
73+
autoOctaveSwap: true,
5774
notes: {
5875
C4: { key: '1', octave: 1 },
5976
D4: { key: '2', octave: 1 },
@@ -62,16 +79,83 @@ const keyMaps = [
6279
G4: { key: '5', octave: 1 },
6380
A4: { key: '6', octave: 1 },
6481
B4: { key: '7', octave: 1 },
65-
C5: { key: '8', octave: 1 },
82+
C5: { key: '8', octave: 1, altOctave: 2, altOctaveKey: '1' },
83+
84+
D5: { key: '2', octave: 2 },
85+
E5: { key: '3', octave: 2 },
86+
F5: { key: '4', octave: 2 },
87+
G5: { key: '5', octave: 2 },
88+
A5: { key: '6', octave: 2 },
89+
B5: { key: '7', octave: 2 },
90+
C6: { key: '8', octave: 2 },
91+
92+
'C#4': { key: '9' },
93+
'D#4': { key: '0' },
94+
},
95+
octaveDown: { key: '9' },
96+
octaveUp: { key: '0' },
97+
},
98+
{
99+
// Notes are in key of C, but the flute plays
100+
// in the key of E
101+
name: 'GW2 - Flute (C->E) (Auto Octave)',
102+
autoOctaveSwap: true,
103+
notes: {
104+
C4: { key: '1', octave: 1 },
105+
D4: { key: '2', octave: 1 },
106+
E4: { key: '3', octave: 1 },
107+
F4: { key: '4', octave: 1 },
108+
G4: { key: '5', octave: 1 },
109+
A4: { key: '6', octave: 1 },
110+
B4: { key: '7', octave: 1 },
111+
C5: { key: '8', octave: 1, altOctave: 2, altOctaveKey: '1' },
112+
113+
D5: { key: '2', octave: 2 },
114+
E5: { key: '3', octave: 2 },
115+
F5: { key: '4', octave: 2 },
116+
G5: { key: '5', octave: 2 },
117+
A5: { key: '6', octave: 2 },
118+
B5: { key: '7', octave: 2 },
119+
C6: { key: '8', octave: 2 },
66120

67-
// Since The Minstrel plays in the key of C, we can use
68-
// sharp notes for "key switches". In the case below, they
69-
// allow manual actave shifts in the case that GW2 lags and doesn't
70-
// switch correctly
71121
'C#4': { key: '9' },
72122
'D#4': { key: '0' },
73123
},
124+
octaveDown: { key: '9' },
125+
octaveUp: { key: '9' },
126+
},
127+
{
128+
// Notes in the key of E
129+
name: 'GW2 - Flute (E) (Auto Octave)',
130+
autoOctaveSwap: true,
131+
notes: {
132+
E4: { key: '1', octave: 1 },
133+
'F#4': { key: '2', octave: 1 },
134+
'G#4': { key: '3', octave: 1 },
135+
A4: { key: '4', octave: 1 },
136+
B4: { key: '5', octave: 1 },
137+
'C#5': { key: '6', octave: 1 },
138+
'D#5': { key: '7', octave: 1 },
139+
E5: { key: '8', octave: 1, altOctave: 2, altOctaveKey: '1' },
140+
141+
'F#5': { key: '2', octave: 2 },
142+
'G#5': { key: '3', octave: 2 },
143+
A5: { key: '4', octave: 2 },
144+
B5: { key: '5', octave: 2 },
145+
'C#6': { key: '6', octave: 2 },
146+
'D#6': { key: '7', octave: 2 },
147+
E6: { key: '8', octave: 2 },
148+
149+
// Swap octave
150+
F: { key: '9' },
151+
// Stop playing
152+
G: { key: '0' },
153+
},
154+
octaveDown: { key: '9' },
155+
octaveUp: { key: '9' },
74156
},
157+
// TODO: GW2 - Lute
158+
// TODO: GW2 - Bass Guitar
75159
];
76160

77161
module.exports = { keyMaps };

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "midi-to-keypress",
3-
"version": "0.1.0",
3+
"version": "0.2.0",
44
"private": true,
55
"description": "App for converting midi to key presses. Built with Electron and React.",
66
"author": "davidlukerice",

roadmap.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
Current "roadmap" of upcoming changes
22

3-
v0.2
4-
5-
- add more keymaps
6-
- buttons for manually shifting the internal octave
7-
83
v0.3
94

105
- key switches for internal octaves
116
- Expose MULTIPLE_OCTAVE_SHIFT_DELAY config UI
7+
- buttons for manually shifting the internal octave
128

139
v.04
1410

@@ -20,5 +16,5 @@ future ideas
2016
- Automatically play through a song
2117
- Mac build
2218
- Send different note ranges to different game clients?
23-
-- Like if multiboxing multiple instruments
24-
-- May be against terms of service :(
19+
- Like if multiboxing multiple instruments
20+
- May be against terms of service :(

0 commit comments

Comments
 (0)