io.sound.sequence
Schema Diff
+13 -127
1
1
{
2
2
"id": "io.sound.sequence",
3
3
"defs": {
4
4
"main": {
5
5
"key": "any",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"events"
11
11
],
12
12
"properties": {
13
13
"id": {
14
-
"type": "string",
15
-
"maxLength": 36,
14
+
"type": "integer",
15
+
"maximum": 65535,
16
16
"description": "Identifies this sequence for playback by a \"sequence\" event."
17
17
},
18
18
"url": {
19
19
"type": "string",
20
20
"format": "uri",
21
21
"description": "Canonical location of this sequence. May be an at:// URI or an https:// URL to a JSON endpoint."
22
22
},
23
23
"name": {
24
24
"type": "string",
25
25
"maxLength": 1280,
26
26
"description": "Name of the sequence",
27
27
"maxGraphemes": 640
28
28
},
29
29
"tags": {
30
30
"type": "array",
31
31
"items": {
32
32
"type": "string",
33
33
"maxLength": 1280,
34
34
"maxGraphemes": 128
35
35
},
36
36
"description": "Array of strings used to tag the sequence."
37
37
},
38
38
"events": {
39
-
"type": "array",
40
-
"items": {
41
-
"ref": "#event",
42
-
"type": "ref"
43
-
},
44
-
"description": "Array of events"
39
+
"type": "bytes",
40
+
"maxLength": 524288,
41
+
"description": "Array of events serialised and binary encoded."
45
42
},
46
43
"credits": {
47
44
"type": "array",
48
45
"items": {
49
-
"ref": "#credit",
46
+
"ref": "io.sound.credit",
50
47
"type": "ref"
51
48
},
52
-
"maxLength": 100,
49
+
"maxLength": 60,
53
50
"description": "Attribution for composers, arrangers, etc"
54
51
},
52
+
"version": {
53
+
"type": "integer",
54
+
"description": "Version number for the byte array encoding of the events field."
55
+
},
55
56
"sequences": {
56
57
"type": "array",
57
58
"items": {
58
-
"ref": "#sequence",
59
+
"ref": "io.sound.sequence",
59
60
"type": "ref"
60
61
},
61
62
"description": "A collection of sequences that may be played back by \"sequence\" events."
62
63
},
63
64
"updatedAt": {
64
65
"type": "string",
65
66
"format": "datetime",
66
67
"description": "Timestamp of the time of last edit."
67
68
},
68
69
"bskyPostRef": {
69
70
"ref": "com.atproto.repo.strongRef",
70
71
"type": "ref",
71
72
"description": "Strong reference to a Bluesky post. Useful to keep track of comments off-platform."
72
73
},
73
74
"publishedAt": {
74
75
"type": "string",
75
76
"format": "datetime",
76
77
"description": "Timestamp of the time of publication."
77
78
}
78
79
}
79
80
},
80
-
"description": "A sequence of timed events."
81
-
},
82
-
"event": {
83
-
"type": "array",
84
-
"items": {
85
-
"type": "unknown"
86
-
},
87
-
"minLength": 2,
88
-
"description": "An event of the form `[beat, type, ...params]`, where `beat` is a 64-bit float and `type` a string. Beat values are arbitrary, and depend on the rate of playback of a sequence. A sequence playing back at a rate of 1 runs at 1 beat per second, and is following absolute time. Known specified types are \"chord\", \"clef\", \"key\", \"meter\", \"note\", \"param\", \"rate\", \"sequence\", \"start\", \"stop\" and \"text\". Additional parameters depend on `type`. Types are not limited to those specified and consumers are expected to ignore event types they do not support."
89
-
},
90
-
"credit": {
91
-
"type": "object",
92
-
"required": [
93
-
"name",
94
-
"role"
95
-
],
96
-
"properties": {
97
-
"url": {
98
-
"type": "string",
99
-
"format": "uri",
100
-
"description": "URL to credited person's profile or website"
101
-
},
102
-
"name": {
103
-
"type": "string",
104
-
"maxLength": 640,
105
-
"description": "Name of the credited person",
106
-
"maxGraphemes": 320
107
-
},
108
-
"role": {
109
-
"type": "string",
110
-
"maxLength": 64,
111
-
"description": "Role: composer, lyricist, arranger, etc",
112
-
"knownValues": [
113
-
"composer",
114
-
"arranger",
115
-
"lyricist",
116
-
"transcriber",
117
-
"orchestrator",
118
-
"adapter"
119
-
],
120
-
"maxGraphemes": 32
121
-
}
122
-
}
123
-
},
124
-
"sequence": {
125
-
"type": "object",
126
-
"required": [
127
-
"events"
128
-
],
129
-
"properties": {
130
-
"id": {
131
-
"type": "string",
132
-
"maxLength": 36,
133
-
"description": "Identifies this sequence for playback by a \"sequence\" event."
134
-
},
135
-
"url": {
136
-
"type": "string",
137
-
"format": "uri",
138
-
"description": "Canonical location of this sequence. May be an at:// URI or an https:// URL to a JSON endpoint."
139
-
},
140
-
"name": {
141
-
"type": "string",
142
-
"maxLength": 1280,
143
-
"description": "Name of the sequence",
144
-
"maxGraphemes": 640
145
-
},
146
-
"tags": {
147
-
"type": "array",
148
-
"items": {
149
-
"type": "string",
150
-
"maxLength": 1280,
151
-
"maxGraphemes": 128
152
-
},
153
-
"description": "Array of strings used to tag the sequence."
154
-
},
155
-
"events": {
156
-
"type": "array",
157
-
"items": {
158
-
"ref": "#event",
159
-
"type": "ref"
160
-
},
161
-
"description": "Array of events"
162
-
},
163
-
"credits": {
164
-
"type": "array",
165
-
"items": {
166
-
"ref": "#credit",
167
-
"type": "ref"
168
-
},
169
-
"maxLength": 100,
170
-
"description": "Attribution for composers, arrangers, etc"
171
-
},
172
-
"sequences": {
173
-
"type": "array",
174
-
"items": {
175
-
"ref": "#sequence",
176
-
"type": "ref"
177
-
},
178
-
"description": "A collection of sequences that may be played back by \"sequence\" events."
179
-
},
180
-
"updatedAt": {
181
-
"type": "string",
182
-
"format": "datetime",
183
-
"description": "Timestamp of the time of last edit."
184
-
},
185
-
"bskyPostRef": {
186
-
"ref": "com.atproto.repo.strongRef",
187
-
"type": "ref",
188
-
"description": "Strong reference to a Bluesky post. Useful to keep track of comments off-platform."
189
-
},
190
-
"publishedAt": {
191
-
"type": "string",
192
-
"format": "datetime",
193
-
"description": "Timestamp of the time of publication."
194
-
}
195
-
}
81
+
"description": "A sequence of timed events. Full documentation at https://github.com/soundio/sequence/."
196
82
}
197
83
},
198
84
"$type": "com.atproto.lexicon.schema",
199
85
"lexicon": 1
200
86
}