This repository has been archived by the owner on Jun 10, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
KEYBOARD_SHORTCUTS
69 lines (47 loc) · 2.57 KB
/
KEYBOARD_SHORTCUTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
In Boxyseq, MIDI notes are an outcome of various processes interacting.
What is usually being worked with is an 'event'.
Boxyseq represents all possible pitch and velocity combinations as 'the
grid'. The grid represents pitch horizontally and velocity vertically.
On the left are the lowest notes, while on the right are the highest. At
the top is the quietest velocity, and to the bottom are the loudest.
Within the grid, 'boundary' objects can be positioned. This is where
events come in. Events are always placed in a boundary so that they
never ever overlap other events (even if boundaries overlap other
boundaries).
How the event is placed in the boundary is determined by the 'placement'
type of the boundary. The 'freespace' algorithm searches for an area
where no other event has been placed. The search can travel from the
left or the right, from the top or the bottom. The search can also be
by-row, or by-column.
Placement neccessitates that events must have size. The size of an event
might mean it does not fit into the available space within a boundary.
When an event cannot be placed it is discarded.
You shouldn't be surprised to hear that the pitch and velocity of an
event are determined by where it is placed within the grid. You will
also note that there may be nothing preventing two events from having the
same x/pitch coordinate along the horizontal axis within a single
boundary.
Two notes of the same pitch cannot play together so in the simplest
case, the newest event becomes a block event and does not output MIDI.
In the more usual case, the width of the event is taken into account so
that the pitch could be anywhere along the x-axis of the event.
There is one final hurdle for the event to overcome before it can be
transformed into a play/note event and that is the key and scale of the
boundary. Does the position of the event fall into a pitch which is
allowed in the given key/scale? If not, it becomes a block event.
Boundary Manipulations
----------------------
Directions: move boundary by 1 unit in corresponding
direction.
r toggle placement search type between by-row and
by-column
v toggle vertical placement direction of events
between top-to-bottom and bottom-to-top.
t set vertical event placement to top-to-bottom.
b set vertical placement of events to bottom-to-top.
h toggle horizontal placement direction of events between
left-to-right and right-to-left.
x toggle between processing and ignoring events.
p set boundary to process and play events.
m mute/un-mute. when muted, all events are placed as block
events.